0
我需要查找一組價格(總數)的最後一次出現。 這些價格將始終有一個小數點(。)選擇一組節點的最後一次出現XSLT
它們的文本值存儲在節點中,並且它們被作爲發現的最後一個出現的3個節點都包含「。」。。
例XML:
<?xml version="1.0" encoding="UTF-16"?>
<?xml-stylesheet type="text/xsl" href="XSLT.xsl"?>
<document xmlns="http://www.scansoft.com/omnipage/xml/ssdoc-schema3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<part1>
<prices>
<wd>3.1</wd>
<wd>56.4</wd>
<wd>134.4</wd>
</prices>
<prices2>
<wd>1,330.2</wd>
<wd>23.14</wd>
<wd>124.7</wd>
</prices2>
</part1>
</document>
我在發現最後一組是如下的嘗試。然而,我無法讓它編譯,而是單獨工作。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ss="http://www.scansoft.com/omnipage/xml/ssdoc-schema3.xsd">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:variable name="LastGroup" select="//ss:wd[(contains(.,'.') and (following::ss:wd[contains(.,'.')]) and (following::ss:wd[contains(.,'.')][2])][last()]"/>
<xsl:for-each select="$LastGroup">
<xsl:value-of select="."/>
<xsl:value-of select="following::ss:wd"/>
<xsl:value-of select="following::ss:wd[2]"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我使用XSLT 1.0