RE: [xsl] for-each loop in node set variable gives error - RTF traversal error

Subject: RE: [xsl] for-each loop in node set variable gives error - RTF traversal error
From: "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx>
Date: Thu, 2 Sep 2004 22:15:21 -0700 (PDT)
Michael,
       You are right. I just went through w3c.org
which states clearly that you cannot use /,// and []
with RTF. I am using XSLT1.0 and as per your
suggestion to use xsl:node-set() and it works fine
with XMLSpy but when I am trying to run in Stylus
Studio, it gives bunch of exception.

Exception calling Java extension: ;
java.lang.ClassNotFoundException:
http://www.w3.org/1999/XSL/Transform; 	at
com.exln.stylus.CXClassLoader.findClass(CXClassLoader.java:192);
	at java.lang.ClassLoader.loadClass(Unknown Source); 
at
com.exln.stylus.CXClassLoader.loadClass(CXClassLoader.java:234);
	at java.lang.ClassLoader.loadClass(Unknown Source);  

-----
But anyway it works
Thanks a lot.

regards,
Ranjan
--- Michael Kay <mhk@xxxxxxxxx> wrote:

> Your variable $employeeList is a result tree
> fragment and XSLT 1.0 does not
> allow you to use an RTF in a path expression. You
> need the xx:node-set()
> extension function, or an XSLT 2.0 processor, or an
> XSLT 1.0 processor that
> relaxes this rule.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> P.S. You might not be able to make sense of the
> error message, but there are
> many people on this list who can, and who would be
> able to answer your
> question more quickly if you quoted it.
>  
> 
> > -----Original Message-----
> > From: Ranjan K. Baisak
> [mailto:ranjanbaisak@xxxxxxxxx] 
> > Sent: 02 September 2004 14:35
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] for-each loop in node set variable
> gives error
> > 
> > Hello List,
> >           My stylesheet contains following
> > declarations
> > 
> > declaration 1:
> > <xsl:variable name="employeeList">
> > 	<xsl:for-each
> select="//employee/*[name()!='max']">
> > 		<xsl:if test="count(key('employee', @id))=0">
> > 			<xsl:copy>
> > 				<xsl:copy-of
> > select="property[@name='cast']/@val"/>
> > 				<xsl:copy-of select="@name"/>
> > 				<xsl:copy-of 
> > select="property[@name='language']"/>
> > 			</xsl:copy>
> > 		</xsl:if>
> > 	</xsl:for-each>
> > </xsl:variable>
> > 
> > declaration 2:
> > <xsl:variable name="generatedEmployees">
> > 	<xsl:for-each select="$employeeList/*">
> > 		<xsl:sort select="@val"/>
> > 		<xsl:copy-of select="."/>
> > 	</xsl:for-each>
> > </xsl:variable>
> > 
> > for-each loop for $employeeList/* in declaration 2
> > gives error. I don't understand why it gives
> error.
> > Any clue?
> > 
> > regards,
> > Ranjan
> > 
> > 
> > 		
> > _______________________________
> > Do you Yahoo!?
> > Win 1 of 4,000 free domain names from Yahoo! Enter
> now.
> > http://promotions.yahoo.com/goldrush
> 
> 



		
_______________________________
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.
http://promotions.yahoo.com/goldrush

Current Thread