[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Victory has been declared in the schema wars ...
- From: Henri Sivonen <hsivonen@iki.fi>
- To: XML Dev ML <xml-dev@lists.xml.org>
- Date: Wed, 29 Nov 2006 11:55:35 +0200
On Nov 28, 2006, at 14:21, David Carlisle wrote:
> Of course this rng based xhtml2 hasn't proved to be overwhelmingly,
> popular, before declaring victory we'd better keep an eye on html5
> which
> manages to do without dtd or xsd or rng, or any other recognised
> schema
> language at all.....
I think not having a normative schema for HTML5 is a very good idea.
None of the current schema languages (not even Schematron) are
adequate for expressing all the conformance requirements of HTML5.
Experience has shown that people become too schema-focused if there
is a normative schema: DTDs aren't adequate for expressing the
conformance requirements of HTML 4.01, but still people behave as
though they had checked for conformance when they have validated
against a DTD.
Still, HTML5 can be counted as a bullet point in favor of the RELAX
NG camp. The only schema for HTML5 in the works is a RELAX NG
(Compact Syntax) schema with companion Schematron assertions ( http://
syntax.whattf.org/ ). A conformance checker for HTML5 requires non-
schema checking code to fill the gaps that RELAX NG and Schematron
can't fill (conveniently or at all). For example, http://
hsivonen.iki.fi/validator/html5/ checks for table cell overlap in
Java code--not in RNG, XSD or Schematron.
But back to RNG vs. XSD:
Dare Obasanjo pointed out an important issue on his blog at
http://www.25hoursaday.com/weblog/PermaLink.aspx?
guid=19adeb36-16d9-4cb6-a99f-cf3d1b15de5c
Validation and data binding are different problems.
RELAX NG is great for validation. For this purpose, allowing
ambiguous grammars and making datatypes just check whether a string
belongs in a formal language are great features. Trying to introduce
something as innocent-looking as the RNG DTD compat features already
becomes an annoyance that gets in the way of writing nice ambiguous
schemas. Infoset augmentation as a side effect of validation is not
cool.
A lot of people use XSD for data binding. RNG doesn't do data binding
*by design*, so telling those people to use RNG for data binding
doesn't seem to help. Personally, though, I have serious doubts about
whether automated data binding is a good idea--in particular due to
service versioning concerns. And I am not suggesting that XSD is a
good solution for data binding, either.
P.S. Readers of this thread may be interested in an online RNG and
Schematron 1.5 validator:
http://hsivonen.iki.fi/validator/
--
Henri Sivonen
hsivonen@iki.fi
http://hsivonen.iki.fi/
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]