[
Lists Home |
Date Index |
Thread Index
]
RELAX NG can do type derivation by restriction, union, and list. In some
ways, RELAX NG's list type derivation is more powerful that XML Schema's
derivation.[1] All the facets that are available in XML Schema are available
in implementations of RELAX NG. In what specific ways does RELAX NG fall
short in type derivation?
As for named typing/subtyping in XML Schema, I think Murali Mani's analysis
is worthy of consideration.[2] There he discusses implicit and explicit
assignment, subsumption, and even (briefly) an instanceof method a la
XQuery. RELAX NG does not offer named typing yet, but a proposal is on the
table to provide it in 2.0.[3] As such it will most probably be presented in
a module rather than added to the core specification, in keeping with RELAX
NG's layered approach. I predict it will be a well-reasoned spec that won't
later invoke pangs of regret and won't be unduly difficult to implement or
use.
In what ways does RELAX NG fall short in interfacing with the OOP/relational
world? Is named typing a requirement for database interaction or just a
convenience? I don't know so I ask.
Mike
[1] http://www.thaiopensource.com/relaxng/design.html#section:10
[2] http://www.cs.ucla.edu/~mani/xmlresearch/datamodels/subtyping.pdf
[3] http://lists.oasis-open.org/archives/relax-ng/200206/msg00022.html
Derek Denny-Brown wrote:
> That said, WXS really does solve problems that RELAX NG does not. Named
> types are _necessary_ for good language integration. Type-derivation is
> extremely important also, and maps well to existing data-modeling tools.
> Sure you can live w/o it. The original C++ compilers compiled down to C
> (which is an unfair example, but holds none-the-less). That doesn't
> mean that developers should just write C code and not C++ code, but
> instead makes clear that the abstractions introduced in C++ were just
> and evolution of what existed in C. WXS adds some abstractions too the
> schema language which the authors deemed necessary.
|