xsl-list
[Top] [All Lists]

Re: identity transform exclude pis and comments

2003-06-23 06:35:22
I-Lin Kuo wrote:
My identity transform below is picking up processing instructions and 
comments,
but I'd like to remove them

<xsl:template match="node()|@*">
   <xsl:copy><xsl:apply-templates/></xsl:copy>
</xsl:template>

It's not truly an identity transform, because it's not selecting
attribute nodes for processing; attributes are effectively being
ignored.
 
I can do it with an xsl:if inside, but is there anything more elegant than 
this:

<xsl:template match="node()|@*">
   <xsl:if test="not(self::processing-instruction() or self::comment()">
     <xsl:copy><xsl:apply-templates/></xsl:copy>
   </xsl:if>
</xsl:template>

<xsl:template match="*|@*|text()"/>
   <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>

<xsl:template match="processing-instruction()|comment()"/>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list