[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Value spaces are cool! I wish for a cross-product(aggregate) value space
- From: John Cowan <cowan@mercury.ccil.org>
- To: "Costello, Roger L." <costello@mitre.org>
- Date: Thu, 24 Feb 2011 12:10:11 -0500
Costello, Roger L. scripsit:
> Is there another option (beside XML Schema) for expressing value spaces
> and aggregate value spaces? Can aggregate value spaces be expressed
> using Relax NG?
RELAX NG allows for multiple datatype libraries. The only library
required by the spec is a trivial one containing "string" and "token"
types. However, most RNG tools support at least the XSD library, and
some can be extended to support libraries written in a conventional
programming language. DTLL is a forthcoming XML-based language for
declaring your own datatype libraries without having to write code.
There are a few minor incompatibilities between the RNG view of the XSD
library and its own view:
The whiteSpace facet is not supported.
The enumeration facet is not supported (use a choice of values
instead).
Multiple pattern facets are an implicit intersection rather than an
implicit union as in XSD 1.0. In XSD 1.1, they are also an implicit
intersection.
The NOTATION datatype is treated as a synonym for QName, because
RELAX NG does not have notation declarations.
The ID, IDREF, and IDREFS types must be used in a DTD-compatible way.
That is, they can only be used as attribute types, and the attributes
of a specified element name have to share the same IDness across
all uses of that element name. This arises particularly when you
specify that a wildcard attribute (which must always be of type
string) and an ID attribute may both appear on the same element.
The wildcard must be modified to exclude the ID attribute.
--
It was impossible to inveigle John Cowan <cowan@ccil.org>
Georg Wilhelm Friedrich Hegel http://www.ccil.org/~cowan
Into offering the slightest apology
For his Phenomenology. --W. H. Auden, from "People" (1953)
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]