Call for Review: XML Information Set Second Edition is a Proposed Edited Recommendation

One of the changes in the Infoset PER has added the last sentence in the
following:

[attribute type] An indication of the type declared for this attribute
in the DTD. Legitimate values are ID, IDREF, IDREFS, ENTITY, ENTITIES,
NMTOKEN, NMTOKENS, NOTATION, CDATA, and ENUMERATION. If there is no
declaration for the attribute, this property has no value. If no
declaration has been read, but the [all declarations processed] property
of the document information item is false (so there may be an unread
declaration), then the value of this property is unknown. Applications
should treat no value and unknown as equivalent to a value of CDATA. The
value of this property is not affected by the validity of the attribute
value.

This last sentence is a major type safety problem for XQuery
implementations that plan on supporting DTDs based on the optional DTD
validated infoset mapping of the XQuery Data Model. 

By allowing a type annotation to indicate a type without guaranteeing a
validity of the value, so that the value may not match the indicate type
(see definition of type matching in the XQuery specifications), a
fundamental constraint (as in axiomatic) of the XQuery Data Model would
be violated and the XQuery semantics would not be able to give a
deterministic result.

I therefore would like to recommend changing the last sentence to:
"The value of this property is affected by the validity of the attribute
value in that it is only set if the value has passed validation."

Since I cannot submit this comment directly, I place it here for

1. Discussion between the Core and XQuery/XSLT working groups
2. For others to refer to in their official PER comments.

Best regards
Michael

Received on Thursday, 15 January 2004 18:42:11 UTC