xsl-list
[Top] [All Lists]

Re: Order of xsl:template matching

2005-05-11 05:56:02
  Given this XML chunk:
  <TEXT>sldj aldj aldj a</TEXT>
  <REPORT>12345</REPORT>

  How can I apply templates and have the REPORT appear
  before the TEXT in the results of the transformation?

If in the template for the parent you go
<xsl:apply-templates/>
Then nodes will be applied in document order.
There are various ways to change that depending what you want to happen
in general, eg

<xsl:apply-templates select="REPORT"/>
<xsl:apply-templates select="TEXT"/>

would process REPORT then TEXT and ignore everything else

<xsl:apply-templates select="REPORT"/>
<xsl:apply-templates select="*[not(self::REPORT)]"/>

would process REPORT elements first then any other elements

<xsl:apply-templates>
 <xsl:sort select="name()"/>
</xsl:apply-templates>

would process elements in alphabetic order.


Any of these has the requested effect on your small example of
processing REPORT then TEXT.

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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>