Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une première implémentation de XML Schema 1.1

Le , par Erwy

88PARTAGES

1  0 
Que pensez vous de XML Schema 1.1 ?
XML Schema 1.1 , s'il n'est pas encore une recommandation du W3C, y est candidat depuis le 30 avril 2009.
Bien que non standardisé officiellement, cela n'a pas empêché SAXONICA dans sa dernière version, 9.2, de SAXON d'en implémenter une partie .
Le point positif est que XML Schema ne connaitra donc pas le destin de ces standarts quasiment passés dans l'oubli comme XML 1.1 faute d'implémentation.
On peut aussi espérer que certains des ajouts par rapport à la version 1.0 sauront lui apporter le succès.
En effet on notera dans les ajouts :
Une bien plus grande utilisation de Xpath (1.0 et 2.0) et de leur fonction
ASSERT qui permet de définir les valeurs d'élément ou d'attributs par rapport à d'autre
Code : Sélectionner tout
1
2
3
4
5
<xs:complexType name="intRange">
 <xs:attribute name="min" type="xs:int"/>
 <xs:attribute name="max" type="xs:int"/>
 <xs:assert test="@min le @max"/>
</xs:complexType>
ALTERNATIVE qui permet de décider un type en fonction de la valeur d'un élément ou d'un attribut
Code : Sélectionner tout
1
2
3
4
<xs:element name="Publication" type="PublicationType">
     <xs:alternative test="@type eq 'book'" type="Livre" />
     <xs:alternative test="@type eq 'magazine'" type="Magazine" />
</xs:element>
Des ajouts qui résolvent bien des problèmes de validation posés sur les forums XML de developpez.com.

Lire aussi :

A quoi sert XML-Schema ?

La rubrique XML/XSL et SOAP (actu, forum, tutos) de Développez

Et vous ? :

Pensez-vous XML Schema 1.1 va s'imposer et remplacer 1.0 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de souviron34
Expert éminent sénior https://www.developpez.com
Le 09/10/2009 à 14:35
moi, tout ceci me fait plus penser à l'invention d'un nouveau langage (lourd et contraignant) qu'à autre chose.

C'est ce que je reproche le plus à XML...

Car maintenant il faut environ un bouquin de 500 pages pour s'y retrouver, alors que c'était censé faciliter les choses...
1  0 
Avatar de mrjay42
Membre habitué https://www.developpez.com
Le 09/10/2009 à 15:34
Déjà on a XSL, un langage DE BALISES qui effectue des TRAITEMENTS, qui est basé sur un langage tiers pour les requêtes : à savoir xPath. Langage de requête qui ne ressemble à rien de connu...

Et puis y'a xQuery, un autre langage de requêtes qui s'appuie en partie sur xPath et en partie sur une structure type requête SQL

Et puis y'a XML Schéma, super dense, super précis, mais aussi super verbeux, a tel point qu'il est inutilisable/illisible sans un interpréteur qui permet un affichage sous forme de schéma graphique...genre celui dispo dans Visual Studio

En même temps y'a eu RelaxNG avec une syntaxe encore différente, qui propose notamment une écriture simplifiée, qui ne ressemble ni à une DTD ni à un XML Schema

J'avais oublié les DTD
Aaaah les DTD, une nouvelle syntaxe pour définir des structures de documents balisés...Une syntaxe qui ne ressemble à rien de connu, notez bien

Et maintenant on nous sort une nouvelle version de XML Schéma ?
Avec des structures conditionnelles ? Si machin = truc alors mon élément change de nature ? Oh bah bien sur que je vais l'utiliser
Ca va encore être super claire...Et puis, alors à représenter dans une version graphique du Schema, ça va être super beau.

Voila c'était mon coup de gueule du vendredi sur la "galaxie XML"
1  0 
Avatar de Erwy
Rédacteur https://www.developpez.com
Le 09/10/2009 à 15:40
Citation Envoyé par mrjay42 Voir le message
à savoir xPath. Langage de requête qui ne ressemble à rien de connu...
Je viens de prends un coup de vieux là

Parce si on prend les principaux axes de xpath.

c'est
/ je me mets sur la racine
/truc je descend sur le niveau truc
.. Je remonte d'un niveau

J'ai connu ça sous MS DOS et son système de répertoire

Ca doit être une question de generation

J'avais oublié les DTD
La par contre même moi je n'ai pas connu l'avénement des DTD vu que cela n'a pas été inventé pour le XML mais pour le SGML et l'informatique n'était pas ma priorité à cette époque
1  0 
Avatar de mrjay42
Membre habitué https://www.developpez.com
Le 09/10/2009 à 16:07
Nonon ce n'est pas à cette partie "jolie" de xPath que je faisais allusion.

Mais plutôt à predeceding, predeceding-sibling etc...des commandes pour choper des frères, des neveux, des arrières grands oncles du noeuds sur lequel tu es positionné.

J'avais oublié un autre truc épique :
Les inégalités mathématiques "<" ">" en XSL...ce sont des caractère spéciaux
On se retrouve donc en train d'écrire des trucs du genre :
"count(bidule) &lt; 5"
On est obligé d'écrire en "entitté HTML" le symbole "<" pour que la comparaison passe, sinon votre XSL bug salement ^^

Et puis ce n'est pas une question de génération...en tout cas pas entre nous deux, puisque moi aussi j'ai commencé avec le DOS ^^
1  0 
Avatar de GrandFather
Expert éminent https://www.developpez.com
Le 12/10/2009 à 14:44
Je suis mitigé quant à la pertinence de ces ajouts, surtout sur celui concernant l'ajout d'un langage de prédicat (assertions et alternatives). Ce qu'on demande avant tout à WXS (W3C XML Schema) est une validation structurelle, le fait que « @min soit inférieur ou égal à @max » est une règle de gestion qui est plus du ressort de l'application consommatrice du document XML.

Du fait de sa complexité, la spécification WXS est implémentée dans assez peu de parseurs ; l'ajout de ce langage de contrainte ne va pas aider à les multiplier...

Citation Envoyé par mrjay42 Voir le message
Mais plutôt à predeceding, predeceding-sibling etc...des commandes pour choper des frères, des neveux, des arrières grands oncles du noeuds sur lequel tu es positionné.
Et bien il te suffit de voir une expression XPath comme un banquet de famille, et c'est tout de suite plus simple.

Personnellement, je comparerais XPath aux expressions régulières : déroutant au début, mais qui rembourse ensuite au centuple l'investissement consenti pour son apprentissage.

@souviron : le XML utilisé comme format d'échange reste simplissime ; rien ne t'oblige à utiliser les technologies connexes que sont XPath, XSLT, XML Schema, XQuery, etc. mais si tu as des traitements complexes à faire sur des documents XML, ils restent bien plus simples et léger à mettre en oeuvre que toute autre solution développée dans un langage « généraliste ».
1  0