On Sat, Nov 7, 2009 at 10:15 PM, Dan Vint <dvint@dvint.com> wrote:
> Why and where do you stop? RelaxNG is another standard for providing
> validation and has a different/additional set of capabilities that are
> missing in both schema and DTD validation.
My point was, that XSD and DTD (and also XML) are "W3C" specs. RelaxNG
is an OASIS specification. I haven't seen W3C specs, recommendating
users to use OASIS specs, *and* mentioning these statements in W3C
specs themselves. Or do we have any instances of W3C specs, where W3C
recommends users to use certain OASIS specs. This more so doesn't
happen if W3C and OASIS develop competing languages. But I don't see
XSD and RelaxNG as competing to each other.
My simple point was, that XML spec mentions DTD as a validation
technology but it doesn't mention today XSD it's spec. And XSD is
another validation technology from W3C, which is vastly better than
DTD and is a pretty stable language now.
I think, we are not debating just now about the shortcomings of XSD.
Even DTD has shortcomings (I think, that's why XSD was developed), but
it's mentioned in the XML spec. I think, even RelaxNG has had certain
design goals, and it doesn't provides some of the capabilities with
XSD or DTD provides.
Looking at the XML spec, the XML spec seems to convey that DTD is an
inseparable part of XML definition. But if DTD is inseparable from
XML, why cannot XML spec say that XSD can be used for validation as
well (since XSD is a better XML validation technology, and is also
developed by W3C)?
> The history of XML is SGML and the use of DTDs. DTDs and SGML were initially intended
> for textual manual with little to know data types. A DTD is powerful enough
> to handle that requirement very well without overly complicating the
> specification of the document content.
That's history, and was the starting point I guess. But now,
data/messages is another important paradigm other than documents.
Keeping in view the evolution of XML (from documents to "documents &
data types"), XML validation is now an important concern for any kind
of XML data, whether that can be documents or data/messages.
> Just like picking a programming language you
> are free to pick the validation method you want to use.
I agree. But my point as I have been saying in this thread, was that
XML mentions DTD, but it doesn't mention XSD. This gives a naive user
a feeling, that DTD is something which is integral to XML, while XSD
is not. I believe, this should be corrected in XML spec.
> Would you have the standard for C point a
> programmer to Java, C#, etc just because they are newer and provide the
> same/similar/better functionality?
I agree. That won't be correct. A C spec cannot point users to Java, C# etc.
But I think, this argument doesn't map well to DTD and XSD case.
I even think, that a future XML spec other than referring to XSD as an
alternative XML validation technology with DTDs, should also provide
means to embed XML Schema's inline the XML documents, as we do with
DTDs.
I just could find this reference where Microsoft support inline XSD's
starting from MSXML 5.0 (ref,
http://msdn.microsoft.com/en-us/library/ms759142(VS.85).aspx). I
think, this design principle can be incorporated to the XML spec (or
is this already defined somewhere in W3C specs?).
I could also find this reference related to this,
http://xsd.stylusstudio.com/2005Mar/post03007.htm, which seem to
explain this design aspect from the point of view of XML spec.
--
Regards,
Mukul Gandhi