Re: XSchema: ease of use (design goal 5)

John Cowan (cowan@locke.ccil.org)
Tue, 02 Jun 1998 11:46:14 -0400


Michael Kay wrote:

> I think the most important point this paper states (and
> demonstrates) is:
>
> >human beings will find them [XSchemas] painful to write by
> hand, due to their great redundancy compared to DTDs.
>
> This conflicts directly with design goal 5, which states:
>
> >XSchema documents shall be easy to create, read, and
> modify, and shall
> provide authoring support.

The emphasis here should be on "by hand". Writing XML documents
of any sort without machine support is painful. XED, to take
the lowest common denominator, makes a big difference here.

> When I first looked at the idea of encoding DTDs in XML a
> couple of months ago, one of my motivations was that I find
> the current DTD syntax very ugly, and I came to the same
> conclusion: whatever the merits of an XML encoding, it would
> not be user-friendly. (My feelings about XSL are the same).
> XML works well as a markup language for text; it also works
> well as a markup language for data; but it is very poor as a
> human-readable lexical encoding of a language with rich
> syntax.

I agree, if for "readable" you substitute "writable". Proper
indentation conventions and other such things can make reading
easier. But then, syntax-coloring editors can make writing
easier, too.

> * we can imagine a "pre-parser" which takes an RXML document
> and automatically generates additional XML markup so that
> all the syntax is now fully accessible as elements and
> attributes. This pre-parsed document would no longer be
> easily readable, but it would be easily processable using
> standard XML tools

Actually, I think XML-DTD syntax is fine for the purpose.
Write DTDs, translate to XSchemas; that's what I did when writing
the draft itself to produce the Meta-XSchema.

> * We could encode both the current DTD information and the
> additional constraints in RXML

Unfortunately it's hard to know how far to go. There is
a trivial XML encoding of DTDs something like this:

<DTD><![CDATA] insert the DTD here ]]></DTD>

and there is a slippery slope of just how much to encode as
elements and attributes, and how much to leave in DTD format.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)