Extending XML
Rick Jelliffe
ricko at allette.com.au
Mon Jun 8 10:20:49 BST 1998
You seem to be saying "Is there a way to use XML declaration syntax and
processing model to define a language with a completely syntax?"
The answer is "Yes, use SGML". XML is a subset of SGML. It represents a
complete ratification of the basic model and syntax of SGML by industry,
together with a rejection (for WWW purposes only) of some of the more
hard-to-implement features of SGML.
In the case of your question, in SGML you can remap all delimiters and
keywords to different strings. You can make any symbol or text string act as
a reference to a previously defined tag. These "short references" can be
element-context-specific, and so change during the life of a document. You
can switch in and out banks of predefined attribute values (LINK). You can
define your own completely different external syntax which will be
translated into an SGML syntax before the parser gets to it (Formal System
Identifiers).
All these things are possible now with existing SGML (not every SGML product
has to support all of them). But XML's development philosophy was an
explicit rejection of this kind of flexibility: the reasons are
1) SGML already supports them if you need them
2) they complicate writing parsers
3) they can make documents unreadable
4) people want to use XML to solve their domain problems--they do not want
to have to become domain experts in markup languages too--and the SGML
experience is that people get annoyed if too much power and configurability
is offered
5) smaller documents are better achieved by compression, which also gives a
better layering of software (less "coupling" in Constantine and Yourdan's
termology)
6) modern GUIs reduces the importance of reducing keystrokes: at least for
the upper layers of structure--the lower levels of a structure are often
more conveniently hidden using infix-like delimiters (e.g. rather than
having separate attributes for method, host, directory, filename, etc.,
people like to use URIs which lump them all together.)
7) these syntactic issues do not increase the expressive power of the
language: XML is designed as a Web distribution language which also is not
completely hopeless as a maintenance format.
8) XML already provides the notation mechanism, by which you can embed your
own language inside elements or PIs.
9) You can define your own language and use that at any time anyway--but
that is the mess which people got themselves into which triggered off XML
(and SGML!). Open systems need open data: "Information wants to be free" in
the slogan of the techno crowd (it is a song too). So the value of the
"Standard" aspect (i.e. the "S" in SGML) is wothwhile considering.
Rick Jelliffe
==========================================================
The XML & SGML Cookbook, by Rick Jelliffe
Charles F. Goldfarb Series on Open Information Management
656 pages + CD-ROM, Prentice Hall 1998, ISBN 0-13-614223-0
http://www.sil.org/sgml/jelliffeXMLAnn.html
http://www.phptr.com/ > Book Search > "Jelliffe"
http://www.amazon.com/exec/obidos/ASIN/0136142230/002-4102466-3352420
> -----Original Message-----
> From: owner-xml-dev at ic.ac.uk [mailto:owner-xml-dev at ic.ac.uk]On Behalf Of
> Adam M. Donahue
> Sent: Monday, 8 June 1998 13:18
> To: xml-dev at ic.ac.uk
> Subject: Extending XML
>
>
> Has there been any discussion regarding using XML to extend XML
> itself? Let's see, how can I put this? For instance, say I want to be
> able to represent the grammar of C in an XML document. I could do
> that, I suppose. But how would I use this grammer to write a
> program? Obviously I don't want to turn a statement like:
>
> while (*a++ = *b++);
>
> into a series of elements. (Hmm. I just tried an example but this is
> definitely non-trivial!) Or something of this nature. Wouldn't it be
> nice to be able to use XML to define a structured format without
> having to use tags?
>
> Maybe this is not a good example. How about a way to encode all
> elements in fixed length fields, depending on the size of language?
> That way instead of having to parse for <XML> I could mask eight
> bits and do I quick comparison, for example. Do you see what I
> mean?
>
> Just some thoughts...
>
> Adam
>
> mailto:adam at cyber-guru.com
>
> xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
> Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
> To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
> (un)subscribe xml-dev
> To subscribe to the digests, mailto:majordomo at ic.ac.uk the
> following message;
> subscribe xml-dev-digest
> List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
>
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list