0

ここで初めて質問しましたが、私の問題に対する答えが見つからずに探し回っていたので、試してみると思いました。

必要な出力は以下の例とまったく同じでなければなりませんが、通貨の値も取得する必要があります。

<DBField name='Currency' value='USD'/>

私はこれを試しましたが成功しませんでした:

<DBField name='Currency' value='<xsl:value-of select="Currency"/>'/>

これを行う方法についてアイデアを持っている人はいますか?

4

1 に答える 1

1

これには 2 つの方法があります。

xsl:attributeコマンドを利用できます。

<DBField name='Currency'>
    <xsl:attribute name="value">
       <xsl:value-of select="Currency"/>
    </xsl:attribute>
</DBField>

または、「属性値テンプレート」を使用できます

<DBField name='Currency' value='{Currency}'/>

中括弧は、文字どおりの出力ではなく、評価される式であることを示します。

一般に、属性値テンプレートを使用する方がはるかにきれいに記述できるため、推奨されます。特定の条件でのみ表示される属性が必要な場合 (たとえば、属性をxsl:if内に配置できる場合)、または XML 入力に基づいて名前を付けた動的属性が必要な場合は、 xsl:attribute を使用します。

于 2013-05-08T13:08:01.113 に答える