1
我有一些XSLT,我沒有寫,但我必須保持它。在某些時候,它使用generate-id()來創建一個空的div,然後由腳本繼續操作。問題在於div是在另一個div內的(我認爲這有點無意義,但無論如何都可以接受),並且兩個都被賦予相同的ID!我用Xalan嘗試過,然後再用JRE變壓器得到相同的結果。然後,我嘗試使用Eclipse/Xalan的XSLT調試器,當我跨過的東西,這一切工作正常...爲什麼generate-id()函數返回兩次相同的id?
的XSLT看起來是這樣的:
<xsl:template match="listed">
<xsl:variable name="showwhat">
<xsl:call-template name="IdentifyAudience"/>
</xsl:variable>
<xsl:if test="string-length($showwhat) > 0">
<div>
<xsl:attribute name="id">
<xsl:value-of select="generate-id()"/>
</xsl:attribute>
<xsl:call-template name="Blah"/>
<xsl:apply-templates/>
</div>
</xsl:if>
</xsl:template>
和XML片段是像這個:
<listed id='ID39AF705AE17A000F337B000A' mode='html'>
<ul>
<li>Blah blah</li>
</ul>
</listed>
<listed id='ID39AF715892AE000F337B002B' mode='html'>
<ul>
<li>Blech blech.</li>
</ul>
</listed>
我很欣賞這有點複雜 - 任何線索?請?
你的說法,你得到不正確的結果不能被reproed除非你提供一個完整的XML文檔(儘可能小)和一個完整的XSLT轉換(儘可能小)。請提供這些,或者你的問題不是真的可以回答的問題。 – 2010-12-03 17:23:05
您發佈的XML片段是什麼?如果是這樣的結果,它並沒有用那個XSLT代碼生成,因爲那個用'id`生成`div`,但結果中沒有`div'。 – khachik 2010-12-03 17:27:39