RE: [xsl] Skipping Custom Tags

Subject: RE: [xsl] Skipping Custom Tags
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 9 Dec 2005 08:53:37 -0000
> If I have a custom tag and I do:
> 
>   <xsl:apply-templates select="mytag"/>
> 
> the tag <mytag> ends up in the output.

Only if your template rule for mytag puts it there.

> Frequently this is not what I
> want. Rather I want to skip that tag and apply-templates on everthing
> enclosed *within* that tag. For that, adding /* appears to work:
> 
>   <xsl:apply-templates select="mytag/*"/>
> 
> Is this the proper expression or should it be "@*|node()" or what?

mytag/* selects the child elements, mytag/node() selects the child text
nodes, comments, and PIs as well, @* selects the attributes. It depends what
you want to achieve.

But why not change the template rule for mytag so it doesn't create a mytag
element in the output?

Michael Kay
http://www.saxonica.com/

Current Thread