I'm hoping someone on the list might be able to provide some
insight in how I might address the following issue. I'm
using Saxon 8.8 and XSL 2.0 for developing a transform. The
source document looks something like:
<document>
<section>
<item target="abc def ghi"/>
<item target="foo bar"/>
<item target="abc bar"/>
<item target="def foo"/>
</section>
<section>
<item target="abc"/>
<item target="foo"/>
<item target="ghi bar"/>
</section>
</document>
The <section> and <item> elements are repeatable and the
target attribute is an NMTOKEN list.
Since the source document is quite large, I was hoping to
use xsl:key to index each token value in the item's target
attribute so I could query for all the items that might
contain a particular token value, e.g., "foo".
However, looking at xsl:key it seems to me that it will
only index the entire NMTOKEN list as a single value. What
I'm trying to accomplish when I query for the token value
"foo", is that I want xsl:key to return the following node
list:
/document/section[1]/item[2]
/document/section[1]/item[4]
/document/section[2]/item[2]
correspondingly if I query for "abc" I want xsl:key to be
able to return the following node list:
/document/section[1]/item[1]
/document/section[1]/item[3]
/document/section[2]/item[1]
does anybody know of anyway I can get xsl:key to index each
token in the NMTOKEN list for the target attribute? I realize
I could write an XPath expression, but continually iterating
over a large document looking for different token values would
be extremely slow which is one of the main reason why I was
looking at using xsl:key.
Can you think of any alternate solutions to the problem.
BTW, the tokens in the list are *not* known in advance to
the transform.
Thanks, Andy.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--