2016-07-13 50 views
1

這裏路過一個參數是我的XSL:XSL。在串

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:param name="RSA-InsurerID"/> 
<xsl:param name="RSA-schema-version"/> 

<xsl:template match="/"> 
    <rsa:DriverStatusRequest xmlns:rsa="com/rsa/eosago/schema-" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     <InsurerID> 
      <xsl:value-of select="$RSA-InsurerID" 
          xmlns:ns2="com/rsa/eosago/schema-"/> 
     </InsurerID> 
     <IDCheckDriver> 
      <xsl:value-of select="ns2:DriverResponse/IDCheckDriver" 
          xmlns:ns2="com/rsa/eosago/schema-"/> 
     </IDCheckDriver> 
    </rsa:DriverStatusRequest> 
</xsl:template> 

這兩個參數值通過Apache的駱駝傳遞。

的問題是如何傳遞和CONCAT帕拉姆 <xsl:param name="RSA-schema-version"/>xmlns:rsa="com/rsa/eosago/schema-"

我得到了我的<xsl:param name="RSA-InsurerID"/><xsl:value-of select="$RSA-InsurerID",但我不知道如何將它傳遞給值文本。

我希望這樣的輸出:

<?xml version="1.0" encoding="UTF-8"?> 
<rsa:DriverStatusRequest xmlns:rsa="com/rsa/eosago/schema-1.2" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<InsurerID>18800000</InsurerID> 
<IDCheckDriver/> 
</rsa:DriverStatusRequest> 

非常感謝!

+1

您可以編輯您的問題以顯示您對特定參數集實際預期的輸出嗎?謝謝! –

+0

@TimC編輯。謝謝。 – bearbeard

回答

0

好像你試圖做的是在運行時動態生成一個命名空間。 例如看看thisthis的答案。 並嘗試:

<xsl:template match="/"> 
    <xsl:element name="rsa:DriverStatusRequest" namespace="com/rsa/eosago/schema-{$RSA-schema-version}" > 
     <InsurerID> 
      <xsl:value-of select="$RSA-InsurerID" /> 
     </InsurerID> 
    </xsl:element> 
</xsl:template> 

這將產生:

<rsa:DriverStatusRequest xmlns:rsa="com/rsa/eosago/schema-1.2"> 
    <InsurerID>18800000</InsurerID> 
</rsa:DriverStatusRequest> 

但我相信會有更多的戰利品的問題上來。

+0

使用''解決了我的問題。非常感謝! – bearbeard

0

嘗試

<InsurerID> 
      <xsl:value-of select="$RSA-InsurerID" 
          xmlns:ns2="com/rsa/eosago/schema-{$RSA-schema-version}"/> 
+0

謝謝,但它不適合我。文字揭示了它。 – bearbeard

+0

如果你明確地爲參數設置了一個值,例如: 123 它會工作嗎? – Kennet

+0

不幸的是(( – bearbeard