Précédent   Forum du club des développeurs et IT Pro > Autres langages > XML/XSL et SOAP > Valider

Valider W3C XML Schemas, DTD, Relax NG, Schematron...) et tout ce qui permet de les mettre en oeuvre. Avant de poster -> FAQ XML, Sources XML

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Pour ou contre XML Schema?
pour 118 82,52%
contre 2 1,40%
indifférent 23 16,08%
Votants: 143. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse
 
Outils de la discussion
Vieux 27/07/2004, 12h46   #1
grishka
Rédacteur
 
Avatar de grishka
 
Inscription : janvier 2003
Messages : 288
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 288
Points : 418
Points : 418
Par défaut A quoi sert XML-Schema

Les schémas XML (xsd) sont une évolution des DTD pour la validation des documents XML. Ils sont plus structurés car sous format xml, plus formels, spécifient des contraintes de typage sur les données, etc... au prix d'une plus grande complexité, selon certains.

Qu'apporte réellement les xsd comparé au coût de mise en oeuvre, y'a-t-il d'autres solutions moins complexes? (Relax NG), des méthodes pour faciliter leur élaboration? Bref pourquoi utilisez-vous les XSD?
__________________
"Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
--Scott Adams
grishka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2004, 13h05   #2
Erwy
Rédacteur
 
Avatar de Erwy
 
Homme erwan
Développeur Web
Inscription : novembre 2003
Messages : 4 980
Détails du profil
Informations personnelles :
Nom : Homme erwan
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2003
Messages : 4 980
Points : 11 894
Points : 11 894
pour
ne serait que pour une chose(par rapport au dtd),etant au format xml je peux les utiliser dans un xslt;or pour dela generation de controle(je pense saisie) ou de la completion de zone(5 caractere 00111 au lieu de 111),c'est deja un sacre plus.C'est aussi plus facile je pense de la generer a partir d'un xml et d'un xslt
Erwy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2004, 15h03   #3
Blowih
Membre régulier
 
Avatar de Blowih
 
Inscription : octobre 2003
Messages : 122
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 122
Points : 87
Points : 87
Envoyer un message via MSN à Blowih
Salut,
Selon moi , le XSD apporte un bon moyen de controle l'information, notament avec un controle sur le type de donnée, ainsi qu'un controle de l'integrité referencielle ( que l'on peu trouver dans des modèles de données comme Merise ou UML).
Blowih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2004, 22h00   #4
frecil
Membre régulier
 
Homme
Développeur .NET
Inscription : août 2004
Messages : 51
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Finance

Informations forums :
Inscription : août 2004
Messages : 51
Points : 73
Points : 73
Le XSD n'est pas si compliqué à maitriser, il suffit de bien lire la doc !

Maintenant, l'apprentissage est peut-être plus long qu'avec d'autres normes de schéma propriétaire, mais je trouve plus intéressant d'utiliser un format universel qu'un format spécifique à un outil.

Sinon, il faut signaler que VS.NET intégre un outil pour éditer de façon graphique un schéma, j'ai entendu parler de XMLSpy qui fait la même chose.

Avec le .NET framework, il y a aussi un outil qui te génère un schéma de base (peu contraint donc à retoucher) à partir d'un document XML exemple.
frecil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2005, 15h41   #5
jmmolina
Membre régulier
 
Inscription : mai 2002
Messages : 81
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 81
Points : 72
Points : 72
Je rejoins Erwy et frecil dans certaines idées. XML Schema c'est du XML donc un langage très facile à appréhender quand on connait déjà XML, contrairement à DTD qui est langage complètement cryptique et difficile à aborder. Pour résumer Schema rentre dans la famille XML alors que DTD en est exclu. De plus les références sur Schema sont nombreuses et il suffit de consulter rapidement les 3 recommandations du W3C pour se rendre compte du travail formidable qui a été effectué. On peut aussi parler des outils qui se sont très rapidement adaptés au phénomène Schema, XML oblige.

J'ai découvert Schema alors que je cherchais justement un langage, une norme, pour définir la structure de mes données, j'ai été comblé. Sans compter qu'il est très proche de langages OO que j'affectionne tout particulièrement comme C++, Java et PHP5. Ce dernier en particulier. Il apporte aussi un réel plus à l'échange de données révolutionné par l'arrivée de XML. On peut aussi parler des outils de documentation qui permettent de documenter un schéma comme Javadoc pour Java ou PHPDoc pour PHP5, sans parler de Doxygen pour la majorité des langages, donc C++.

Donc il a tout pour plaire et je ne vois vraiment pas comment on pourrait voter contre . Après je ne peux pas comparer Schema à Relax NG et autre Schematron car je ne les connais pas du tout, je passe déjà assez de temps à appréhender la bête Schema .

J'allais oublié, ce qui m'a aussi séduit c'est l'approche W3C, à savoir un site qui regroupe l'ensemble des ressources dont a besoin pour architecturer un système d'information. Plus besoin de piocher à droite et à gauche dans des solutions propriétaires qui disparaissent du jour au lendemain.
jmmolina est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2005, 02h53   #6
Hephaistos007
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 603
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 603
Points : 1 955
Points : 1 955
Bonjour,

L'intêret des schémas XML par rapport aux DTD est plus subtil :
Vous avez surement entendu parler de l'approche MDA (ingénierie des modèles) de l'OMG où un modèle (notation UML) se conforme à son méta-modèle, lui-même se conformant à son méta-méta-modèle (le MOF) qui se conforme à lui-même (reflection). Ce raisonnement est valable dans différents espace techniques; mon exemple se réfèrre à l'espace technique des modèles. Mais l'équivalent existe dans d'autres espaces techniques comme celui des langages : un langage se conforme à sa grammaire, elle même se conformant à sa méta-grammaire, cette dernière se conformant à elle même (reflection). Les espaces techniques sont différents : modèle / langages, mais les concepts sont les mêmes.
Et pour XML alors ?
Un document XML se conforme à sa DTD, certes, mais une DTD ne se conforme pas à une DTD (puisque qu'une DTD décrit du XML mais que la DTD n'est pas elle même décrite en XML). Du coup, impossible de passer à la méta-DTD.
Solution : le XML-Schema, il décrit du XML et est décrit lui même en XML; la reflection devient donc possible. On peu désormais utiliser un méta-Schéma. Le XML devient ainsi un espace technique au même titre que les modèles et les langages.

Voilà pourquoi les DTDs ont été remplacé par les XML Schemas.

Cordialement,
Hephaistos007
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2005, 17h24   #7
guemairm
Membre du Club
 
Inscription : décembre 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 63
Points : 64
Points : 64
Bonjour,

Les shemas XML apprortent une grande richesse par rapport aux DTD notament pour les types, mais je crois pas que c'est aussi simple et c'est trés verbeux et quand le shema devient trés grand ça devient tres difficile a comprendre par un humain, personellement je prefere RELAX NG qui est aussi simple que les DTD et aussi riche que les shémas vu qu'il importe des types xsd et donne une description detaillée du document.
guemairm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2005, 07h46   #8
virgul
Membre Expert
 
Avatar de virgul
 
Inscription : novembre 2004
Messages : 1 624
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2004
Messages : 1 624
Points : 1 468
Points : 1 468
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Salut,

Citation:
Envoyé par guemairm
personellement je prefere RELAX NG qui est aussi simple que les DTD et aussi riche que les shémas vu qu'il importe des types xsd et donne une description detaillée du document.
T'a remarque a soucié mon imtérêt et j'ai été voir sur le net mais j'ai encore quelque question si tu peux y répondre?

Y a t'il un vrai avantage par rapport au XMLschéma a part que c'est plus simple à écrire?

Y a t'il une chance pour que ca soit un jour "W3C Compliant"?

Toi quelle son tes avantages à utiliser RELAX NG plutot que XMLSchema?


Merci de tes réponse
virgul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2005, 03h21   #9
guemairm
Membre du Club
 
Inscription : décembre 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 63
Points : 64
Points : 64
Citation:
Y a t'il un vrai avantage par rapport au XMLschéma a part que c'est plus simple à écrire?
n'ayant pas trop pratiquer XMLShema je dirai que deja la simplicite apporter par RELAX NG et un vrai plus, et il existe meme des outils comme TRANG ou JING qui permette de transformer des shema RELAX NG en syntaxe XML similaire a XMLShema,et RELAX NG comporte de nombreux mecanisme important comme les co-occurence l'inclusion d'autres shema l'embarquement de shema externe ce qui est pratique pour realiser des references externes et aussi l'utilisation de librairies de types externes notamment ceux des XMLshema pour ne citer que ça

Citation:
Y a t'il une chance pour que ca soit un jour "W3C Compliant"?
RELAXNG est normaliser OASIS http://www.oasis-open.org/committees/relax-ng/
et je ne crois pas que la normalisation par le W3C soit a l'ordre du jour

quelques lien:
http://books.xmlschemata.org/relaxng/
http://www.thaiopensource.com/ site d'outils
http://www.infop6.jussieu.fr/lmd/200...l-20011203.pdf
http://www.infop6.jussieu.fr/lmd/200...t-20021121.pdf
guemairm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2005, 11h32   #10
GrandFather
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 538
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : mai 2004
Messages : 4 538
Points : 6 335
Points : 6 335
RELAX NG est effectivement plus simple à apprendre que les W3C XML Schema (WXS), et n'a pas certaines limitations de ces derniers, comme l'obligation d'une écriture déterministe du schéma par exemple (un validateur de schéma WXS doit savoir à tout moment quel modèle il est en train d'évaluer, il ne peut pas y avoir d'essais et de retour arrière, contrairement à un validateur de schéma axé RELAX NG).

Par contre, l'absence de PSVI (Post Schema Validation Infoset) dans les RELAX NG les cantonne à la validation pure. Le PSVI, qui permet d'obtenir des informations de type pour chacun des éléments de l'Infoset après la validation, rend l'instance XML exploitable par des langages comme XQuery, XPath 2.0 et XSLT 2.0, ce que RELAX NG ne permet pas.

D'autre part, les WXS sont intégrés à la norme WSDL, et sont donc au centre de la technologie des Web Services. Les RELAX NG, bien qu'utilisables à partir de WSDL 1.2, ne garantissent pas la même inter-opérabilité.
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2005, 07h36   #11
virgul
Membre Expert
 
Avatar de virgul
 
Inscription : novembre 2004
Messages : 1 624
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2004
Messages : 1 624
Points : 1 468
Points : 1 468
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Ok merci à vous deux maintenant j'y vois plus claire en RELAX NG et je constate que même si ce produit est très bien il n'est pas trop adapter à ce qu'on fait (webservice et infopath(qui aime bien les WSDL mais sans complexe type et qui est un peux pointillieux parfois avec ce dernier))!


Merci encore et a une prochaine

++

Thierry
virgul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2005, 13h45   #12
sekaijin
Expert Confirmé Sénior
 
Avatar de sekaijin
 
Homme
Urbaniste
Inscription : juillet 2004
Messages : 2 115
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 49
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 2 115
Points : 5 033
Points : 5 033
Par défaut POUR

pour deux raison
la première est que xsd est plus complet et précis que dtd

la deuxième c'est du xml. (je me suis amusé à écrire une xsd de xsd juste pour me familiariser avec la chose.

l'avantage d'être de XML est que l'on peut l'utiliser (c'est d'ailleurs sa raison d'exister, ce qui lui a donné naissance) les Outils xml le lire et le transformer.

une XSLT qui prend un morceau de XSLT et en fait une (des) classe Objective C capable de lire et écrire les morceaux de XML correspondants c'est bien plus facile à faire qu'un analyseur syntaxique qui va faire la même chose à partir de DTD.

A+JYT
sekaijin est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2006, 09h58   #13
heni
Invité de passage
 
Inscription : février 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1
Points : 1
Points : 1
Quel est le principal but d'utiliser XML?
XML permet de stocker les données sous la forme d'un arbre.
Le XSD est un langage qui permet de donner la structure d'un document XML, il est efficace car il écrit en XML.
En plus le XSD est simple, en effet il utilise un syntaxe clair (xs:string, xs:int, complextype, simpletype, sequence, choice …).
heni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2006, 23h39   #14
luta
Membre chevronné
 
Avatar de luta
 
Inscription : novembre 2003
Messages : 1 038
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 1 038
Points : 693
Points : 693
Envoyer un message via MSN à luta
Personnelement je n ecris pas de shema mais je mù en sert,et pour rire j ai ecris une page html qui reprenait un doc xml et allait chercher la documentation correspondante dans le shema...
étant su xml c etait faisable...imposssible a faire avec une DTD donc pour le schema c clair!
luta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 17h09   #15
vexa
Membre régulier
 
Inscription : mai 2004
Messages : 84
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 84
Points : 88
Points : 88
En plus du formalisme XML et du typage fort, je pense à leur pérennité, normé W3C, les schémas espèrent répondre aux besoins de l'informatique sur le long terme.

RelaxNG et de façon plus générale, le travail de Oasis répond aux besoins actuels de l'industrie, j'en veux pour preuve la forme compact des schémas relaxNG qui ne sont pas en XML.

Utiliser les schémas de ce que j'en comprends, c'est prendre un peu plus de temps au départ pour en gagner plus tard.

Je comparerais un peu ça aux phases d'analyse que certains sautent ou réduisent pour gagner du temps, et finalement en perde plus au développement.

@+

Xavier
vexa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 12h09   #16
MathiasM
Candidat au titre de Membre du Club
 
Inscription : août 2004
Messages : 41
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 41
Points : 13
Points : 13
Selon moi, XML Schema est un "langage" dont les bases soint simples mais qui peut devenir extremement complexe si on a des schemas tres ouverts.

Il permet une validation complete pour les schemas simples, mais pour les schemas complexes ou ouverts, on peut utiliser Schematron ou XQuery donc on s'en sort a chaque fois.

En tout cas, dans mon domaine-metier (l'aerospatiale) XML prend de plus en plus de place (donc Schema aussi).

A+
MathiasM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 13h35   #17
TabrisLeFol
Membre expérimenté
 
Inscription : juin 2005
Messages : 760
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 760
Points : 523
Points : 523
Bien que je suis favorable au x schema pour de nombreuses raisons déjà évoquées, je tenais juste à préciser qu'un avantage des DTD était leur taille... (bon c'est sur que c'était pas évident à comprendre tout le temps mais bon... )
__________________
Java : F.A.Q. tutoriels API JavaSearch
TabrisLeFol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 18h00   #18
GrandFather
Expert Confirmé Sénior
 
Avatar de GrandFather
 
Inscription : mai 2004
Messages : 4 538
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : mai 2004
Messages : 4 538
Points : 6 335
Points : 6 335
Citation:
Envoyé par TabrisLeFol
Bien que je suis favorable au x schema pour de nombreuses raisons déjà évoquées, je tenais juste à préciser qu'un avantage des DTD était leur taille... (bon c'est sur que c'était pas évident à comprendre tout le temps mais bon... )
C'est normal que les DTD soient plus légères que leur équivalent en WXS, parce que ce n'est pas du XML...
__________________
FAQ XML
------------
« Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
Giacomo Leopardi
GrandFather est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2006, 14h30   #19
n00bi
Membre régulier
 
Inscription : juin 2004
Messages : 165
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 165
Points : 97
Points : 97
Pour ma part je trouve les schéma XSD facile d'apprentissage au niveau de la syntaxe.

Ils sont bien pratique pour avoir une description d'une base de données INDEPENDAMMENT de la technologie de stockage utilisée. On obtient ainsi un schéma réutilisable a souhait. Efficace quand on ne sait pas encore vers quelle techno s'orienter ou si on souhaite garder une certaine flexibilité.

Cependant on manque encore d'outil fiables pour générer une BD Relationnelle à partir d'un schéma XSD.
n00bi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/12/2008, 16h22   #20
ertyup
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 75
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 75
Points : 12
Points : 12
Par défaut la question est "a quoi s'ert l'xml shema? et pas une comparaison avec la dtd

la question ete simple sur l'xml shema pas une comparaison avec les dtd
on voulait savoir la raison sur la quelle qui a pousse a la creaion reel des xsd
-sur la validation des documents xml es que on pouvait pas valide les doc xml avec un autre outil. ce que j'ai trouve au forum que l'xml est un metalangage[COLOR] c'est adire on peut faire avec lui bcp de chose
ertyup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h05.


 
 
 
 
Partenaires

Hébergement Web