我通過下面的XML作爲PARAM到下面我的XSL(通過Java)節點設置。XML作爲參數去XSL過去了,無法轉換爲使用DataPower的
<roles><role>USA</role><role>GB</role><role>EU</role></roles>
我不能讓它來評估,但如果我定義一個變量中完全相同的xml字符串,它工作正常。
我正在使用Datapower。
這裏是我的XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:exslt="http://exslt.org/common"
xmlns:dyn="http://exslt.org/dynamic"
>
<xsl:param name="roles"/>
<xsl:variable name="roles2"><roles><role>USA</role><role>GB</role><role>EU</role></roles></xsl:variable>
<xsl:template match="/">
<xsl:if test="exslt:node-set($roles)/roles/role = 'GB'">
YES 1
</xsl:if>
<xsl:if test="exslt:node-set($roles2)/roles/role = 'GB'">
YES 2
</xsl:if>
<xsl:if test="$roles2/roles/role = 'GB'">
YES 3
</xsl:if>
roles = <xsl:value-of select="$roles" />
roles2 = <xsl:value-of select="$roles2" />
</xsl:template>
當我運行它,我得到以下輸出:
YES 2 YES 3 roles = <roles><role>USA</role><role>GB</role><role>EU</role></roles> roles2 = USAGBEU
有人可以幫助我明白髮生了什麼,以及如何修復它是1出現?
謝謝。
轉換的調用者必須解析(加載)字符串併產生一個XML文檔* object *。這是必須作爲'roles'參數傳遞的對象。 –
我正在與@ user1810292解決此問題。所以我假設它不可能做到這一點,並沒有解決方法?感謝您的回覆 – topcat3