xsl-list
[Top] [All Lists]

RE: XSLT 2.0 and implementation of fn:idref in Saxon 7.9

2004-03-13 15:40:28
# 
# Did I misunterstand the meaning of the fn:idref (Finds the elements that
# link to the element with a given ID value i.e. This function allows
# reverse navigation from IDs to IDREFs.) ?


Yes, you misunderstood it. The spec says: A node references an ID value if
it is an element or attribute node whose type is xs:IDREF or xs:IDREFS. So
if you have an attribute of type xs:IDREFS, then the idref() function will
return that attribute, not the element containing it.

The reason for this is that you can have several IDREF attributes on an
element, e.g.

<person id="id005" father="id001" mother="id002"/>

You want to know not only that person id005 has a reference to id001, but
which attribute contains this reference. You can always get the element node
if you want, just use idref($x)/..

Michael Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list