2016-07-13 14 views
1

でのparamを渡すと、私の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> 

これら二つのparamsの値はApacheのキャメルを経由して渡されます。

質問はxmlns:rsa="com/rsa/eosago/schema-"でのparam <xsl:param name="RSA-schema-version"/> を渡し、CONCATする方法ですか?

<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

を試してみては何をやろうが、実行時に動的に名前空間を生成することであるようです。 たとえば、thisまたはthisの回答があります。 そして、試してみてください。

生成します
<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

ありがとう、それは私のために働くdoesnt。テキストはそのまま現れます。 – bearbeard

+0

パラメータの値を明示的に設定すると、 123 のように動作しますか? – Kennet

+0

残念なことに(( – bearbeard