Re: Help: Как добавить элемент не меняя остальной структуры?
От: Other Sam Россия  
Дата: 09.09.05 02:47
Оценка:
Здравствуйте, lkv512, Вы писали:

L>на вход подается документ вида:

L>
L><a_1>
L>  <a_n>
L>    <id>42</id>
L>    <b_1>
L>      <b_n>..</b_n>
L>    </b_1>
L>  </a_n>
L></a_1>
L>

L>если значение ID=42 то, выходной документ должен быть такой
L>
L><a_1>
L>  <a_n>
L>    <id>42</id>
L>    <b_1>
L>      <ADDING>Hello, World!!!</ADDING>
L>      <b_n>..</b_n>
L>    </b_1>
L>  </a_n>
L></a_1>
L>

L>в случае других значений ID документ должен остаться неизменным.

L>Надеюсь на вашу помощь. Заранее спасибо всем откликнувшимся!

L>

L>

Вот так примерно
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="urn:schemas-microsoft-com:datatypes">

<xsl:output method="xml" encoding="windows-1251" indent="no"/>

<xsl:template match="/ | @* | node()">
    <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="a_n[id = '42']/b_1">
  <b_1>
    <ADDING>Hello, World!!!</ADDING>
    <xsl:copy>
        <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </b_1>
</xsl:template>

</xsl:stylesheet>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.