0
在轉換文檔時,我需要在'地圖'中查找某些節點內容,然後寫入這些值。xslt 1.0根據地圖重寫節點的值
我在轉換中嵌入了我的'映射'。
<xsl:variable name="inlinedmap">
<kat id="stuff">value</kat>
<!-- ... -->
</xsl:variable>
<xsl:variable name="map" select="document('')/xsl:stylesheet/xsl:variable[@name='inlinedmap']" />
<xsl:template match="/">
<xsl:for-each select="/*/foo">
<!-- 'bar' contents should equal to contents of 'kat' -->
<xsl:variable name="g" select="$map/key[.=bar]"/>
<xsl:choose>
<xsl:when test="$g != ''">
<xsl:value-of select="$g/@id"/>
</xsl:when>
<xsl:otherwise>
ERROR
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
我總是收到錯誤值。 我無法將地圖值放入屬性中,因爲它們包含會被轉義的字母。
我該如何讓它工作?
試了一下,什麼都沒有改變 – 2012-01-13 16:49:40
@ŁukaszGruner:這是知識性「看着窗外,它仍在下雨」。您尚未提供源XML文檔。你也沒有提供完整的轉換。更不用說通緝的結果了......如果人們無法複製你的問題,那可能只是你想象中的產物!請編輯並改進您的問題。另外,請多加尊重少數勇敢的人,他們可能會敢於猜測你的意思。 – 2012-01-14 04:11:44
正常工作,主要問題(答案中解釋的東西除外)是我的地圖編碼 – 2012-01-18 11:14:54