Subject: RE: [xsl] Can't save a node tree in a variable. From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 25 Jul 2005 16:18:53 +0100 |
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: [xsl] 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can't save a node tree in, John Robb | Thread | Re: [xsl] Can't save a node tree in, Geert Josten |
Re: [xsl] Can't access a template i, David Carlisle | Date | RE: [xsl] How to save the sorted no, Michael Kay |
Month |