RE: Using 'contains' function with xsl:key
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: 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format