XSLT для сортировки элементов определенных тегов XML на основе атрибута элементов

Вы можете попробовать распечатать method.__doc__ для документации по этому конкретному методу. Если вам просто интересно, вы можете проверить свой PYTHONPATH, чтобы узнать, откуда импортированы ваши модули, и посмотреть, не найден ли файл .py из этого модуля

-1
задан Kirill Polishchuk 16 January 2019 в 04:01
поделиться

2 ответа

Это должно дать результаты, которые вы ищете. Надеюсь, это поможет.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" encoding="utf-8"/>

  <xsl:template match="particular-tag">
    <particular-tag>
      <xsl:apply-templates select="element">
        <xsl:sort select="@attrib"/>
      </xsl:apply-templates>
    </particular-tag>
  </xsl:template>

  <xsl:template match="@*|node()">
    <xsl:choose>
      <xsl:when test="node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:when>
      <xsl:otherwise>
        <xsl:copy>
          <xsl:apply-templates select="@*"/>
        </xsl:copy>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

</xsl:stylesheet>
0
ответ дан Mister Lucky 16 January 2019 в 04:01
поделиться

Этот XSLT даст желаемый результат:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="particular-tag">
    <xsl:copy>
      <xsl:apply-templates select="*">
        <xsl:sort select="@attrib"/>
      </xsl:apply-templates>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
0
ответ дан Kirill Polishchuk 16 January 2019 в 04:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: