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

RE: Can't save a node tree in a variable.

Subject: RE: Can't save a node tree in a variable.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 25 Jul 2005 16:18:53 +0100
xsl variable node tree
It's just as well it doesn't, because it would loop indefinitely if this
rule were invoked, since $sorted is a document node and therefore matches
match="/".

I don't think you have understood modes. A template rule with mode="X" will
only be invoked by an apply-templates instruction with mode="X". Your rule
has mode="main", but there's no external apply-templates call with
mode="main".

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: John Robb [mailto:john_ok@xxxxxx]
> Sent: 25 July 2005 15:22
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Can't save a node tree in a variable.
>
> And can you say me why in the following xsl the processor
> doesn't step
> into this template:
> <xsl:template match="/" mode="main">
>    <xsl:apply-templates select="$sorted" mode="main"/>
> </xsl:template>
>
> The hole xsl:
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>   xmlns:msxsl="urn:schemas-microsoft-com:xslt">
> 	<xsl:output media-type="xml"/>
> 	<xsl:variable name="sorted">
> 		<xsl:apply-templates mode="copy" select="data/item"/>
> 	</xsl:variable>
> 	<xsl:template match="@*|node()">
> 		<xsl:copy>
> 			<xsl:apply-templates select="@*|node()">
> 				<xsl:sort select="@sector"/>
> 				<xsl:sort select="@subsector"/>
> 			</xsl:apply-templates>
> 		</xsl:copy>
> 	</xsl:template>
> 	<xsl:template match="/" mode="main">
> 		<xsl:apply-templates select="$sorted" mode="main"/>
> 	</xsl:template>
> 	<xsl:template match="item" mode="main">
> 		<xsl:for-each select="item">
> 			<xsl:value-of select="."/>
> 		</xsl:for-each>
> 	</xsl:template>
> </xsl:stylesheet>
>
> Mon, 25 Jul 2005 16:18:45 +0200, Geert Josten
> <Geert.Josten@xxxxxxxxxxx> PISAL(A):
>
> > You will need to use a node-set extension function in XSLT 1.0...
> >
> > Cheers,
> > Geert
> >
> > John Robb wrote:
> >
> >> Can you please help me?I want to save the sorted tree in a
> variable.
> >> Whats wrong with the following xsl:
> >> <xsl:variable name="sorted">
> >>         <xsl:apply-templates mode="copy" select="data/item"/>
> >>     </xsl:variable>
> >>     <xsl:template match="@*|node()">
> >>         <xsl:copy>
> >>             <xsl:apply-templates select="@*|node()" mode="copy">
> >>                 <xsl:sort select="@sector"/>
> >>                 <xsl:sort select="@subsector"/>
> >>             </xsl:apply-templates>
> >>         </xsl:copy>
> >>     </xsl:template>
> >>
> >> And then I want to perform smth. like this:$sorted/item/@sector.
> >> How is it possible to realize such a thing?
> >>     ---
> >> GSM.By.COM - INTERNET-MAGAZIN SOTOWYH TELEFONOW STANDARTA GSM,
> >> AKSESSUAROW I ZAP^ASTEJ K NIM. {IROKIJ WYBOR, RAZUMNYE CENY,
> >> OPERATIWNAQ DOSTAWKA. rEMONT TELEFONOW. http://www.gsm.by.com
> >>
> >>
> >
> > --
> > Geert.Josten@xxxxxxxxxxx
> > IT-consultant at Daidalos BV, Bleiswijk (NL)
> >
> > http://www.daidalos.nl/
> > tel:+31-(0)10-850 12 00
> > fax:+31-(0)10-850 11 99
> >
> > GPG: 1024D/12DEBB50
> >
>
>
>
> ---
> GSM.By.COM - INTERNET-MAGAZIN SOTOWYH TELEFONOW STANDARTA GSM,
> AKSESSUAROW I ZAP^ASTEJ K NIM. {IROKIJ WYBOR, RAZUMNYE CENY,
> OPERATIWNAQ DOSTAWKA. rEMONT TELEFONOW. http://www.gsm.by.com

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.