[Home] [By Thread] [By Date] [Recent Entries]

  • From: Garvin Riensche <g.riensche@g...>
  • To: xml-dev@l...
  • Date: Thu, 15 Mar 2007 12:16:19 +0100

Hello,

I am wondering if it is possible to change a subtree of an XML tree 
whose structure is not always the same. For example, the input XML can 
look like

<a>
   <b>
     <c id="1"/>
   </b>
</a>

I want to add some more "<c>" tags as children of the "<b>" tag to get 
something like this:

<a>
   <b>
     <c id="1"/>
     <c id="2"/>
     ...
   </b>
</a>

If the input would always look like this I would write a stylesheet that 
looks like the following:

<xsl:stylesheet match="/">
<a>
   <b>
     <xsl:copy-of="/a/b/c"/>
     <c id="2"/>
     <c id="3"/>
   </b>
</a>

But how can I add further siblings to "<c>" if the preceding nodes 
differ and if there are more tags below the closing "</b>" like in this 
example:

<a>
   <b>
     <bb>
       <bbb/>
     </bb>
     <c id="1"/>
   </b>
   <d>
      <e/>
      ...
   </d>
</a>


I need to copy everything and add some additional "<c>" tags. I dont't 
know how to do that becase with xsl:copy-of I can copy the whole tree 
but it can not be changed and if I iterate trough the tree with xsl:copy 
every tag is immideately closed. It would be nice if someone could help.

Regards,
Garvin


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member