[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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


Subject: RE: [xsl] XSLT 2.0 and implementation of fn:idref in Saxon 7.9
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Sat, 13 Mar 2004 22:40:28 -0000

# 
# 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



Current Thread
Keywords