|
Subject: RE: [xsl] Defining a key on a RTF inside a Template From: "Ranjan K. Baisak" <ranjanbaisak@xxxxxxxxx> Date: Wed, 8 Dec 2004 04:25:03 -0800 (PST) |
But Michael , I want to select a node in RTF which
contains a context node. In this case context node
comes from the document itself.
This is what I want
-Ranjan
--- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> The key() function selects nodes in the document
> that contains the context
> node. So if the context node is a node in the RTF,
> the key() function will
> search the RTF.
>
> The easiest way of ensuring this in XSLT 1.0 is to
> use something like:
>
> <xsl:for-each select="xx:node-set($rtf)">
> <xsl:value-of select="key('k', 12345)"/>
> </xsl:for-each>
>
> Michael Kay
> http://www.saxonica.com/
>
>
> > -----Original Message-----
> > From: Ranjan K. Baisak
> [mailto:ranjanbaisak@xxxxxxxxx]
> > Sent: 08 December 2004 10:46
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: RE: [xsl] Defining a key on a RTF inside
> a Template
> >
> > Michael,
> > I am afraid if I understood your suggestion
> > correctly.
> > My key is associated with RTF "projectSum". The I
> am
> > wodering how I can use "projectSum" RTF in my key.
> > "projectsum" is a node in "projectSum" RTF
> variable.
> >
> > regards,
> > Ranjan
> > --- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> >
> > > The value of the match attribute must be a valid
> > > pattern
> > >
> > > match="exslt:node-set($projectSum)/projectsum"
> > >
> > > should simply be
> > >
> > > match="projectsum"
> > >
> > > The xsl:key declaration doesn't define which
> > > document the key is referring
> > > to; that's decided at the time you use the key()
> > > function.
> > >
> > > Michael Kay
> > > http://www.saxonica.com/
> > >
> > > > -----Original Message-----
> > > > From: Ranjan K. Baisak
> > > [mailto:ranjanbaisak@xxxxxxxxx]
> > > > Sent: 08 December 2004 09:05
> > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > > > Subject: RE: [xsl] Defining a key on a RTF
> inside
> > > a Template
> > > >
> > > > 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/
> > > > > >
> > > > > >
> > > > > >
> > > > > > __________________________________
>
=== message truncated ===
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Defining a key on a RTF i, Michael Kay | Thread | Re: [xsl] Defining a key on a RTF i, David Carlisle |
| RE: [xsl] Defining a key on a RTF i, Mukul Gandhi | Date | Re: [xsl] Same XPath expression wit, xptm |
| Month |