XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Daniel FreySubject: dynamic matching
Author: Daniel Frey
Date: 21 Jul 2006 01:06 AM
Hello

I'd like to match a dynamic node, given as a parameter to the
stylesheet. Something like:

<xsl:stylesheet ...>
<xsl:param name="tomatch"/>
<xsl:template match="{$tomatch}">
Hallo
</xsl:template>
</xsl:stylesheet>

However, this seems not to be so simple, as "{" and if I remove the
parentesis the "$" are not allowed in the match value.

Certainly, I could take this as a row xslt and pre-transform it with
another script to merge the value of the variable into the {$tomatch}
location. However, then I would need two steps, one to create the
merged xslt, and another to transform the xml with it.

Is there a way to get it simlier? Any idea how to match dynamic nodes
given in parameters would be highly appreciated.

Thanks in advance.
Daniel Frey

Postnext
Ivan PedruzziSubject: dynamic matching
Author: Ivan Pedruzzi
Date: 21 Jul 2006 11:28 PM

Daniel,

I would approach the problem in a different way, see the attached solution

The stylesheet has two global parameters one to match the element local name one for the namespace URI. If your document does not use namespaces just pass the element name.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team


Documentdynamic.xsl

Postnext
Daniel FreySubject: dynamic matching
Author: Daniel Frey
Date: 22 Jul 2006 03:39 PM
Does this work also with whole path expressions like /Service/Data/Response?

Daniel

Posttop
Ivan PedruzziSubject: dynamic matching
Author: Ivan Pedruzzi
Date: 22 Jul 2006 06:37 PM

XSLT is not designed to parse/evaluate XPath at run-time.

Some processors implement an extension function for this purpose, for example Saxon:evaluate.


Ivan Pedruzzi
Stylus Studio Team

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.