2011-04-30 2 views
2

Я пытаюсь сортировать vcproj из Microsoft Visual Studio, чтобы diff обнаружил что-то значимое после того, как, например, удаление файла из проекта. Помимо сортировки, я хочу сохранить все неповрежденным, включая пробелы. Вход выглядитXSLT: сохранение пробелов при копировании атрибутов

пространство<File

spacespaceRelativePath="filename"

spacespace>

...

фрагмент XSLT ниже можно добавить пробелы вокруг элементов, Но я могу' т выяснить, как иметь дело с теми, вокруг атрибутов, так что мой вывод выглядит

пространство<File RelativePath="filename">

XSLT Я использую для процессора msxsl 4.0:

<xsl:for-each select="File">

<xsl:sort select="@RelativePath"/>

<xsl:value-of select="preceding-sibling::text()[1]"/>

<xsl:copy>

<xsl:copy/>

</xsl:for-each>

ответ

1

Этих пространства всегда незначительны в XML, и я считаю, что нет никакой возможности контролировать это поведение в целом для любого Библиотека XML/XSLT.

1

XSLT работает над древовидным представлением входного XML. Многие из нерелевантных деталей исходного XML были отброшены в этом дереве - например, порядок атрибутов, незначительные пробелы между атрибутами или различие между «и» как разделитель атрибутов. Я не вижу никакой мыслимой причины для желая написать программу, которая рассматривает эти различия как значимые.

+0

Я бы сказал, что даже анализатор ** XML ** не заботится об упорядочивании атрибутов или пробелов между ними в соответствии со спецификациями. –

Смежные вопросы