我正在嘗試使用XSLT編寫一個循環,以便使用相同的ID自動分組所有項目,但以不區分大小寫的方式。不幸的是,我試圖解析的數據是客戶端驅動的,所以我無法在加載之前對其進行更改。 不管這裏是一個XML結構...xslt包裝重複行不區分大小寫內容爲每個
<Document>
<Row>
<Cell>ID</Cell>
</Row>
<Row>
<Cell>hi</Cell>
</Row>
<Row>
<Cell>Hi</Cell>
</Row>
<Row>
<Cell>Hello</Cell>
</Row>
<Row>
<Cell>Hello</Cell>
</Row>
<Row>
<Cell>Hola</Cell>
</Row>
</Document>
這是我目前使用XSLT ...
<xsl:template match="Document">
<NewDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:for-each select="//Row[position() > 1]/Cell[1][not(.=preceding::Row/Cell[1])]">
<xsl:variable name="currentOrderID" select="." />
<xsl:variable name="currentOrderGroup" select="//Row[Cell[1] = $currentOrderID]" />
<MainID>
<xsl:value-of select="$currentOrderGroup[1]/Cell[1]"/>
</MainID>
<IDs>
<xsl:for-each select="$currentOrderGroup">
<id>
<xsl:value-of select="Cell[1]"/>
</id>
</xsl:for-each>
</IDs>
</xsl:for-each>
</NewDocument>
</xsl:template>
這只是結束了事情,預計將在區分大小寫的方式.. 我一直試圖在那裏使用一個翻譯,以使所有內容都大寫,但是我似乎無法得到正確的語法。
我想在這裏實現的結果是這樣的:
<NewDocument>
<MainID>hi</MainID>
<IDs>
<id>hi</id>
<id>Hi</id>
</IDs>
<MainID>Hello</MainID>
<IDs>
<id>Hello</id>
<id>Hello</id>
</IDs>
<MainID>Hola</MainID>
<IDs>
<id>Hola</id>
</IDs>
</NewDocument>
似乎無法找到任何專門針對我需要什麼。 謝謝!
好像將是你的朋友在這裏。 –
2012-04-17 21:14:51