DR 10-0030 Schemas: Clearly state the differences between XSD schemas and RNG schemas.
Arms, Caroline
caar at loc.gov
Thu Jan 13 21:44:43 CET 2011
I see two small typographical issues.
4th statement under 2 "t xml:all" should probably be "the xml:all"
intro to changes for Part 4 "In Appendix B of Part, add:" needs to have "4" inserted.
I found this understandable and can imagine that it would be very helpful. Not being an expert, I won't judge the correctness, but trust Murata-san.
Caroline
Caroline Arms
Library of Congress Contractor
Co-compiler of Sustainability of Digital Formats resource
http://www.digitalpreservation.gov/formats/
** Views expressed are personal and not necessarily those of the institution **
________________________________________
From: Makoto [eb2mmrt at gmail.com]
Sent: Thursday, January 13, 2011 2:44 PM
To: Chris Rae
Cc: MURATA Makoto; e-SC34-WG4 at ecma-international.org
Subject: Re: DR 10-0030 Schemas: Clearly state the differences between XSD schemas and RNG schemas.
I also think that this should be
informative.
Cheers,
Makoto
sent from my iPhone
On 2011/01/13, at 11:35, Chris Rae <Chris.Rae at microsoft.com> wrote:
> I think this looks great to me - I like the general discussion of RELAX NG vs XSD in (2). Am I right in thinking this whole section would be informative (given that technically this information is garnerable elsewhere, although it's tricky to amass)?
>
> Chris
>
> -----Original Message-----
> From: eb2mmrt at gmail.com [mailto:eb2mmrt at gmail.com] On Behalf Of MURATA Makoto
> Sent: 07 December 2010 17:19
> To: e-SC34-WG4 at ecma-international.org
> Subject: Re: DR 10-0030 ― Schemas: Clearly state the differences between XSD schemas and RNG schemas.
>
> Dear colleagues,
>
> Here is a rewrite of my proposed solution. I did not mention XSD 1.1 because it is not used in 29500 and it is not a W3C recommendation.
>
> Cheers,
> Makoto
>
>
> In Appendix B of Part 1, add:
>
> Differences between RELAX NG schemas and W3C XML Schema schemas in Part 1
>
> RELAX NG schemas in Appendix B are generated from W3C XML Schema schemas (Annex A), namespace prefix mapping (Annex D), Root Element Locations (Annex L), automatically, and then slightly changed by hand.
>
> There are some important differences between the RELAX NG schemas and XSD schemas, but this annex focuses on differences in schema organizations and those in expressed constraints.
>
> 1) Differences in schema organizations
>
> There is a RELAX NG schema (for example, DrawingML_Chart.rnc) dedicated to each OPC part (for example, DrawingML Chart). It includes all RELAX NG schema modules such as dml-chart.rnc. However, there are no such W3C XML Schema schemas dedicated to each OPC part.
> Some schema modules in W3C XML Schema import other schema modules.
>
> There is a RELAX NG schema xml.rnc, which captures xml:lang, xml:space, xml:base, and xml:id. However, there are no such W3C XML Schema schemas.
>
>
> 2) Differences in expressed constraints
>
> The RELAX NG schemas specify root elements of each OPC part, while the XSD schemas do not. For example, DrawingML_Chart.rnc specifies that the root element of the OPC part DrawingML Chart is a chartSpace element.
>
> The RELAX NG schemas do not specify default values, while the XSD schemas do. For example, dml-ahrt.rnc does not specify a default value for the attribute val in dchrt_CT_Boolean, but merely provides a comment about the default value. Meanwhile, dml-chart.xsd specifes true as the default value of this attribute in CT_Boolean.
>
> The RELAX NG schemas mimic minOccurs="0", minOccurs="1", maxOccurs="1", and maxOccurs="unbounded" in XSD schemas exactly, but do not mimic minOccurs="32" or maxOccurs="256". Such minOccurs and maxOccurs are loosely simulated by + or *. For example, dml-chart.xsd specifies maxOccurs="2" for the element errBars in CT_ScatterSer, while dml-chart.rnc specifies * for this element in dchrt_CT_ScatterSer.
>
>
> The RELAX NG schemas use the & operator for allowing different elements without specifying constraints on their sequences, but it is not always possible to use t xsd:all construct in W3C XML Schema. For example, wml.rnc uses the & operator in w_EG_RPrBase, but wml.xsd does not use xsd:all in EG_RPrBase.
>
>
>
> In Appendix B of Part, add:
>
> Differences between RELAX NG schemas and W3C XML Schema schemas in Part 4
>
>
> On top of the differences described in Part 1, Appendix B, there are some other differences.
>
> The RELAX NG schemas represent co-occurrence constraints between elements and attributes. For example, pml.rnc specifies that the pic element and the attribute spid in p_CT_OleObject are mutually exclusive. Meanwhile, pml.xsd simply allows both in CT_OleObject.
>
>
> VML drawing parts (Part 4, 8.1) can be validated against RELAX NG schemas, but cannot be validated against XSD schemas. This is because there are no XSD schemas for the unqualified xml element, which is the root element of VML drawing parts.
>
More information about the sc34wg4
mailing list