Re: [xml-dev] The illusion of simplicity and low cost in data designand computing
I don't recall a way to say that some element's content uses a notation, in XML. The scope of NOTATION in XML relates to external non-XML entities. There is no semantic that says, unless I have forgotten, that if an element has an attribute which specifies a notation, it applies to the content of the element (rather than to some link or reference.)
Even in XML Schemas, the datatype type NOTATION has the caveat "
For compatibility (see Terminology (§1.4)) NOTATION should be used only on attributes and should only be used in schemas with no target namespace." Which makes it clear that it is a sunset feature limited to replicating what DTDs provided.
In any case, even embedded NOTATIONS were supported, you need to look in a schema or markup declarations so it is not inline. (By embedded I mean the content is in an element, by inline I mean that the the markup to say what the notation is at the same location.)
XML's problem as a syntax is that it does not make enough use of delimiters to signify things inline, locally. This forces unnecessary resort use of extra layers.
For example consider the attribute Eq "=". It is a useless thing in a position that could carry lots of meaning. Instead you could use that delimiter position to indicate that an attribute was some kind of ID or anchor (say with "=#") or some kind of IDREF or target (say with "#=") (which I have in my RAN experiment).
So lets imagine some future XML with some delimiter convention to say whether the attribute applies to the current element orkto its value (say "=" and "=="). That would provide an inline way for a system to know that there is an embedded notation rather than, say, a link.
(Now in fact there is a syntax for inlined embedded notations as element content: you could use a PI instead of the text node. But that prevents XML annotation of portions of the embedded notation, so cripples a key value of markup languages, that you can tag things. And for things like XSLT, a PI is not part of the value of an element, so rather than being a mechanism for labelling data content with a notation, it removes it.)
Cheers
Rick
Rick Jelliffe <rjelliffe@allette.com.au> writes:
> XML provided the first (headers, doctyoe, namespaces, etc) but kinda
> fails to provide the second (standard inline conventions to introduce
> embedded notations). Which is why it struggles whenever it has to
> contain non-xml data inside: hence see ludicrous approaches like
> requiring an external schema to say some element value is bin64.
Isn't that what NOTATION declarations are designed to do (and in fact
do, when people use them)?
--
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com