RE: 7. Are CDATA sections allowed?

Peter:
I will try to answer your issues concisely so put them on top instead of inline.

Layers: This is both so common and used in nearly everything software oriented that it's hard to point to ONE definitive reference.  And we could go on and write books about it so this is as far as I will go.,..
If you want Wikipedia references try this:
http://en.wikipedia.org/w/index.php?search=software+layers&title=Special%3ASearch
That gives you about 5000 hits. It's a start.

Linking:
I agree that there are many XML vocabularies and uses that need linking (and in fact the HyperMedia group we belong to is working on it).
But see above.  And below.  Linking is not *intrinsic* to XML (except as you note maybe external entities and DTD's which are going away in MicroXML - even then it's very limited).
Huge amounts ... VAST amounts of XML use no linking at all.

	
Although it may be fundamental to many vocabularies that use XML.

To use an analogy.
TCP/IP is not at the same layer as IP
HTTP is not at the same layer as TCP/IP.
HTML is not at the same layer as HTTP
At different layers different things matter and Thats the whole idea of encapsulation of layers.  To not bleed through concepts and implementations across layers.

Whether this is "good" or not is definitely up for debate ... and has been for decades.  For the most part I assert it is agreed as generally universally good.  Although the "breaking of layers" is sometimes done (in hidden dungeons with secret spells ) to attempt to either simplify protocols or improve efficiency.  Sometimes it works at one or the other.

A very ad-hoc example.
In C the concept that IO should be built into the language was rejected and subjugated to libraries.  The side effect was that for many systems, standard libraries needed to be developed so that you could do IO.
It also meant that you could write embedded device, kernel and other software in C with no concept of file-like IO.
This was considered a "good thing".

In Pascal the FORTRAN concept that IO should be built into the language was considered essential and is part of the language.
This was considered a "good thing".
But we dont usually use FORTRAN or Pascal for operating systems*
*( Yes I know of contradictions ... dont start the flame war ... I've used both in OS code ... )
 
To use this stretched analogy , MicroXML is more like C then PASCAL.
And HTML is more like PASCAL.






-----------------------------------------------------------------------------
David Lee
Lead Engineer
MarkLogic Corporation
dlee@marklogic.com
Phone: +1 812-482-5224
Cell:  +1 812-630-7622
www.marklogic.com



-----Original Message-----
From: Rushforth, Peter [mailto:Peter.Rushforth@NRCan-RNCan.gc.ca] 
Sent: Wednesday, September 05, 2012 3:20 PM
To: David Lee; public-microxml@w3.org
Subject: RE: 7. Are CDATA sections allowed?

> >> Peter
> Virtually everything has to deal with links between resources.
> -----------
> Absolutely untrue.
> I cant measure it (and dont know how ... ) but ancedotially I 
> can say that the fraction of XML documents I myself have run 
> into that contain linking between resources is < 1% if that.  
>   Others experience will vary, but I can assert that it is 
> completely untrue that "virtually all" XML documents need linking.

Ok, I will admit I made that figure up.  But, when you consider the 
number of XML technologies which deal with links, you'll see, (but maybe not
agree with) what I'm talking about.  And that does not include vocabularies which
are invented by language designers who are supposed to be empowered
by XML.

XML - Entities, the source of much complexity in XML, AFAICT
xml-stylesheet processing instruction.
DTD, XML Schema <!DOCTYPE, xsi:schemaLocation, xsi:noNamespaceSchemaLocation, xs:include, xs:import 
RelaxNG - as discussed earlier, uses hypertext references to data type libraries, also @href

XInclude, XSLT,  each of which has the need for linking.  The list goes on, if you care to look at it.


> 
> >> Peter
> Eliminating DTDs just eliminates a way of reserving your 
> vocabulary, and a syntax to go with it; it doesn't eliminate 
> the need to reserve your vocabulary.
> ------
> Completely disjoint from predefining the *meaning* of the vocabulary.

I was referring to the links between the instance document and the vocabulary.
See DTD, XML Schema, RelaxNG, Automatic Namespaces and 
possibly, though not certainly, Architectural Forms. 


> 
> 
> 
> >> Peter
> David, I honestly don't understand what you mean by layers.
> I would like to see a diagram and text explaining layers.  
> ----
> This is well beyond something I could (or have time) to 
> expound on here, and is best left off list. 

Could not find a reasonable web page on wikipedia on this, so I agree. But 'layering'
has been held up as a reason why links and everything else besides markup syntax should not
exist in MicroXML.

> 
> >> Peter
> HTML and XML to me are in the same 'layer'.  HTML is a 
> completely reserved vocabulary, while XML reserves very little.
> ---
> HTML is a defined vocabulary (semantics) AND a syntax.
> XML is a syntax and not a defined vocabulary.  It can be used 
> to express (nearly) any vocabulary but IMHO one of its best 
> feature is that it does not impose a specific vocabulary.

I come back to the notion of it being too simple.  The xml namespace
was discarded not because of the specific vocabulary but because of the ugliness of the colon
in the name.   
  
> Thus the range of data it can model cleanly is at an entirely 
> different dimension then HTML.
> There are a lot of other equally or more accurate ways of 
> saying it but they are very very different.

I agree they have a different purpose.

Peter

Received on Wednesday, 5 September 2012 19:42:32 UTC