Lists Home |
Date Index |
Jeni Tennison <firstname.lastname@example.org> wrote:
| Finally, I think that there should be limits on the scope of a type
| definition. XML types like ID and ENTITY have too wide a scope, in my
| opinion, in that they specify constraints across entire documents as
| well as on particular lexical representations.
I don't understand the problem here. Could you clarify?
Declared values such as ID, NOTATION, IDREF and ENTITY (and the plurals of
the last two) are just NAMEs, as far as "types" are concerned, it seems to
me. Is this lexical form too constraining? For NOTATION and ENTITY, what
purpose could a scope less than the document serve (given that referents
are in the DTD rather than the instance)?
For IDREF, I would think the problem is not the document wide scope but
the lack of specificity - as long as the referent exists, we might like to
know that the target (i.e. the element uniquely identified by the ID) is
semantically "of the right kind". But this is a constraint we would like
impose on the use of the *name* of the IDREF attribute in question - it
has nothing to do with the referential nature of an IDREF itself (that's
only what it's for, anyway.)
Finally, for ID, if a "unique identifier" category didn't exist, it would
have to be invented. I don't understand why any more complicated form of
scope has to be part of the formalism itself.
I think the real problem is that declared values don't square with the
usual notions of "type" (as in "data type"), so a type system of the kind
under discussion should probably leave them out altogether except as just
plain and simple NAMEs.
| A good rule would be that all you should need to tell whether a value is
| a legal value is the lexical representation itself, but unfortunately
| QNames wouldn't be allowed if that were the rule.
And a good thing too, that.