From: redacteurs@xmlfr.org
Date: 10/10/2003 - 11:52
SChema?
X-Mailer: FormatedTextOutputHandler
Qui utilise les facettes fondamentales de W3C XML Schema ?
Michael Sperberg-McQueen pose sur XML-DEV une question [1] qui semble
aussi surprenante surrealiste : quelqu'un utilise t-il les facettes
fondamentales de W3C XML Schema ?
Eric van der Vlist , Dyomedea ( vdv@dyomedea.com ).
---------------
Retrouvez cet article en ligne
(http://xmlfr.org/actualites/tech/031009-0002).
Donnez votre avis !
mailto:xml-tech@xmlfr.org?subject=Re:%20INFO%20:%20Qui%20utilise%20les%20facettes%20fondamentales%20de%20W3C%20XML%20SChema?%20
---------------
Le probleme de base est simple et bien connu : le type « xs:duration »
de W3C XML Schema qui suit le format « PnYnMnDTnHnMnS » permet de
melanger des durees exprimees en annees, mois, jours, heures, minutes
et secondes.
Le nombre de jours dans un mois (entre 28 et 31) ou dans une annee (365
ou 366) etant variable, la relation d'ordre entre durees melangeant ces
unites n'est que partielle. Ainsi, les deux durees « P1M » (1 mois) et
« P30D » (30 jours) ne peuvent pas etre comparees puisque un mois est
compose de 28 a 31 jours.
La solution lorsque les applications ont besoin d'utiliser des durees
disposant d'une relation d'ordre totale est tout aussi connue : on
definit des durees composees soit uniquement de mois et d'annees soit
uniquement de jours, heures, minutes et secondes.
Ces durees peuvent etre definies par derivation en utilisant la facette
« pattern » (voir par exemple la section [2] correspondante dans mon
livre « RELAX NG [3] »).
Deux valeurs appartenant a un de ces types, par exemple « P24M » (24
mois) et « P1Y12M » (1 annee et 12 mois) peuvent etre comparees sans
probleme puisque les unites utilisees ont des correspondances fixes
dans chacun de ces deux sous-types.
Ce besoin de types derives du type « xs:duration » disposant de
relations d'ordre totales a ete formulee par le groupe de travail
XQuery et le groupe de travail W3C XML Schema songe a les definir comme
des types predefinis dans sa version 1.1.
Tout irait bien s'il n'etait specifie dans la recommandation W3C XML
Schema que les types derives (predefinis ou non) heritent de toutes les
proprietes de leur type de base.
Applique a notre probleme, cela signifie que dans la mesure ou le type
de base « xs:duration » dispose d'une relation d'ordre qui n'est que
partielle, les types derives doivent avoir la meme propriete et ne
peuvent pas etre consideres comme ayant une relation d'ordre totale.
D'ou la question de Michael Sperberg-McQueen qui demande si les
applications respectent cette regle en souhaitant que ce ne soit pas le
cas pour pouvoir tout simplement "ignorer le probleme" .
Que le coresponsable d'un groupe de travail puisse publiquement
souhaiter que personne n'ait eu l'idee de suivre a la lettre une de ses
recommandations montre bien la limite du systeme de typage de W3C XML
Schema .
Ce que l'on peut reprocher ici au groupe de travail W3C XML Schema , ce
n'est bien entendu pas la complexite des unites de date heritee du
calendrier Gregorien, mais plutot d'avoir cherche a imposer des types
de donnees universels devant convenir a tout le monde au lieu d'avoir
propose un mecanisme permettant a chacun de creer les types de donnees
qui lui conviennent.
Pour en revenir au type « xs:duration », ce type ne convient ni au
controleur de gestion qui souhaiterait des facteurs de conversions
fixes entre jours, mois et annees (un mois = 30 jours, 1 annee = 360
jours) ni a l'astronome qui souhaiterait des taux de conversions
variable entre annees et secondes pour tenir compte d'ajustements plus
fins entre ces durees.
Nous ne pouvons pas reprocher a W3C XML Schema de ne pas avoir defini
tous ces types, mais il est difficile d'accepter que les applications
en ayant besoin soient bloquees et ne puissent pas les definir de
maniere complete, avec leurs proprietes (ou facettes fondamentales pour
reprendre l'expression de Michael Sperberg-McQueen ).
Plutot que d'ignorer le probleme, peut-etre serait-il souhaitable
d'essayer de le resoudre enfin?
Il faut dire que le probleme est de taille et que la partie
correspondante au niveau du projet ISO / DSDL semble etre, elle aussi,
en panne!
Autres articles :
- Quel langage de schema XML choisir pour chaque usage ? [4]
- DSDL progresse [5]
- W3C XML Schema, pour le meilleur ou pour le pire? [6]
- XQuery par les experts [7]
Copyright 2003, Eric van der Vlist .
---------------------------------------------------------
References:
[1] http://lists.xml.org/archives/xml-dev/200310/msg00251.html
[2] http://books.xmlschemata.org/relaxng/ch11s05.html#id2846368
[3] http://books.xmlschemata.org/relaxng/
[4] http://xmlfr.org/documentations/articles/030314-0001
[5] http://xmlfr.org/documentations/articles/030314-0001
[6] http://xmlfr.org/documentations/articles/020624-0002
[7] http://xmlfr.org/actualites/tech/031002-0001
---------------------------------------------------------
Mail genere par FormatedTextOutputHandler pour XT
(http://4xt.org/downloads/examples/outputhandlers/formatedtext/).
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|