Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 56508)
+++ /trunk/Config.kmk	(revision 56509)
@@ -1838,8 +1838,8 @@
 ifeq ($(VBOX_XSLTPROC),)
  ifeq ($(KBUILD_HOST),win)
-   VBOX_XSLTPROC := $(wildcard $(KBUILD_DEVTOOLS)/$(KBUILD_HOST).$(KBUILD_HOST_ARCH)/libxslt/10128/bin/xsltproc.exe)
-   ifeq ($(VBOX_XSLTPROC),)
-    VBOX_XSLTPROC := $(KBUILD_DEVTOOLS)/win.x86/bin/xsltproc.exe
-   endif
+  VBOX_XSLTPROC := $(wildcard $(KBUILD_DEVTOOLS)/$(KBUILD_HOST).$(KBUILD_HOST_ARCH)/libxslt/10128/bin/xsltproc.exe)
+  ifeq ($(VBOX_XSLTPROC),)
+   VBOX_XSLTPROC := $(KBUILD_DEVTOOLS)/win.x86/bin/xsltproc.exe
+  endif
  else ifeq ($(KBUILD_HOST),os2)
   VBOX_XSLTPROC  := BEGINLIBPATH="$(KBUILD_DEVTOOLS_HST)/bin;$$BEGINLIBPATH" $(KBUILD_DEVTOOLS_HST)/bin/xsltproc.exe
@@ -1850,4 +1850,15 @@
  endif
 endif
+
+# libxml XML linter.
+ifeq ($(VBOX_XMLLINT),)
+ ifeq ($(KBUILD_HOST),win)
+   VBOX_XMLLINT := $(wildcard $(KBUILD_DEVTOOLS)/$(KBUILD_HOST).$(KBUILD_HOST_ARCH)/libxslt/10128/bin/xmllint.exe)
+ endif
+ ifeq ($(VBOX_XMLLINT),)
+  VBOX_XMLLINT := $(VBOX_HAVE_XMLLINT)
+ endif
+endif
+VBOX_HAVE_XMLLINT := $(if $(VBOX_XMLLINT),1,)
 
 # bin2c (convert binary files into C arrays)
@@ -2524,6 +2535,7 @@
 	$(QUIET)$(APPEND) '$@' 'VBOX_MINGW64_USER_LABEL_PREFIX           ?= $(shell echo "__USER_LABEL_PREFIX__" | $(VBOX_PATH_PREFIX_MINGW64)g++ -m64 -E -xc++ - | $(SED) -e "/^$(HASH)/d")'
 endif
-	$(QUIET)$(APPEND) '$@' 'VBOX_HAVE_FLEX  ?= $(if $(which flex),1,)'
-	$(QUIET)$(APPEND) '$@' 'VBOX_HAVE_BISON ?= $(if $(which bison),1,)'
+	$(QUIET)$(APPEND) '$@' 'VBOX_HAVE_FLEX    ?= $(if $(which flex),1,)'
+	$(QUIET)$(APPEND) '$@' 'VBOX_HAVE_BISON   ?= $(if $(which bison),1,)'
+	$(QUIET)$(APPEND) '$@' 'VBOX_HAVE_XMLLINT ?= $(which xmllint)'
 	$(QUIET)$(ECHO) '========= START OF $@ ========='
 	$(QUIET)$(CAT) $@
Index: /trunk/doc/manual/Makefile.kmk
===================================================================
--- /trunk/doc/manual/Makefile.kmk	(revision 56508)
+++ /trunk/doc/manual/Makefile.kmk	(revision 56509)
@@ -665,5 +665,5 @@
 $$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
 		$$(MAKEFILE_CURRENT)
-	$$(QUIET)xmllint --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --xinclude --noout $$(filter %.xml,$$^)
+	$$(QUIET)$(VBOX_XMLLINT) --dtdvalid $$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --xinclude --noout $$(filter %.xml,$$^)
 endef
 
@@ -716,5 +716,5 @@
 validatesdkref: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
 		$(MAKEFILE_CURRENT)
-	$(QUIET)xmllint --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --xinclude --noout $(filter %.xml,$^)
+	$(QUIET)$(VBOX_XMLLINT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --xinclude --noout $(filter %.xml,$^)
 
 
@@ -932,5 +932,5 @@
 validateman: $(addprefix $(VBOX_PATH_MANUAL_SRC)/en_US/,$(VBOX_MANUAL_XML_REFENTRY_FILES)) \
 		$(MAKEFILE_CURRENT)
-	$(QUIET)xmllint --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --noout $(filter %.xml,$^)
+	$(QUIET)$(VBOX_XMLLINT) --dtdvalid $(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd --noout $(filter %.xml,$^)
 
 
