From: Robert Sayre [mailto:sayrer(_at_)gmail(_dot_)com]
The advice WGs need most often is probably "most of your
goals are false ones, and this design is 10x too
complicated". In the apps area, "stop using W3C XML Schema"
is probably up there, too.
That is not good advice, the SGML DTD mechanism is even more grossly defective.
It should be studdied as a prime example of how not to architect standards. The
only way to understand the idiotic and arbitrary limits imposed in the DTD
scheme is that there is no coherent design, merely a description of a program
and ad-hoc hacks performed to the program to support a random set of poorly
articulated requirements.
The solution in this case is to propose an alternative schema mechanism. People
speak highly of relax. My own solution which can be seen in SAML and XKMS (or
rather could when I was editor) was to develop my own schema language which is
considerably simpler and less flexible. I then generated the schema for the
specification from my own schema language using some simple tools.
So for example XML schema allows an element name to have multiple definitions
within a document which is idiotic. There is no excuse for context sensitive
grammars in a protocol spec. XML schema allows for a whole range of silly
stuff, like Qnames (which I have made the mistake of using myself at some
point).
The only thing you can't fix that way is the basic idiocy of the way schema
inclusion works. Schema inclusion requires the introduction of a new prefix
namespace which results in the ludicrous complexity of XML documents, as well
as the verbosity.
There is no conflict between the schemas of XKMS, XML Signature, XML
Encryption. It should be possible for the XKMS schema to include the other two
schemas without declaring additional prefixes.
It is an issue but not a major one, certainly XML Schema is broken and should
be fixed but the solution is not to bar its use, that is predjudice
masquerading as architecture.
_______________________________________________
Ietf mailing list
Ietf(_at_)ietf(_dot_)org
https://www1.ietf.org/mailman/listinfo/ietf