Один из шаблонов по умолчанию в xslt:
<xsl:template match="*|/">
<xsl:apply-templates/>
</xsl:template>
Почему шаблон соответствия содержит выражение для корневого узла "/"? Звездочка "*" не захватывает уже все узлы в документе?
Я пытался пропустить это, и не было никакой разницы. Подписан на xslt
<xsl:stylesheet
version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xhtml" indent="yes"/>
<xsl:template match="*">
<xsl:value-of select="./name()"/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
и следующий xml
<?xml version="1.0" encoding="UTF-8"?>
<a>
<b>
</b>
</a>
производит вывод:
<?xml version="1.0" encoding="UTF-8"?>a
b
Итак, корневой узел a захвачен.