No, the idref() function operates fine (at least in Saxon) with DTD-defined
IDREF and IDREFS attributes. The need to determine which attribute contains
the IDREF exists just as much in a DTD world as a schema world. The only
thing that schema adds is the ability for element content (as distinct from
attributes) to be typed as an ID or IDREF(S).
Michael Kay
# -----Original Message-----
# From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-
# list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
David(_dot_)Pawson(_at_)rnib(_dot_)org(_dot_)uk
# Sent: 15 March 2004 10:50
# To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
# Subject: RE: [xsl] XSLT 2.0 and implementation of fn:idref in Saxon 7.9
#
# Rather too subtle for me.
# This appears to me to be a move away from 'simple' DTD based XML,
# to an xsd model of ID+IDREF?
#
# What about operating on a DTD based valid instance which has
# idrefs and id's correctly defined in the DTD?
#
# Ignored I guess?
#
# Another trip wire for the unwary?
#
# regards DaveP
#
# # 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
#
#
# -
# DISCLAIMER:
#
# NOTICE: The information contained in this email and any attachments is
# confidential and may be privileged. If you are not the intended
# recipient you should not use, disclose, distribute or copy any of the
# content of it or of any attachment; you are requested to notify the
# sender immediately of your receipt of the email and then to delete it
# and any attachments from your system.
#
# RNIB endeavours to ensure that emails and any attachments generated by
# its staff are free from viruses or other contaminants. However, it
# cannot accept any responsibility for any such which are transmitted.
# We therefore recommend you scan all attachments.
#
# Please note that the statements and views expressed in this email and
# any attachments are those of the author and do not necessarily represent
# those of RNIB.
#
# RNIB Registered Charity Number: 226227
#
# Website: http://www.rnib.org.uk
#
# XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list