Rick Jelliffe
a publié une proposition pour Hook, une
expérience de langage de schéma très concis n'utilisant qu'un seul élément et
permettant de tester, élément par élément, les éléments proches et son contenu.
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
mercredi 7 février 2001
Un échange particulièrement riche et constructif avait
débuté la semaine dernière sur xml-dev que Tim Bray a caractérisé
ainsi:
"Je dois dire que cela fait longtemps que je n'avais pas pris de
plaisir à lire xml-dev, mais la valeur de cette
dernière semaine a été une exception. Il y a énormément à apprendre là dedans."
A la suite de cette longue discussion, Rick Jelliffe a proposé un
langage de schéma qui permet de répondre à la question suivante: "Est-ce
que cet élément a un nom, des ancêtres, des frères aînés et un contenu
plausibles?" et qui serait "comme un checksum pour un schéma":
"Un schéma Hook est un élément
contenant une liste de noms d'éléments, dont certains sont regroupés dans des
crochets carrés. Cette liste représente l'ordre des noms et la validation consiste
à vérifier la conformité par rapport à cet ordre."
Le résultat est très concis, comme le montre cette
proposition de schéma pour XHTML Basic:
<hook:order
targetNamespace="http://www.w3.org/1999/xhtml" >
html head [ title; meta. link. base. ] body
[ a br. blockquote caption; div dl; form h1; h2; h3; h4; h5; h6;
img. ol; p; pre; table; ul; ]
[ tr; dt; dd; li; input; label; select; textarea; ]
[ td option. ]
[ abbr acronym address cite code dfn em kbd q samp span
strong var object; ]
param
</hook:order>
Joe English a loué cette
proposition sur xml-dev et proposé un algorithme
de validation à la SAX puis, dans un autre message, des
diagrammes et formules de test.
Notant que Hook "est
aussi loin que possible de W3C XML Schema",
Rick Jelliffe s'est demandé si une caractérisation
formelle de Schematron ne serait pas possible et
a invité
mathématiciens et théoriciens de l'informatique à tenter l'exercice.
Autres articles:
Copyright 2001,
Eric van der Vlist.
|