From: Arjun Ray Newsgroups: comp.text.sgml Subject: How useful is a NOTATION Declared Value? Date: Wed, 08 Nov 2000 00:29:34 -0500 Organization: FUDGE Dispersal Systems Message-ID: <5llh0tkp0vrg44tgrtjmvdhbfu9j55t9ho@4ax.com> ISO 8879 Clause 7.9.4.4 (p336-7 in the Handbook) turns out to be more confusing than illuminating, at least to me. The NOTATION declared value strikes me as broken in a number of ways. First, there's no explanation of why the attribute value is restricted to a specific name group of notation names. How is this useful if the content is going to be passed off to *some* notation processor anyway? Shouldn't requiring a declaration of the notation be enough? Second, there seems to be an implicit assumption that the element type will have a content model of (#PCDATA) or declared content of either CDATA or RCDATA. What sense could there be in a NOTATION attribute for an element type with mixed or element content? Since the standard doesn't rule this out, shouldn't there be an explanation? Actually, it's worse than that. The example on p.336 of the Handbook looks like this With two instance uses:
Some IGES stuff
and
Problems: 1. In the second example, a #REQUIRED attribute gets nuked on the grounds that it's irrelevant/redundant. Huh? Why was it #REQUIRED then? (I think what's happening is that #REQUIRED is a kludge for a semantic that really can't be expressed cleanly.) 2. Obviously 'cgmbin' can't be a value of the attribute for inline content (without at least some form of encoding of the binary data.) On the other hand, the data content notation of a #CONREF-ed entity will be binding anyway - and the standard doesn't require that notation to be consistent with the NOTATION attribute. So why is 'cgmbin' mentioned in the attribute definition at all? Third, assuming nevertheless that the NOTATION attribute is indeed saying something about the data content of its associated element (type) - does the standard actually say this anywhere? - there is no way to take advantage of the notation's data attributes as one could with an external entity declaration. (The DAFE facility requires too much administrative machinery to be particularly useful, and at any rate doesn't have a clean answer for the nameclash problem, not that I can see.) Is there room to re-engineer this kind of attribute? (Or rethink the ways in which one might attach notated semantics to an element type in general?) -- :ar