xml schema and relax ng element comparison

3
1 XML Schema and RELAX NG Element Comparison Michael Fitzgerald http://www.overduebooks.net This document briefly compares XML Schema’s 42 elements with RELAX NG’s 28 elements. In the table that follows, the first column lists all the XML Schema elements while the second column lists any RELAX NG elements that have a one-to-one relationship, a comparable purpose, or only a roughly similar purpose to XML Schema elements. Elements unique to each language are also listed in separate tables below. The prefixes in the tables, xs:, rng:, and a:, are associated with the following namespaces: xs: with http://www.w3.org/2001/XMLSchema rng: with http://relaxng.org/ns/structure/1.0 a: with http://relaxng.org/ns/compatibility/annotations/1.0 XML Schema Element RELAX NG Element xs:all rng:interleave, rng:optional xs:annotation a:documentation xs:any rng:anyName, rng:nsName xs:anyAttribute rng:anyName, rng:nsName xs:appInfo a:documentation xs:attribute rng:attribute xs:attributeGroup rng:define xs:choice rng:choice xs:complexContent xs:complexType rng:element, rng:define, rng:ref xs:documentation a:documentation xs:element rng:element xs:enumeration rng:choice, rng:value xs:extension rng:param xs:field xs:fractionDigits rng:param xs:group rng:group, rng:div xs:import rng:externalRef, rng:parentRef xs:include rng:include, rng:externalRef xs:key xs:keyref xs:length rng:param xs:list rng:list

Upload: overdue-books-llc

Post on 04-Dec-2014

1.627 views

Category:

Technology


1 download

DESCRIPTION

This document briefly compares XML Schema's 42 elements with RELAX NG's 28 elements. In the table that follows, the first column lists all the XML Schema elements while the second column lists any RELAX NG elements that have a one-to-one relationship, a comparable purpose, or only a roughly similar purpose to XML Schema elements. Elements unique to each language are also listed in separate tables.

TRANSCRIPT

Page 1: XML Schema and RELAX NG Element Comparison

1

XML Schema and RELAX NG Element Comparison

Michael Fitzgerald http://www.overduebooks.net

This document briefly compares XML Schema’s 42 elements with RELAX NG’s 28 elements. In the table that follows, the first column lists all the XML Schema elements while the second column lists any RELAX NG elements that have a one-to-one relationship, a comparable purpose, or only a roughly similar purpose to XML Schema elements. Elements unique to each language are also listed in separate tables below.

The prefixes in the tables, xs:, rng:, and a:, are associated with the following namespaces:

• xs: with http://www.w3.org/2001/XMLSchema • rng: with http://relaxng.org/ns/structure/1.0 • a: with http://relaxng.org/ns/compatibility/annotations/1.0

XML Schema Element RELAX NG Element xs:all rng:interleave, rng:optional xs:annotation a:documentation xs:any rng:anyName, rng:nsName xs:anyAttribute rng:anyName, rng:nsName xs:appInfo a:documentation xs:attribute rng:attribute xs:attributeGroup rng:define xs:choice rng:choice xs:complexContent xs:complexType rng:element, rng:define, rng:ref xs:documentation a:documentation xs:element rng:element xs:enumeration rng:choice, rng:value xs:extension rng:param xs:field xs:fractionDigits rng:param xs:group rng:group, rng:div xs:import rng:externalRef, rng:parentRef xs:include rng:include, rng:externalRef xs:key xs:keyref xs:length rng:param xs:list rng:list

Page 2: XML Schema and RELAX NG Element Comparison

2

xs:maxExclusive rng:param xs:maxInclusive rng:param xs:maxLength rng:param xs:minExclusive rng:param xs:minInclusive rng:param xs:minLength rng:param xs:notation xs:pattern rng:param xs:redefine rng:include, rng:define xs:restriction rng:except, rng:notAllowed xs:schema rng:grammar xs:selector xs:sequence xs:simpleContent xs:simpleType xs:totalDigits rng:param xs:union rng:list xs:unique xs:whiteSpace rng:param

XML Schema Unique Elements The following table lists XML Schema elements for which there is no similar or equivalent RELAX NG element (first column) followed by an explanation why (second column).

XML Schema Element Explanation xs:complexContent Not necessary in RELAX NG syntax xs:field RELAX NG does not implement keys xs:key RELAX NG does not implement keys xs:keyref RELAX NG does not implement keys xs:notation RELAX NG does not directly support notations xs:selector RELAX NG does not implement keys xs:sequence Not necessary in RELAX NG syntax xs:simpleContent Not necessary in RELAX NG syntax xs:simpleType RELAX NG uses external datatype libraries; types are external xs:unique RELAX NG does not implement keys

Page 3: XML Schema and RELAX NG Element Comparison

3

RELAX NG Unique Elements The following tables lists RELAX NG elements for which there is no equivalent or similar XML Schema element (first column) followed by an explanation why (second column).

RELAX NG Element Explanation rng:data Uses the xs:type attribute rng:empty Uses the xs:complexType element rng:interleave XML Schema requires deterministic content models rng:mixed Uses with xs:mixed attribute

rng:oneOrMore Achieved with xs:minOccurs="1" and xs:maxOccurs="unbounded"

rng:optional Achieved with xs:minOccurs="0" and xs:maxOccurs="1"

rng:param Uses facet elements (xs:maxLength, xs:minLength, etc. rng:ref Achieved with the xs:ref attribute rng:start Uses global xs:element declaration rng:text Achieved with xs:type="xsd:string" attribute rng:value Achieved with xs:value attribute

rng:zeroOrMore Achieved with xs:minOccurs="0" and xs:maxOccurs="unbounded"