Lists Home |
Date Index |
No, that's an acceptable stack, Vladimir.
What say other turtles?
I know some of you prefer a turtleZero, but we
can punt that away safely until we get to running
turtles and rough dancing.
From: Vladimir Gapeyev [mailto:email@example.com]
Doesn't the following stack fit the bill?:
Top: 7. Humans
5. High-level programming languages
4. Declarative invariants
3. Types (i.e., structural constraints)
2. Abstract syntax [XML Infoset, or other XML data models]
Bottom: 1. Concrete syntax [XML]
This is just an XML-specific instance of the stack common to software in
general. The stack became more refined over the decades: originally all
semantics was in assembly-coded applications (#6), but gradually the
layers #2-#5 have separated.
Unfortunately, XML practice doesn't align along this stack cleanly. (I'd
say, this is too bad for practice ;-) E.g., W3C Schema spreads across
several layers, tightly glueing them together: it hijacks #2 by putting
PSVI instead of the Infoset, it's bulk (rightly so) is #3, but it also has
things belonging to #4 (e.g. key/keyref constraints) and even #5 or #6
(e.g. the mechanism for filling-in default values and the mechanism for
translating XML into PSVI).
Or you were asking about something totally different? If you have stuff
like RDF in mind, it is an application that uses XML as just a substrate
on which it grows. (I.e., RDF has a similar stack, and if we care only
about XML-based RDF, the interesting part of this stack is inside #5 and
#6 above.) But RDF, or similar "semantic web" developments, can't be the
only way to give XML semantics! (Sorry if the RDF guess was wrong)