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>
--~--