XSchema: New draft of John Cowan's proposal
Toby Speight
tms at ansa.co.uk
Thu Jun 4 16:17:10 BST 1998
John> John Cowan <URL:mailto:cowan at locke.ccil.org>
=> In article <199806041416.KAA17908 at locke.ccil.org>, John wrote:
John> One problem with XML is that there's no way to say "Attribute B
John> is #REQUIRED iff Attribute A has value 'foo'".
Yes. This is why I like your use of elements for specifying
defaulting of attributes. My vote is keep it.
>> instead of having freely mixable content of (ELEMENT|ENTITY|NOTATION)*,
>> it might be better to enforce the grouping of declarations: (NOTATION*,
>> ENTITY*, ELEMENT*).
John> How Pascal-ish!
<g>
John> No, I think it's better to be freely able to associate things
John> that go together in linear order.
I can't remember (nor find easily in the spec) whether notations must
be declared before use. If so, then I think we should consider
echoing that constraint, to simplify conversion to DTD. Apart from
that consideration, I have no preference (and it's easy to transform
the document algorithmically, if required).
John> Indeed, I'm thinking that XSchemas should have structure, ...
Sorry, you lost me with this paragraph. Can you illustrate it with an
example?
>> <!-- use #PCDATA for this now; we can loosen the content model as the
>> spec evolves (in particular, we will want to link to IDs
>> elsewhere in the XSchema -->
>> <!ELEMENT DOC (#PCDATA)>
John> I still think that ANY is the right thing, so that arbitrary
John> markup (XHTML or XTEI or whatever) can be used here.
I'm not keen on arbitrary markup, because I'm interested in processing the
documentation with DSSSL to give a pretty-printed human-readable document
to go with the DTD. It's hard to do that if you don't know what elements
to expect. And, as I mentioned, we'll want some XSchema-specific elements
to refer to ELEMENT definitions (for example).
>> Do individual ENUM values need documenting? Or is it sufficient to
>> have the DOC in ATT describe them?
John> I would say yes, they should allow documentation, for modularity.
<!ELEMENT ENUM (DOC)>
>> Do entities and notations need documentation?
John> Surely! One purpose of documentation is to describe *purpose*, and
John> understanding a notation will often require knowing its purpose:
John> not everybody knows what "PERL5.x" means, still less "RipScrip2.0".
Okay; adding DOC to ENTITY is trickier than the other cases, since its
content-model is #PCDATA - actually, the more I think about it, the
more difficult it seems to treat internal and external entities the
same:
<!ELEMENT EXTERNAL-ENTITY (DOC)>
<!ATTLIST EXTERNAL-ENTITY
%external;
notation CDATA #IMPLIED>
<!ELEMENT INTERNAL-ENTITY (DOC)>
<!ATTLIST INTERNAL-ENTITY
value CDATA #REQUIRED>
Documenting NOTATION is trivial.
>> A final comment, on conformance: should valid documents having
>> a DTD which uses the XSchema DTD as a base architecture be
>> considered conformant? Or should we insist that only the
>> results of architectural forms processing can qualify? (Using
>> architectural forms means that an internal subset may be used
>> if it is compatible with the base architecture.
John> I can't comment, as I don't understand architectural forms. Can
John> you give a simple concrete example?
Not really - I think there are other people on this group who are more
qualified than I to do that. I've only used architectural forms to
create DSSSL documents, and that was very much a trial-and-error
process. But my motivation stems from the fact that DSSSL documents
must only satisfy the architectural form; this enables individual
(derived) DTDs to use e.g. their own names for the elements (perhaps
in an author's native tongue), but prevents internal subset extensions
from changing the allowed model.
--
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