Lists Home |
Date Index |
I use XML Schema at work on a particular project because it has basically
been decreed higher up. The schemas are complex because they are long, but
don't use a lot of complex capabilties of XMl schema. I have tried to keep
them as simple as possible (because that's all I can manage to handle) and
the most advanced feature we use is element substitution groups. These
schemas import other schemas that use different target namespaces.
We use the schemas for validation checking during development of our
message-generating code, but not to validate each instance as it is
Two other people work with and develop these schemas. I find that each time
I get a new revision from them, out of say five schemas that work together,
two will have some problem that prevents them from working. All of us use
XML Spy to check the schemas, and still we get errors.
Sometimes I also use xsv, and sometimes Spy and xsl disagree. When that
happens, I usually find it impossible to read the Rec and figure out which
one to go with. Some of this may have to do with error messages (which are
lousy and sometimes misleading) or lax/strict validation, and generally when
I get a schema to work with xsv it will also work with Spy (these statements
refer to pre-version-4.4 of Spy).
To summarize this experience, I find XML schema to require far more
experimental computing to get right, and to be less predictable, than any
other xml thing I have been involved with. I have to experiment a lot with
xslt, too, but when I'm done I generally understand what is going on and
what that part of the Rec means. Not with XML Schema.
I'm looking forward to the day when I can write a schema in RNG and
translate it to XML Schema when I need to. On the other hand, I like
element substitution groups.