[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: calling templates

Subject: RE: calling templates
From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx>
Date: Mon, 21 Jun 2004 12:51:29 +0100
calling templates in main
> if u have an xml file like this:
> <main>
> <name>
> <desc>
> <link></link>
> <section></section>
> .........(the any number of section an dlink tags in any 
> order) </main>
> 
> and u had a template match currently in main, how would u do an 
> <xsl:apply-templates /> on all the <link> and <section> tags 
> but not the 
> <name> and <desc> tags?
> i thought about <xsl:apply-templates select="link" /> and then 
> <xsl:apply-templates select="section" /> but that would do it 
> in two groups, 
> i would like to apply the template sin the order they appear 
> in the xml 
> file......
> can anyone help
> cheers
> james walker

If you want to process the elements in the order they appear in the
document then you must use <xsl:apply-templates/> with no select
attribute; this is known as 'push processing' as the elements in the
document are driving the processing order.  If you use
<xsl:apply-templates select="..."/> then this is 'pull processing' as
the stylesheet is driving the processing order which means elements
could be processed out of document order.

If you want to process certain children of your <main> element, but not
others, and ensure document order is kept, then you will need to use
<xsl:apply-templates/> within your <main> matching template, and add a
'no-op' template for <name> and <desc>:

<xsl:template match="name|desc"/>

You may need to be more specific in your match pattern if the elements
appear in other structures in your source (as they are quite generic
names):

<xsl:template match="main/name|main/desc"/>

cheers
andrew

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.