XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] Subtree transformation

XSLT questions are best asked on the xsl-list at mulberrytech.com

XSLT's template rule mechanism is explicitly designed to enable you to
handle variability in the input document. Don't use copy-of; use
apply-templates to walk down the tree recursively and make whatever changes
are needed at each level.

Michael Kay
http://www.saxonica.com/

 

> -----Original Message-----
> From: Garvin Riensche [mailto:g.riensche@gmx.net] 
> Sent: 15 March 2007 11:16
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Subtree transformation
> 
> 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
> 
> ______________________________________________________________
> _________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by 
> OASIS to support XML implementation and development. To 
> minimize spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 



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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS