|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Defining a key on a RTF inside a Template
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. Keys are a mechanism to optimize performance; their
functionality can be obtained by XPath expressions.
The second way to solve your problem: find a way to declare them globally. Generally speaking,
this is application dependent, and without providing at least the context in which your key must
be computed (the matched pattern by your template), it is impossible to say which would that be.
In particular, I find that your variable "projectSum" and your key "countDetail" does not depend
in any way of context node, therefore I think that just by moving them in the document element of
your template (xsl:stylesheet/xsl:transform), making them top-level elements, you will get your
desired functionality.
--- "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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








