我有一些XML重複的元素,例如目的,它看起來像這樣:檢查在輸出
<root>
<field1>test</field1>
<f2>t2</f2>
<f2>t3</f2>
</root>
我想用XSLT轉換它,但我想抑制第二F2元素在輸出中 - 我如何檢查模板內部,以查看源代碼中第二個f2元素的處理過程中f2元素是否已經存在於輸出中?我的XSLT看起來是這樣的,目前:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" omit-xml-declaration="yes" standalone="no" />
<xsl:template match="/">
<xsl:for-each select="./root">
<output>
<xsl:apply-templates />
</output>
</xsl:for-each>
</xsl:template>
<xsl:template match="*" >
<xsl:element name="{name(.)}">
<xsl:value-of select="." />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
我需要做某種圍繞XSL檢查:元素在模板我想,但我不知道如何來詢問輸出文件,看是否該元素已經存在。
編輯:忘了pre標籤,代碼應該現在可見!
你也可以簡單地用這個謂詞做一個模板,我會想。 – 2008-10-01 16:40:32
這是完美的。是的,我只需要在同一父母內部抑制重複,我想明確地允許其他父母中的相同元素 - 這很好用,並且比使用按鍵和Muenchen方法下去的路線簡單得多! – 2008-10-02 09:09:42