Почему возвращаются lastupdate и path?
Поскольку встроенные правила , именно эти два:
<xsl:template match="*|/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="text()|@*">
<xsl:value-of select="."/>
</xsl:template>
Пусто apply-templates
- это то же самое, что и select="node()"
.Затем элементы lastupdate
и path
сопоставляются по встроенному правилу для элементов (просто применяют шаблоны к дочерним узлам), а их дочерние текстовые узлы сопоставляются по встроенному правилу для текстовых узлов (значение выходной строки).
... и как я могу это остановить?
Перезаписать одно из встроенных правил, например:
<xsl:template match="text()"/>
То есть нет вывода текстового узла,Или используйте подход стиля толчка как
<xsl:template match="categories">
<html>
<body>
<xsl:apply-templates select="category"/>
</body>
</html>
</xsl:template>