Oxygen XML Editor
 
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Variable in XPath


Subject: Re: [xsl] Variable in XPath
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 27 Jun 2007 19:39:38 +0200

Garvin Riensche wrote:
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.


In addition, if you want an extensible solution, you can consider this as parameter value:


id=2;owner=4;name=john

in which case you do not have to create a new parameter each time you add a new query possibility to your template. You match would then look as follows:

<xsl:variable name="attributes" select="tokenize($query, ';')" />
<xsl:variable name="attr-names"
       select="for $i in $attributes return tokenize($i, '=')[1]" />
<xsl:variable name="attr-values"
       select="for $i in $attributes return tokenize($i, '=')[2]" />


<xsl:template match="class[ deep-equals(@*/name(), $attr-names) and deep-equals(@*string(), $attr-values)]" />

  ... do your thing with the matches ...
</xsl:template>


Come to think of it, this is probably a shorter solution in the long run ;)


Happy coding!

-- Abel Braaksma


Current Thread
 
© 2002-2008 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy
This website was created & generated with <oXygen/> XML Editor