-1
У меня есть документ XML, в котором я пытаюсь выбрать узлы с различными значениями с удалением ведущих и конечных пробелов.Xpath, чтобы получить узлы с различными значениями (удаление конечных и ведущих пробелов)
Я использую следующие Xpath
и она работает:
ROW[COUNTRY[not(text() = following::ROW/COUNTRY[text()])]]
Но когда я использую normalize-space(text())
в выше xpath
то возвращаемые результаты не являются правильными.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<ROW>
<COUNTRY>
<![CDATA[USA]]>
</COUNTRY>
</ROW>
<ROW>
<COUNTRY>
<![CDATA[ USA]]>
</COUNTRY>
</ROW>
</ROOT>
XSLT:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" indent="yes" />
<xsl:template match="@*|node()">
<xsl:apply-templates select="@*|node()" />
</xsl:template>
<xsl:template match="ROW[COUNTRY[not(normalize-space(text()) = following::ROW/COUNTRY[normalize-space(text())])]]">
<tr>
<xsl:value-of select="normalize-space(./COUNTRY)"></xsl:value-of>
</tr>
</xsl:template>
</xsl:transform>
Вы должны включить XML и XSL, используемых в самом тексте этого вопрос, а не ссылку на него. Это сделает этот вопрос и ответ более ценным в будущем, если ссылки перестанут функционировать. –