Добавьте атрибут со статическим значением с помощью xslt - PullRequest
5 голосов
/ 17 августа 2011

Мне нужно добавить атрибут со статическим значением ко всем узлам определенного типа в существующем XML-файле, используя xslt.Примерно так:

<root>
  <somenode att1="something" />
  <mynode id="1" att1="value1" att2="value2"/>
  <mynode id="2" att1="value3" att2="value4"/>
</root>

Мне нужно, чтобы это было так:

<root>
  <somenode att1="something" />
  <mynode id="1" att1="value1" att2="value2" newatt="static string"/>
  <mynode id="2" att1="value3" att2="value4" newatt="static string"/>
</root>

Я посмотрел на этот ответ , но не смогиспользуйте его для этого случая, если это можно использовать для того, что я пытаюсь.

Я никогда раньше не использовал xslt, мне действительно нужна помощь.

Спасибо.

1 Ответ

8 голосов
/ 17 августа 2011
<xsl:template match="mynode">
 <xsl:copy>
  <xsl:attribute name="newatt">static string</xsl:attribute>
  <xsl:apply-templates select="node()|@*"/>
 </xsl:copy>
</xsl:template>

(или что-то в этом роде), вставленное в XSLT, который выполняет преобразование идентичности (см. http://www.dpawson.co.uk/xsl/sect2/identity.html), должно помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...