Lists Home |
Date Index |
Some further questions: say I have to design a
schema of some type and associate it to other
schemas based on it. In other words, I would
have a schema of abstractions that the secondary
schema would make more substantial by derivation.
1. Is RNG up to that? How?
2. Would the AF NG be a way to get that done?
I've drafted such a thing using XML Schema for
the HumanML project. We are about to finalize
requirements and have picked XML Schema as well
as RDF. But you are right that XML Schema is
not easy and I have a queasy feeling that our
target user groups for HumanML will have a hard
time working with it. Should we reconsider and
if so, should we simply include RELAX NG along
with XML Schema, or perhaps use it?
Again, my concern here is that we will already
have a hard design to master (use of base schema).
Whatever lightens that load and encourages use
of the base is of value.
From: John Cowan [mailto:firstname.lastname@example.org]
"Bullard, Claude L (Len)" scripsit:
> 1. More productive. Can one compose faster, is it easier to learn,
> does is do what I need to do in the framework?
Well, I'm a fairly bright sort of guy, and I could run RNG into my
rapidly aging brain with no trouble, but XSD (part 1) is still defeating
I would say that RNG is far and away the least restrictive schema
language of its type (excluding Schematron, Examplotron, Hook, etc.).
In essence, if you can write down RNG, and it makes any sense at all
(no elements within attributes or consecutive datatypes, e.g.) then it just
*works*, period. It has three syntaxes: XML-instance, programming-language,
and DTD, for validators, schema authors, and legacy respectively.
Its main weakness as against XSD is that it has no key/keyref support
other that DTD-compatible ID, IDREF, and IDREFS (which are technically
an extension, but supported in the existing validators). These were
present in earlier drafts, but were too messy and hard to get right
in the general case, and were dropped from RNG 1.0. Identity
constraints are really orthogonal to structural ones in any case.
This is a job waiting for someone to have a brain-wave.
The spirit of RNG is closely related to that of DTDs: there is a smooth
mental upgrade path. As a result, the DTD-RNG conversion tool is a masterpiece
of structure preservation: it does its very best to make whatever structuring
in the way of parameter entities that the DTD has, appear transparently
in the RNG as well.