Валерьян
Новичок
есть такой XML
требуется отсортировать по всем item/@datetime, где
если
, тогда
я думаю, ясная задача, да?
Мне предложили решение использовать временное дерево:
сделал, атрибут добавляется, создается новый набор
<item></item> с нужными значениями атрибута и пытаюсь отсортировать
теперь вверху страницы, над форматированным выводом, выводится неформатированная куча всего содержимого
и я чувствую, что я много чего не понимаю, помогите ,а?
Код:
<item></item>
<item></item>
<item>
<modifications>
<item></item>
<item></item>
</modifications>
</item>
<item></item>
если
Код:
<xsl:when test="count(modifications/item) > 0">
Код:
<xsl:value-of select="modifications/item[last()]/datetime"/>
Мне предложили решение использовать временное дерево:
Код:
<xsl:variable name="tmp">
<xsl:apply-templates select="item"/>
<xsl:variable>
<xsl:for-each select="msxsl:node-set($tmp)">
<xsl:sort />
</xsl:for-each>
<xsl:template match="item">
<item>
<xsl:attribute name="datetime">
<xsl:choose>.определение значения datetime..</xsl:choose>
</xsl:attribute>
<xsl:copy-of select="*"/>
</item>
</xsl:template>
<item></item> с нужными значениями атрибута и пытаюсь отсортировать
Код:
<xsl:for-each select="exsl:node-set($item_tmp)/item">
<xsl:sort select = "@new_datetime" order="descending"/>
<xsl:apply-templates select="item" />
</xsl:for-each >
Код:
<xsl:copy-of select="*"/>