|
Subject: RE: [xsl] dynamic document() template problem (with Xalan) From: Arian Hojat <arianhojat2000@xxxxxxxxx> Date: Tue, 21 Jun 2005 07:24:35 -0700 (PDT) |
Hey,
I was wondering if I could use dyn:evaluate just the
same? Just because I am using just Fop (1 step of
providing the xml/xsl files), rather than pipe through
Saxon, then Fop. Unless theres a way to access saxon
extensions while still using Xalan.
I have access to the EXSLT dyn:evaluate() function...
I tried doing something using this to no avail.
<xsl:apply-templates
select="document(@href)/Document/dyn:evaluate(current()/@nodes)"/>
Extra illegal tokens: '(', 'current', '(', ')', '/',
'@', 'nodes', ')'
--- Michael Kay <mike@xxxxxxxxxxxx> wrote:
> Curly braces are never used within an XPath
> expression: they are only used
> when an XPath expression is embedded in text within
> an attribute value
> template.
>
> In standard XSLT, you can't construct an XPath
> expression dynamically from a
> string, or interpret an XPath expression held in a
> source document. However,
> Saxon (and some other products) have an extension to
> do this:
>
> <xsl:apply-templates
>
select="document(@href)/Document/saxon:evaluate-node(current()/@nodes))"/>
>
> (This is Saxon 8.4)
>
> (You'll see saxon:evaluate() more often than
> saxon:evaluate-node(). The main
> difference is that evaluate-node() takes namespace
> prefixes from the
> namespace context in the source document, not from
> the namespace context in
> the stylesheet.)
>
> Michael Kay
> http://www.saxonica.com/
>
>
> > -----Original Message-----
> > From: Arian Hojat
> [mailto:arianhojat2000@xxxxxxxxx]
> > Sent: 20 June 2005 20:30
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] dynamic document() template problem
> >
> > Hello i am trying to base a template rule off an
> > attribute in my XML to which chooses nodes to
> apply
> >
> > ###my XML###
> > <include href="fbackground.xml"
> > nodes="fb/section1/*"/>
> >
> > ###my rule for <include>###
> > <xsl:apply-templates
> > select="document(@href)/Document/{@nodes}"/>
> >
> > but i get an error with Saxon...
> > [ERROR]
> >
>
javax.xml.transform.TransformerConfigurationException:
> > javax.xml.transform.TransformerException:
> > javax.xml.transform.TransformerException: A
> location
> > step was expected following the '/' or '//' token.
> > without the {}, i know it will just check to see
> if it
> > has an attrbiute, but i would like it to get
> > intrepeted to
> > 'document(fbackground)/Document/fb/section1/*'
> >
> >
> >
> >
> >
> ____________________________________________________
>
> > Yahoo! Sports
> > Rekindle the Rivalries. Sign up for Fantasy
> Football
> > http://football.fantasysports.yahoo.com
>
>
____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] xsl:include href - relati, Joe Fawcett | Thread | Re: [xsl] dynamic document() templa, James Fuller |
| [xsl] xsl:include href - relative t, Hardy Merrill | Date | Re: [xsl] dynamic document() templa, James Fuller |
| Month |