unique IDs for fn:id() and interaction with XSLT temporary trees

These issues came up as a result of discussion of a proposed clarification to
the EXSLT node-set() function specification [1]:

1. XSLT 2.0 says that fn:id() is supposed to work on a temporary tree [2]. I
do not see how any unique IDs that this function needs are going to be found
in the temporary tree. It's not possible for one to associate a DTD or other
schema with a temporary tree in order to force ID-ness or other type
information onto the attribute nodes in it, correct? So I would expect that
fn:id() would never return any nodes, when the context item is a node from the
temporary tree, since there are no unique IDs in the temporary tree. If I'm
correct, here, I propose that you add a note about this to XSLT 2.0.

2. I'm actually having trouble finding where in the XPath 2.0 specs there is
any discussion of the mechanism of assignment of unique IDs (as would be used
by fn:id()) to nodes. Appendix B of the function spec says "The recognition of
a node as an id value is sensitive to the manner in which the datamodel is
constructed", but the data model spec says only that "[Node identity] should
not be confused with the concept of a unique ID, which is a unique name
assigned to an element by the author to represent references using ID/IDREF
correlation"; nothing else, AFAIK. Did I miss something?

[1] http://lists.fourthought.com/pipermail/exslt/2003-December/000982.html
    http://lists.fourthought.com/pipermail/exslt/2003-December/000983.html
[2] http://www.w3.org/TR/xslt20/#temporary-trees

Received on Tuesday, 9 December 2003 22:36:36 UTC