RE: [xsl] Defining a key on a RTF inside a Template

Subject: RE: [xsl] Defining a key on a RTF inside a Template
From: "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx>
Date: Wed, 8 Dec 2004 01:05:24 -0800 (PST)
I am quite agree with Michael because my key depends
upon an RTF. So I can take that RTF is the context
node for declaring key.

In either case, I am getting error during processing.
In XALAN : "Incorrect place of defining key"
In SAXON 8.1.1: XPath syntax error at char 0 in
{exslt:node-set($}:;     The only functions allowed in
a pattern are id() and key()

I too tried to declare the key at the top of my
stylesheet but it still throw error.


regards,
Ranjan

--- Michael Kay <mike@xxxxxxxxxxxx> wrote:

> > According to XSLT 1.0 specificatoion ( 
> > http://www.w3.org/TR/1999/REC-xslt-19991116 ),
> xsl:key is a
> > top-level element. Therefore you cannot place it
> outside a 
> > xsl:stylesheet/xsl:transform .
> > The easiest solution: do not use keys.
> 
> No, it's perfectly OK to use keys to search within
> an RTF.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> > 
> > --- "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx>
> wrote:
> > 
> > > I am creating  a key inside a template with RTF
> as
> > > below:
> > > <xsl:variable name="projectSum">
> > > 	<xsl:for-each select="//project">
> > > 		<xsl:variable name="projectname"
> select="./@name"/>
> > > 		<xsl:variable name="projectid" select="@id"/>
> > > 		<xsl:variable name="projectref"
> > > select="projectelement/@ref"/>
> > > 		<xsl:copy>
> > > 			<xsl:copy-of select="./@name"/>
> > > 			<xsl:copy-of select="./@id"/>
> > > 			<projectsum>
> > > 				<xsl:copy-of
> > >
>
select="count(key('ProjectPartNumber',$projectref))"/>
> > > 			</projectsum>
> > > 		</xsl:copy>
> > > 	</xsl:for-each>
> > > </xsl:variable>
> > > 
> > > <xsl:key name="countDetail"
> > > match="exslt:node-set($projectSum)/projectsum"
> > > use="./@id"/>
> > > 
> > > In XALAN it throws error with message "Incorrect
> place
> > > of defining Key".
> > > I am not sure whether it is possible to create a
> key
> > > with RTF within a template?
> > > If not possible, is there any otherway to achive
> the
> > > same functionality?
> > > 
> > > regards,
> > > Ranjan
> > > 
> > > 
> > > 
> > > 		
> > > __________________________________ 
> > > Do you Yahoo!? 
> > > Yahoo! Mail - now with 250MB free storage. Learn
> more.
> > > http://info.mail.yahoo.com/mail_250
> > > 
> > > 
> > 
> > 
> > =====
> > Marian
> > http://www.utdallas.edu/~mgo031000/
> > 
> > 
> > 		
> > __________________________________ 
> > Do you Yahoo!? 
> > Yahoo! Mail - Find what you need with new enhanced
> search.
> > http://info.mail.yahoo.com/mail_250
> 
> 


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

Current Thread