Re: The illusion of simplicity and low cost in data design and computing
Rick Jelliffe <[email protected]>
| Newsgroups | gmane.text.xml.devel |
|---|---|
| Message-ID | <CADUdYQV7ScH1dmac8fDLr7P+4JdjbOV4FHo6-7bOA9SiZeScig@mail.gmail.com> |
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) <https://www.w3.org/TR/xmlschema-2/#terminology>) *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 On Mon, 15 Aug 2022, 2:04 am C. M. Sperberg-McQueen, < [email protected]> wrote: > > Rick Jelliffe <[email protected]> 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 >