Мне нужно, чтобы моя таблица стилей XSLT сортировала дочерние узлы моего XML-файла, но только определенные. Вот пример того, на что похож XML:
<?xml version="1.0"?>
<xmltop>
<child1 num="1">
<data>12345</data>
</child1>
<child1 num="2">
<data>12345</data>
</child1>
<child2 num="3">
<data>12345</data>
</child2>
<child2 num="2">
<data>12345</data>
</child2>
<child2 num="1">
<data>12345</data>
</child2>
</xmltop>
И это XSL-файл, который я использую:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/xmltop">
<xsl:copy>
<xsl:apply-templates>
<xsl:sort select="@num"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="child2">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
Это создает проблемы для меня, потому что узлы лишены своих тегов, а их содержимое остается, что делает мой XML недействительным. Я не специалист в XSL, так что извините, если это глупый вопрос.
<child2>
отсортированы правильно.
Спасибо.