[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: dynamic document() template problem

Subject: RE: dynamic document() template problem
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 20 Jun 2005 20:42:10 +0100
product documentation templates
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:  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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.