Если ваши элементы xml находятся в пространстве имен, даже если это пространство имен по умолчанию для документа, вы должны использовать префиксы пространства имен в любых выражениях XPath и правилах сопоставления шаблонов.Это имя URI, а не префикс, который имеет значение.Обратите внимание, что атрибуты не будут находиться в пространстве имен по умолчанию, они имеют пространство имен только в том случае, если их имя имеет префикс.
Кроме того, выражение XPath, содержащее //
, обычно менее эффективно, чем выражение, которое этого не делает.
<xsl:stylesheet version="1.0"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- and elsewhere in your stylesheet -->
<xsl:value-of select="document(content)/h:html/h:head/h:title"/>