1

xml があり、xslt 2.0 を使用してそれを変換し、別の出力 xml を提供する必要があります。出力 xml には、出力 xml 文字列内に XSLT 変数の値が含まれている必要があります。しかし、XSLT 変数の値は取得されていません。

ヘルプは大歓迎です。前もって感謝します。

入力 xml:`

`<additionalParams> 
    <qryParam name = "rank" value = "300"/>
    <qryParam name = "id" value = "id1"/>
    <qryParam name = "max" value= "max1"/>
</additionalParams> 

期待される出力 xml:

<additionalParameter name="rank" type="text">
   <value>"300"</value>
</additionalParameter>
<additionalParameter name="id" type="text">
   <value>"id1"</value>
</additionalParameter>
<additionalParameter name="max" type="text">
   <value>"max1"</value>
</additionalParameter>

現在の XSLT:

<xsl:for-each select="./additionalParams/qryParam">
    <xsl:variable name = "elmtName" select="@name"/>
    <xsl:variable name = "elmtValue" xsl:value-of select="@value"/>
    <additionalParameter name="$elmtName" type="text">
       <value>"$elmtValue"</value>
    </additionalParameter>
</xsl:for-each>

変換後の現在の結果の xml -数値を取得していません。

<otherQueryParameters>
    <additionalParameter name="$elmtName" type="text">
    <value>"$elmtValue"</value>
    </additionalParameter>
    <additionalParameter name="$elmtName" type="text">
        <value>"$elmtValue"</value>
    </additionalParameter>
    <additionalParameter name="$elmtName" type="text">
        <value>"$elmtValue"</value>
    </additionalParameter>
</otherQueryParameters>
4

2 に答える 2

0

このxsltを試してください:

<xsl:for-each select="./additionalParams/qryParam">
    <xsl:variable name = "elmtName" select="@name"/>
    <xsl:variable name = "elmtValue" select="@value"/>
    <additionalParameter name="{$elmtName}" type="text">
       <value><xsl:value-of select="$elmtValue"/></value>
    </additionalParameter>
</xsl:for-each>
于 2013-08-09T06:21:29.337 に答える