要素を使用して、<xsl:attribute>
要素 (内部) に直接適用できます<xsl:copy>
。
<xsl:template match="Component">
<xsl:copy>
<xsl:attribute name="Win64">yes</xsl:attribute>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
更新: Xml コンテンツをコピーする XSLT に埋め込まれている場合、次のようになります。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Component">
<xsl:copy>
<xsl:attribute name="Win64">yes</xsl:attribute>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
更新 2:これは、要素にのみ追加Win64="yes"
することを前提としています。<Component>
そうでない場合は、match
追加の属性を挿入するテンプレートの属性の XPath 式を調整する必要があります。
更新 3:整形式の入力および出力ドキュメント:
これを入力ドキュメントとして想定します。
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<Component Id="cmp25217AE65B163B199EDDA7F29198730A" Guid="{DEB29383-8BF1-4FD0-830B-DF8639F4069A}"/>
<Component Id="cmp93E1B1FFA5A62A43251E23BD65FBAA66" Guid="{76E8B8CE-835D-498E-9330-CE940C9510BF}"/>
<Component Id="cmp3D7B898C57056B0E87C3A964112BB9D6" Guid="{3BA9A892-C44F-4B2E-B0B9-B732120D35DB}"/>
</xml>
次に、前述の XSLT の出力は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<xml>
<Component Win64="yes" Id="cmp25217AE65B163B199EDDA7F29198730A" Guid="{DEB29383-8BF1-4FD0-830B-DF8639F4069A}" />
<Component Win64="yes" Id="cmp93E1B1FFA5A62A43251E23BD65FBAA66" Guid="{76E8B8CE-835D-498E-9330-CE940C9510BF}" />
<Component Win64="yes" Id="cmp3D7B898C57056B0E87C3A964112BB9D6" Guid="{3BA9A892-C44F-4B2E-B0B9-B732120D35DB}" />
</xml>