I'm loading XML and XSL into a Web page and manipulating the select attribute
of the xsl:apply-templates element.
My XML file looks like this:
<component-report>
<owner>
<component>
<name></name>
<descrip></descrip>
<process>process1</process>
<process>process2</process>
...
...
<component>
<name></name>
<descrip></descrip>
<process>process1</process>
<process>process2</process>
<process>process3</process>
...
...
</component>
</component>
</owner>
</component-report>
I'm changing the value of the select attribute as a result of user input to
search for appropriate components. In this line, I'm trying to find every
component where one (any) of its child process elements contains the search
text the user typed in:
strNodeToSelect =
"/component-report//component[contains(translate(process,'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'),'" + searchTextUpperCase + "')]";
This works fine, as long as the search text is found in the _first_ process
element. When the text is in the second or third or fourth, it doesn't match.
Is it possible to write this in such a way that it matches the text in _any_ of
the process elements?
process - matches only if text is in first process
//process - doesn't match anything
process[2] - matches only if text is in second process, etc.
Thanks for any help,
Doug Howell
Information Architect
Borders Group
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list