xsl-list
[Top] [All Lists]

RE: dynamic document() template problem

2005-06-20 12:42:10
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(_at_)yahoo(_dot_)com] 
Sent: 20 June 2005 20:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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/{(_at_)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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>