[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Output input_xml apart from one tag change?
Subject: RE: [xsl] Output input_xml apart from one tag change? From: "Scott Trenda" <Scott.Trenda@xxxxxxxx> Date: Tue, 2 Oct 2007 10:50:21 -0500 |
I don't mean to turn this into a long, drawn-out argument where we're essentially saying the same thing, but... Say you _don't_ know you want to copy them. I use it as a standard identity template, because it allows me to do something like the following afterward: <xsl:template match="select[some condition]/@multiple"/> ... allowing me to make all SELECTs under that condition single-select. It just leaves the door that much more open for variations later. And for newbies, I'd think that the explicit select="@*|node()" being the same as the template's match would imply that we're using the same template for the <xsl:copy> content. Like I said, six of one, half-dozen of the other, but food for thought. ~ Scott -----Original Message----- From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx] Sent: Tuesday, October 02, 2007 10:30 AM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] Output input_xml apart from one tag change? At 10:55 AM 10/2/2007, Scott wrote: >Quick note here - I use this variation of the identity template below: > ><xsl:template match="@*|node()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> > </xsl:copy> ></xsl:template> > >Brevity aside, this template also preserves comments and processing >instructions. Then there is an in-between variant: <xsl:template match="node()"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> This also copies comments and PIs, since it overrides the built-in template for them too. The difference from Scott's (besides the one line longer), like the variant posted earlier, is that it does not apply templates to the attributes, which makes it inappropriate for applications that need to change (or drop) attributes along with elements. But by the same token, it's also a bit more direct. I'll often use the slightly-longer one because (a) I think why bother visiting the attributes to match and apply templates when I know I want to copy them, and (b) I think it's just a step more legible and hence intelligible to XSLT-newbies who may be maintaining my code later (it gives them one less thing to puzzle out). Cheers, Wendell ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Output input_xml apart fr, Wendell Piez | Thread | RE: [xsl] Output input_xml apart fr, Wendell Piez |
RE: [xsl] iterate through nodes and, Scott Trenda | Date | RE: [xsl] Reading recursive from a , Houman Khorasani |
Month |
Keywords