次のような XML があります。
<ExtensionObject>
<Value xmlns="">
<Key>key01</Key>
<StringValue>somewords</StringValue>
</Value>
<Value xmlns="">
<Key>key01</Key>
<NumberValue>12345</NumberValue>
</Value>
...........hundreds more Values..............
</ExtensionObject>
私はかなり楽観的に次のように XSLT を書きました。
<xsl:template match="/ExtensionObject">
<VResult>
<xsl:for-each select="Value">
<xsl:variable name="fld">
<Value><xsl:value-of select="Key"/></Value>
</xsl:variable>
<Result field="$fld">
<Value>
<xsl:choose>
<xsl:when test="NumberValue">
<xsl:value-of select="NumberValue"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="StringValue"/>
</xsl:otherwise>
</xsl:choose>
</Value>
</Result>
</xsl:for-each>
</VResult>
</xsl:template>
そして、これを得ることが期待されています:
<VResult>
<Result field="key01"><Value>somewords</Value></Result>
<Result field="key02"><Value>12345</Value></Result>
...........hundreds more Values..............
</VResult>
代わりに私は得ました:
<VResult>
<Result field="$fld"><Value>somewords</Value></Result>
<Result field="$fld"><Value>12345</Value></Result>
...........hundreds more Values..............
</VResult>
キー値でフィールド名を挿入する方法を知っている人はいますか?