1

XSLT 変換を使用して、XML ファイル内のドキュメント要素の属性の値を変更しようとしています。例えば、

<?xml version="1.0" encoding="UTF-8"?>
<ns1:xmlgMsc xmlns:ns1="org.example" formatVersion="1.0" name="BlaBlah" pathName="/system/abc.xml" writtenBy="Me me me">
   <ns1:blockRoot someAtt="0" anotherAtt="1" />
</ns1:xmlgMsc>

ここで、"pathName" を別のパス ("/local/xyz.xml" など) に変更したいと思います。XSLTでこれを行うための構文を教えてください。または正しい方向に向けてください。

前もって感謝します!

4

1 に答える 1

3

2 つのテンプレートで構成されるスタイルシートが必要になります。ID テンプレート (調べてください) とこれ:

<xsl:template match="/*/@pathName">
  <xsl:attribute name="{name()}">
    <xsl:value-of select="'/local/xyz.xml'" />
  </xsl:attribute>
</xsl:template>

<xsl:param>新しい値をハードコーディングしたくない場合は、を使用して新しいパスを動的に渡すことができます。

軽微な修正: XML ドキュメントのルート ノード( /) には属性がありません。ドキュメント要素( ) のこと/ns1:xmlgMscで、階層の 1 レベル下にあります。

于 2013-11-04T15:36:28.437 に答える