Subject: RE: [xsl] Selecting only one element using templates From: "Michael Kay" <mhk@xxxxxxxxx> Date: Mon, 1 Dec 2003 12:46:16 -0000 |
> > I was able to find the solution to my problem: > > <xsl:template match="class[class]"> > <xsl:apply-templates select="class"/> > </xsl:template> > > <xsl:template match="class"> > <xsl:element name="option"> > <xsl:apply-templates/> > </xsl:element> > </xsl:template> Quite how this selects elements called <name> is beyond me... > > > I did not know you could use a select attribute when applying > templates. But this leaves me with a question: If I left > "select" out of the apply-templates xsl element, I would have > thought it would only apply the templates that I defined. > Does the processor output all nodes anyway? In other words, > if I put in an "apply-templates" element, and I have no > templates defined for a particular node (or set?), why do I > get output? > There is a built-in template rule for nodes that are not matched by an explicit template rule. This rule does a recursive apply-templates for element nodes, and for text nodes it outputs the content. If you want to override this, write a rule such as: <xsl:template match="*"/> Michael Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Selecting only one elemen, JCS | Thread | Re: [xsl] Selecting only one elemen, JCS |
RE: [xsl] Generating a namespace de, Michael Kay | Date | [xsl] MySQL XML into SQL?, Ben Trafford |
Month |