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] Build Rich Complexity from a Small Set of Well-DefinedMarkup Combinators

I felt tempted to write on to this thread.

I have full regards for any mechanism that can validate XML instances.
Therefore XSD, RELAX NG and Schematron all look good to me.

Having said this, I have few specific comments to points mentioned
below (please see inline).

On Wed, Aug 24, 2011 at 9:12 PM, John Cowan <cowan@mercury.ccil.org> wrote:
> What makes XSD complicated is the irregularity of the rules.  For example,
> a choice between child elements is representable, but a choice between
> attributes is not.

I believe, this is no longer true with XSD 1.1. The choice between 2
or more attributes can be represented in an XSD 1.1 schema. Here's a
small example, that uses XSD 1.1 assertions,

<xs:attribute name="att1" type="xs:string"/>
<xs:attribute name="att2" type="xs:string"/>
<xs:assert test="count(@att1 | @att2) = 1"/>

> What is more, there are many special rules about
> what can and cannot be done, the Unique Particle Attribution rule being
> the most notorious.

The concept of XSD particles is central to the XSD language (and this
hasn't changed between XSD 1.0 and 1.1). XSD particles map to element
declarations, element wild cards and model groups. During validation
with XSD schemas, an instance XML element is attributed (i.e with
which XSD particle an instance structure should be validated with) to
an XSD particle. The schema author may write an XSD schema, that have
ambiguous validation paths (and this is central to the UPA constraint,
and the XSD language defining such situations seems to present a nice

> By comparison, RELAX NG has 9 basic patterns (element, attribute,
> reference, parent reference, empty, text, datatype, typed value,
> notAllowed) and 8 combinator patterns (sequence, interleave, choice,
> optional, zeroOrMore, oneOrMore, list, mixed), but feels much simpler
> than XSD because of the relatively few restrictions in combining them.

I look forward to make a detailed comparison between XSD, RELAX NG and
Schematron :)

Mukul Gandhi

[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