Hi all,
I'm not sure if I simply didn't use the right words, or I couldn't find the
right combination of words, but I have not quite found the answer to my
question in the FAQ or the archives.
Given a DTD similar to this:
<!ELEMENT root (subnode)*>
<!ELEMENT subnode (link)*>
<!ELEMENT link EMPTY>
<!ATTLIST subnode
id ID #REQUIRED>
<!ATTLIST link
idr IDREF #REQUIRED>
What I would like to know is how I can access the nodeset of the subnode
element listed within the link element. An example xml file might be:
<root>
<subnode id="a" />
<subnode id="b">
<link idr="c" />
<link idr="d" />
</subnode>
<subnode id="c">
<link idr="e">
</subnode>
<subnode id="d" />
<subnode id="e" />
</root>
An application might be to sort the list of four subnodes (a,b,c,d) based on
their links. An algorithm might be:
1. for every not(subnode/link), display subnode id
2. for every (subnode/link)
2a. choose
when link reference node contains link
repeat step 2 with link reference node
otherwise
if link reference has not been displayed
display link reference id
2b. display subnode id
My question is essentially: how would I create a variable that contains the
nodeset of the link reference? First I would need it to test the link to
determine if the link itself had links. Next I would want to pass that link
back into step two so that I could query its links.
Would the following XSL be something close?
<xsl:variable name="linkRef">
<xsl:value-of select="id(subnode/link[@idr])" />
</xsl:variable>
Thanks in advance!
Bix
_________________________________________________________________
The new MSN 8 is here: Try it free* for 2 months
http://join.msn.com/?page=dept/dialup
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list