Re: [xsl] suppressing only the last PI

Subject: Re: [xsl] suppressing only the last PI
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Thu, 04 Jan 2007 12:19:34 +0100
egarrett@xxxxxxxxxxxx wrote:
Thanks for your help. I am trying to process all nodes, though, not just the PIs. It looks as if I change this, it will only grab the PIs that are not specified, and not the other content. Am I interpreting this correctly?

Yes, you are correct, my statements are only about selecting PIs. It looks to me that you are better of using template matching rules instead of trying to select everything in the apply-templates' select attribute. That way, you can easily apply the templates to everything, make one specific match rule and one less specific for catching all others. That way, you let the processor do the work for you. It depends on your current template(s) if this approach will work for you. Here's a sample which only does something special with the last processing instruction:


<xsl:template match="
processing-instruction()
[starts-with(., 'PageEnd_')]
[position() = last()]" >
<xsl:text>LAST</xsl:text>
<xsl:copy />
</xsl:template>


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

Cheers,
-- Abel
  http://www.nuntia.nl

Current Thread