[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] Subtree transformation
- From: "Michael Kay" <mike@saxonica.com>
- To: "'Garvin Riensche'" <g.riensche@gmx.net>,<xml-dev@lists.xml.org>
- Date: Thu, 15 Mar 2007 11:22:42 -0000
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]