Hello all,

I have decided to go with RELAX NG for the schema. I will explain my
reasons for doing so.

First and foremost, it is more readable. A developer getting his feet
wet with XML will be able to understand the schema just by reading it.
Understanding an XSD schema takes a little research, IMHO. 

Second, I appreciate the more modular approach that RNG gives;
datatyping is handled by external datatype libraries, including the XSD
datatype library.  This particularly fits this project because in many
instances I will not be dealing with datatype issues (yet). Others, or
perhaps myself in the future, can and should deal with those issues, and
a modular approach will be best suited for this application. RNG has the
attitude that there is no universal datatyping scheme, with the
exception of a few very basic types; each application has its own unique
datatyping requirements, and those requirements should not be required
to adapt to one datatyping scheme.

Third, RNG does not modify incoming documents. XSD has some features
that change the infoset, increasing the complexity of an implementation.
This includes default values and default elements. In genealogy changing
the source is generally considered a bad thing. I have seen enough
differences between genealogical programs to know that defaults and
assumptions are things we want to steer clear of. They have wreaked
havoc in GEDCOM for years, and I'd like to avoid that.

Fourth, in the research I have done it is generally agreed that RNG is a
superior tool for most applications, with the added bonus of being
simpler. I am very impressed by the sound computer science background of
RNG. I believe in using the best tool, but I also believe in using the
standard tool. RNG is an ISO draft recommendation, and while it may not
be a 'web standard' to the degree that XSD is, I believe it has enough
merit as a standard to be used, due to its ISO status and general

If you look at the cvs archives you'll see that I've added a basic
definition of the PERSONA, without regard to data types, in both XSD and
RNG. In the XSD I refer to an as-yet-non-existent persona_name
definition, and in RNG I just cop-out with text for both persona_name
and description_comments.

I welcome your comments and opinions!
Hans :)

"Everybody is talking about the weather but nobody does anything about it."
        -- Mark Twain

gdmxml mailing list

Reply via email to