xsl-list
[Top] [All Lists]

Re: [xsl] deep copy without attributes

2013-05-20 10:35:08
Well I'm not going to get hung up on that semantic - after all copy
doesn't copy and as for copy of  - well what does that mean.

I agree it's not easy - 'what is the difference between xsl:copy and
xsl:copy-of?' is an interview question I use.

Once you can visualise the input xml as a tree of nodes in your mind
it's becomes straightforward, especially with attributes and their
values as a single node (you can't shallow copy an attribute and
change its value).  A shallow copy (xsl:copy) copies a single node to
the result (and just that node) while a deep copy (xsl:copy-of) copies
the whole subtree.

Instead you have to shallow copy a node at a time, and not copy the
attribute nodes, eg use an identity template with a no-op for
attribute:


and that is what is cumbersome especially if you put yourself in the
shoes of what a good friend of mine calls an occasional dabbler in the
language.

Lots of xslt is non-intuitive, but that doesn't mean it's
cumbersome... try doing the same task in any other language.



-- 
Andrew Welch
http://andrewjwelch.com

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--