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: Fri, 3 Sep 2004 00:43:33 -0700 (PDT)
Michael,
 when I am trying to use <xsl:for-each
select="xsl:node-set($employeeList)/*">
.....							</xsl:for-each>

it gives Function not in Namaspace error. And my
namespace declaration is <xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
Can you please suggest which namespace supports this
function.

regards,
Ranjan
--- "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx> wrote:

> 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
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Current Thread