Kimbro Staken wrote:
> On Friday, January 4, 2002, at 09:44 AM, [EMAIL PROTECTED] wrote:
[...]
> > The W3C Xml Schema may well not be the best tool for this job, and I also
> > would be
> > queasy about tying the server to some such standard at this point in time.
> >  In an ideal
> > future, a mature xml database would support validation against any of the
> > major
> > schema languages. Clearly that would be over-ambitious at this point, but
> > perhaps
> > the server could be equipped with hooks for implementers to install the
> > validation
> > mechanisms of their choice.
> 
> I think this is the likely path we'll pursue. There seems to be two major
> languages worth paying attention to, RelaxNG and W3C XML Schema. If both
> of those are supported most issues will be covered.
> 
> I'd like to here some opinions on DTDs though? So far we've been very anti
> DTD for the server. Does this make sense or should more attention be paid
> there?

Perhaps I could summarize what these three schema languages are good
at:

  DTDs:  validation of markup structure but almost no content (except
         enumerated attribute values. But built into XML and every 
         validating XML parser, fairly easy to use and understand. 
         Also has a pretty terse syntax, though not in instance syntax
         (if that's an issue to you). Tried and true and boring, but
         it does exactly what it was designed to do and is in very
         wide application. It's what most XML languages are specified 
         in, as it's a good specification language. TimBL has forced
         this to change (there's a requirement that XML Schema, a 
         constraint language, now be used for all W3C specifications,
         though I'm not certain how rigidly this is being enforced).

  XML Schema: an extremely complex specification that provides both 
         markup and content validation at the expense of that complexity.
         If you aren't doing much content validation then this is really
         overkill. In markup syntax, but almost impossible to author by
         hand, except for trivial document types. Is this a solid 
         technology, and do implementations interoperate reliably? Very
         good questions.

  RelaxNG: IMO kind of a middle ground between the two. A tight specification
         with a mathematical underpinning, in instance syntax and relatively
         easy to learn and author in. Uses the data typing facilities of
         XML Schema (part 2) and written by a small team of some of the
         world's experts in markup (such as Murata Makoto, James Clark,
         Norm Walsh, etc.).

I don't think Xindice itself needs any of these validation facilities
built-in, as how and when validation occurs, and what type of validation
(markup or content), how strict, etc. are definitely application-specific
issues. For example, one might have varying levels of strict schemas for
a series of relating document types for different purposes. There may
be even different schema languages used at different stages of processing
for even the same markup language (eg., if you don't need content 
validation once the document has been created, you gain performance to
then perform only structural/markup validation).

Xindice is a core technology that can be utilitized in many places within 
an application framework, and applications vary so widely that it's almost
impossible to generalize. It'd be sad to see Xindice shackled with 
components that are better attached to an application itself (ie., to the
application engine that uses Xindice).

Murray

...........................................................................
Murray Altheim                         <mailto:murray.altheim&#x40;sun.com>
XML Technology Center, Java and XML Software
Sun Microsystems, Inc., MS MPK17-102, 1601 Willow Rd., Menlo Park, CA 94025

            Corporations do not have human rights, despite the 
          altogether too-human opinions of the US Supreme Court.

Reply via email to