[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Ouput escaping / XPath
Subject: Re: [xsl] Ouput escaping / XPath From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 15 Nov 2005 23:34:43 GMT |
Hi David, thanks allot. But I have to say I'm a bit baffled. To my understanding this template copies only all the attributes (which I thought was <element attribute="...">). How come this copies also the child elements and the text??? google for "XSLT identity template" and you'l find gazillions of examples of this, in teh archives and faq of the list (there's also an example in the xslt1 spec) the template copies elements (xsl:copy), then the elements attributes (copy-of, then recursively applies templates to children. If this template matched all nodes, you would end up copying everything, same as if you had just done xsl:copy-of (but slower, probably) but using templates means you can make specific nodes do something else. In particular here the match is just on * (so just elements) so comments and pi nodes will be processed by their default templates (which throw them away) and text is processed by its default template (which copies it) DC> <xsl:template match="*" mode="copy"> DC> <xsl:copy> DC> <xsl:copy-of select="@*"/> DC> <xsl:apply-templates mode="copy"/> DC> </xsl:copy> DC> </xsl:template> >> The element() function seems to copy the comment >> as well. What am I doing wrong here? DC> If you copy an element node then the copy has exatly the same children DC> as the original (or rather has copies of those children) so it has teh DC> smae text, comments and child elements. So for that matter if I <xsl:copy-of select="child::element()"/> it automatically produces a deep-copy with which I don't have the opportunity to check which parts I do and which I do not want to copy, right? right, select="child::eleemnt()" can more simply be written select="*" though. (Also the element() node test (it's not a function) is a new XPath2 feature, but if used with no argument it's just new syntax for the existing feature provided by *. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re[2]: [xsl] Ouput escaping / XPath, Manuel Baehnisch | Thread | Re[2]: [xsl] Ouput escaping / XPath, Manuel Baehnisch |
Re[2]: [xsl] Ouput escaping / XPath, Manuel Baehnisch | Date | Re[2]: [xsl] Ouput escaping / XPath, Manuel Baehnisch |
Month |