> The only way to avoid this required access and parsing is to use an entity
If XML is mostly for tools (as I hope) and not to be typed by Humans,
it doesn't really matter what kind of syntax is used, as long as it's
simple enough that people implement it without losing their dinners.
In this case, SGML conformance is important, but so is having a
respectable-looking syntax. I think it's very important to avoid
syntax that is only for political reasons. And anything done for
SGML conformance that wouldn't otherwise have been done that way
had better be stated clearly, explicitly and firmly in ISO 8879.
There is no point in conforming to unwritten assumptions. By
definition, you can't.
I'm not sure if this helps (I hoe it does) but I can see another way.
Let's ask the question, when does the parse finish?
A browser (let's say) is displaying the document as it receives
it, and then goes back and deals with entities, and, when it has
finished, it has perhaps also parsed the document and validated it.
Part way through the process, perhaps it hasn't fetched that entity
whose contents is to be include here. The order in which it does thigs
with respct to time is not important. What is important is that it ends
up with the correct result.
If the browser is allowed to display data as it fetches it, it can also
display the document before it's finished accessing included entities.
Well, OK, I don't know if that argument is a little bit weasel-like.
But if parsing of inline data is what you want, &this; is the way
to get it, right now.
It is true that there could be an "XML-INCLUDE" element type;
description of contents for user to see until it's loaded, perhaps
is that really better?
Perhaps it is -- you don't need to define an entity.
On the other hand, we have another element in the namespace (XML-INCLUDE)
and we've lost indirection, so we can't reuse links.
If we have the entitity, we might as well &do; &this; &with; it.
On the other hand, if there are no entities at all, & ceases to
be a special character, which is neat.
The very first SGML document I ever saw was abut R&D in Europe.
It was created with an early SGML editor... that had conveniently
put at the start of the document
<!ENTITY D "">
so that the document ended up being about R in Europe...
The fewer character sequences that are special in text, the fewer
surprises you get.
Quick quiz for troff users (but don't reply on the list!): after the book
'trouble in the antarctic' was mentioned in one troff document, the
output seemed to turn into a foreign language. Why?