Re: [xsl] defining nodes to apply template to

Subject: Re: [xsl] defining nodes to apply template to
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 10 Aug 2005 11:48:31 +0100
  i want to combine the following...

  <xsl:apply-templates
  select="(data[contains(.'STOP')]/preceding-sibling::)"/>
  
  <xsl:apply-templates
  select="(data[contains(.'START')]/following-sibling::)"/>


you coul do that (once you added data at the end of each, to make them
legal xpath, but in that case it's easier to go back to plan a, apply
templates to all data nodes and then use templates to zap the ones you
don't want

  <xsl:apply-templates  select="data"/>

<xsl:template match="data[(.|following-sibling::data)='START']"/>
<xsl:template match="data[(.|preceding-sibling::data)='STOP']"/>
<xsl:template match="data">
do something
</xsl:template>

> in addition i also wish to normalize-space within the
> document before applying the templates... 

Why before? why not during?

depending on quite what kind of normalisation you have in mind, it may
be better to do in a first pass, either as a separate process, or using
a xx:node-set() extension.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread