XML сортировка/форматирование инструмента

Конструкция ПЕРЕКЛЮЧАТЕЛЯ была первоначально предназначена для целочисленных данных; это полно решимости, должен был использовать аргумент непосредственно в качестве индекса в "таблицу отправки", таблицу указателей. По сути, был бы единственный тест, затем запустился бы непосредственно к соответствующим нормам, а не серии тестов.

трудность здесь состоит в том, что это - использование, был обобщен для "представления в виде строки" типов, которые, очевидно, не могут использоваться в качестве индекса, и все преимущество конструкции ПЕРЕКЛЮЧАТЕЛЯ потеряно.

, Если скорость является Вашей намеченной целью, проблемой НЕ является Ваш код, но Ваша структура данных. Если пространство "имени" так просто, как Вы показываете его, лучше для кодирования его в целочисленное значение (когда данные создаются, например), и используйте это целое число в "много раз в медленной части приложения".

15
задан Andrey Adamovich 14 September 2009 в 21:31
поделиться

1 ответ

Я нашел это сообщение: http://www.biglist.com/lists/xsl-list/archives/200106/msg01225.html , в котором используется следующий XSLT для отступа XML, а также для сортировки атрибутов:

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

  <xsl:output method="xml" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="*">
    <xsl:copy>
      <!-- Sort the attributes by name. -->
      <xsl:for-each select="@*">
        <xsl:sort select="name( . )"/>
        <xsl:copy/>
      </xsl:for-each>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="text()|comment()|processing-instruction()">
    <xsl:copy/>
  </xsl:template>

</xsl:stylesheet>

Я еще не пробовал, но, скорее всего, я буду придерживаться XSLT, чтобы выполнять форматирование за меня.

3
ответ дан 1 December 2019 в 02:20
поделиться
Другие вопросы по тегам:

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