RE: key based on items across several documents
This can't be done, I'm afraid. The result of calling key() will only contain nodes in the same document as the context node or (in XSLT 2.0 with the 3-argument form of the function) in the subtree rooted at the node supplied as the third argument. Yes, your match pattern is invalid too, both in 1.0 and 2.0, but that's not the essence of the problem. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Paul Kiel [mailto:paul@xxxxxxxxxxxxxxx] > Sent: 19 October 2008 23:18 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: key based on items across several documents > > Greetings all, > > I am trying to create a key based on items across several > documents. Here is a simplified version of what I'd like to do: > > <xsl:key name="ItemsWithName" match="$ItemFiles//item[@name]" > use="@name"/> > > Creates a list of all <item>s that have an @name attribute, > across several documents (The ItemFiles variable gathers > nodes across documents based on input). But it looks like I > can't use variables in the match pattern part of the key > element. I knew this was true in xslt 1.0, having wanted to > do this years ago, but also seems to be the case in xslt 2.0 > as well. Have I been staring at this too long, or is there a > way to do this that I'm not thinking of in xslt 2.0? > > Thanks in advance, > Paul Kiel
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