Subject: Re: [xsl] the "use" parameter for a key is to be a path expression From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Wed, 27 Feb 2002 17:49:57 +0000 |
Hi Tom, > You were right about the leading and trailing spaces, but I'm > intruiged that you say that the use parameter for a key has to be an > XPath expression: in that case what about all the examples I have > seen using concat(@this,'+',@that)? The XPath: concat(@this, '+', @that) *is* an expression. Possibly you (or Tom P?) are confusing the general term "expression" with the more specific term "path expression" - a path expression is just one kind of expression, function calls are another, literal strings are another and so on. The use attribute takes an expression, which can be any of those sorts of expression. (Check http://www.w3.org/TR/xslt#key and http://www.w3.org/TR/xpath#NT-Expr if you don't believe me!) So: <xsl:key name="billcodes" match="Billcode" select="concat(@corp, '+', @country)" /> Should be just fine, though given your whitespace issues, probably: <xsl:key name="billcodes" match="Billcode" select="concat(normalize-space(@corp), '+', normalize-space(@country))" /> Would be safer! That should enable you to do: key('billcodes', 'EvilEmpire+USA') to get back the Billcode elements whose @corp attribute has the value 'EvilEmpire' (or even ' EvilEmpire ') and whose @country attribute has the value 'USA' (or, again, ' USA '). Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] the "use" parameter for a, Wendell Piez | Thread | Re: [xsl] the "use" parameter for a, Thomas B. Passin |
Re: [xsl] <br/> in FO?, Wendell Piez | Date | Re: [xsl] Value-of, copy-of, Wendell Piez |
Month |