Altova Mailing List Archives

Re: [xsl] Variable in XPath

From: Garvin Riensche <g.riensche@------->
Date: 6/27/2007 4:38:00 PM
Hi Abel,

Thanks a lot for you answer, you gave lots of comments that are usefull 
for me.

Your solution defintely serves my needs I explained in my first mail. 
But as I wrote in my second mail there might be lots of 
attribute-combinations. So I would have to write a template for every 
possible combination which would make the stylesheed get very large. 
Maybe that's the only solution. But I would prefer a solutions with one 
template for all possible combinations like explained in my second mail 
with some default value for the variables that are not set by commandline.


<xsl:param name="id" />

<xsl:template match="your-start">
   <xsl:apply-templates match="doc('factbase.xml')/facts/class" />

<xsl:template match="class[@id = $id]"> your stuff with a matching $id=@id for class-nodes...

<xsl:template match="facts[not(class/@id = $id)]/class"> your stuff when no @id matches the supplied $id, but class-nodes 


<xsl:template match="facts[empty(class)]"> your stuff when there are no class-nodes...


These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.