Subject: RE: [xsl] Using 'contains' function with xsl:key From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 6 Sep 2005 15:38:21 +0100 |
Yes, it's possible. Whether it's useful is another question: an index search may not be faster than a sequential search if there are only two possible values. Note that in XSLT 1.0 the "use" expression and the second argument of key() are both converted to strings before comparison. In 2.0 they are compared in their native type. So your example will work fine in both, but if the use expression were a boolean and the argument to key() a string, it wouldn't. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Gjergji Spaho [mailto:gjspaho@xxxxxxxxx] > Sent: 06 September 2005 14:19 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Using 'contains' function with xsl:key > > Hi everyone! > I have a XML with elements that have an id attribute. > The value of the id attribute is composed in one of the two ways: > > 1) '_field:' + valid string + number > 2)'_group:' + valid string + number > > All i want is to create two different groups based on the first word > of the attribute value : '_field' or 'group'. > > One way is: > <xsl:key name="ctlkey" match="*" use="substring-before(@id,':')"/> > > and use it > key('ctlkey','_field') or key('ctlkey','_group') > > now my quetion is: > Is it possible to have the xsl:key defined: > > <xsl:key name="ctlkey" match="*" use="contains(@id,'_field')"/> > > and then use it > > key('ctlkey',true()) or key('ctlkey',false()) ?????? > > thanks anyway
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Using 'contains' function, andrew welch | Thread | [xsl] Solution: Passing Cookie Valu, Michael |
Re: [xsl] Using 'contains' function, andrew welch | Date | [xsl] Solution: Passing Cookie Valu, Michael |
Month |