XSchema question
Ron Bourret
rbourret at dvs1.informatik.tu-darmstadt.de
Wed Aug 5 11:22:46 BST 1998
> 'Inline-schema' looks similar to internal DTD subset except it can be any
> where in the XML stream and not just in the !DOCTYPE declaration section at
> the beginning of a XML stream. 'Dynamic-schema' is simply schema which can
> be changed. I don't know XSchema too well so allow me to use DTD syntax to
> illustrate an exampe:
>
> <schema>
> <!ELEMENT foo (a, b)>
> </schema>
> <foo>
> <a>
> <b>
> </foo>
> <schema>
> <!ELEMENT foo (a, c)> <!-- redefine foo element's containment
> rules -->
> </schema>
> <foo>
> <a><c>
> </foo>
Hey! Nice idea! XSchema certainly supports this -- it's just a bunch of XML
elements. All your processor needs to do is recognize the XSchema elements,
store the information in them, and apply it to all following elements until the
next XSchema element is reached. (Remember that the root element of an XSchema
document is named "XSchema" -- this makes recognition and containment of XSchema
elements easy.)
Some comments:
1) You've probably already realized this, but a DTD for such a file would be of
little or no use. Because each XSchema section can introduce new elements and
redefine old ones, the DTD would probably consist of a bunch of elements with
content models of ANY. This is of no use either for validation or determining
storage structures on the fly.
2) The above document is not well-formed. You need to wrap it in a container
element such as <log-stream>.
3) The semantics of how each successive XSchema affects the previous XSchema are
not well-defined (additive? total replacement? partial replacement?) and
probably won't be defined in XSchema 1.0. You are therefore on your own. For
safety's sake, I suggest you treat each XSchema as a completely new definition
of the following elements.
-- Ron Bourret
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