OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XML spec and XSD

At 2009-11-15 07:34 +0530, Mukul Gandhi wrote:
>On Sun, Nov 15, 2009 at 2:15 AM, Tim Bray <Tim.Bray@sun.com> wrote:
> > I thought Rick was being fair.  XSD is a failure by any sane technical
> > measure.
>I agree, that XSD spec has been quite mammoth and functionally
>complex. That's the only aspect, I see XSD being different from most
>of other W3C specs.

I wouldn't agree with that.  I also side with Tim 
and Rick and others who grudgingly find they have 
to work with XSD (usually to meet customer 
requests; personally I migrated from DTD to 
RELAX-NG and never embraced XSD), and for the 
same reason that Tim cites above: technical 
issues.  Size and complexity are not, necessarily, technical faults.

> From functional point of view, I don't think XSD doesn't work.

There are a number of areas that are 
problematic.  One example is no two vendors have 
implemented "redefine" the same way.  I had 
researched this to meet specific requirements 
identified for the UBL project and was burned by 
assuming the way one processor implemented 
redefine was the way others implemented it.

>So many numerous XML applications currently used XSD.

Popularity is no measure of 
functionality.  Vendors who are pushing XSD 
products would likely tell their clients there 
are no other choices for schema languages.  It is 
my assessment that vendors and users ignore or 
are unaware of other sources of XML-based 
technologies, such as ISO/IEC JTC 1/SC 34 which 
created the ISO/IEC 19757 Document Schema 
Definition Languages (DSDL) that includes 
RELAX-NG, Schematron and NVDL among other XML specifications.

>I don't think, there is anything wrong with the basic core/philosophy
>of XSD.

An example of a core fault is that W3C Schema is 
not closed under union.  I cannot 
programmatically express the union of two XSD 
schemas to create a third XSD schema that 
validates instances of the other two.  I might be 
able to by hand, but not programmatically.

This is not academic:  consider an XML document 
where in two different contexts there is an 
element <x> with different content models.  I 
then write a query that assembles all of the 
documents <x> elements under a single parent 
result element.  I have to hand-craft the schema 
that validates the result of the query (if it is 
possible and not an ambiguous content model), as 
I cannot express in XSD-speak two sibling 
elements with different content models.  If I 
could simply express the union of the two 
original <x> content models as the content model 
for the query result <x>, then I wouldn't have to resort to hand-crafting.

There may be other "core" faults, but that is one 
that has been a problem for me.

In RELAX-NG compact syntax, if I have a grammar 
"a" and a grammar "b" (be it document level, 
element level or any level of a grammar; at the 
element level both grammars might express 
different content models for the element <x>), 
the union of these two grammars is expressed as 
"a | b".  No other work is necessary.  An 
instance of <x> will validate true if it passes 
the constraints expressed by either grammar.

>I guess, some of users who don't like XSD generally, it's
>probably because of it's huge size, and steep learning curve.

But cognoscenti such as Rick Jelliffe, Tim Bray 
and many others would not find a specification's 
huge size and steep learning curve a fault if, 
technically, the end result was something that worked well.

It might indeed be a barrier for new people to 
W3C Schema, but my recollection is that negative 
opinions in this debate have not come from representatives of that user group.

>I believe, XSD also get's functionally better with the upcoming 1.1 release.

Probably the functionality will be better, yes, 
but will it address everything?  We won't know 
until it is released, and I suspect some legacy 
1.0 issues will dog all dot-releases of XSD.

I hope this is considered helpful to the discussion.

. . . . . . . . . . . Ken

Vote for your XML training:   http://www.CraneSoftwrights.com/x/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS