Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment on utilise les XMLSchema ??

5 réponses
Avatar
amplitude
Bonjour,

J'utilise d=E9j=E0 des fichiers XML pour mes donn=E9es, j'aimerai savoir =
=E0=20
quoi peut me servir un fichier XSD (Sch=E9ma XML) ???

MErci

Const.

5 réponses

Avatar
Ambassadeur Kosh
"amplitude" a écrit dans le message de news:
cii1h1$9sv$
Bonjour,

J'utilise déjà des fichiers XML pour mes données, j'aimerai savoir à quoi
peut me servir un fichier XSD (Schéma XML) ???



ben, si tu veux, c'est un peu comme une class vis à vis de données que tu
manipule.
mais c'est infiniment plus vaste, et disons plus "souple". (on parle de
semi-type)
ça sert à garantir que ton fichier va avoir une certaine "forme". et ça
permet aussi à ceux qui veulent creer des fichiers xml qui seront
compatibles avec les tiens d'avoir un mode d'emplois. et c'est bien plus
encore, mais ça, nous verrons.

je cite :
Les schémas XML offrent une façon améliorée, plus riche et plus souple, de
définir la structure d'un document par rapport aux conventionnelles DTD
(définitions de type de document). On veut notamment pouvoir vérifier des
contraintes et valider aussi le contenu, pas seulement la structure. Un
certain nombre de construits (concepts dérivés d'autres concepts mieux
connus et définis) peuvent servir à contraindre et documenter le sens, l'usage
et les associations entre les parties constituantes d'un document : les
types de donnée (datatypes), les éléments et leur contenu, les attributs et
leurs valeurs, les entités et leur contenu et leur notation, les valeurs par
défaut. Le langage de schéma XML répond au besoin d'unifier le vocabulaire
de documentation des schémas afin de mieux les définir, les décrire et les
cataloguer en vue de la réutilisation.

par exemple, les xsd, comme c'est une description de la structure du xml, je
m'en sers pour generer directement un ensemble de classes C# qui va me
permettre d'acceder au document xml decrit. à la maniere d'un dataset typé.

la réponse la plus complete de l'univers, tu la trouveras sur le forum fr
comp xml, et c'est certainement Alain Ketterlin qui te la donnera.
Avatar
Patrick Philippot
amplitude wrote:
J'utilise déjà des fichiers XML pour mes données, j'aimerai savoir à
quoi peut me servir un fichier XSD (Schéma XML) ???



Bonjour,

J'ajouterai un élément supplémentaire aux explications déjà complètes de
A.K. .

Si vous manipulez des données XML, vous le faites probablement au
travers d'un Dataset. Quand vous chargez des données dans un DataSet, il
y a 2 stratégies. Ou bien vous fournissez un schéma spécifiant la
structure et le typage de vos documents XML ou bien vous n'en fournissez
pas et le DataSet va en inférer un automatiquement à partir de ce qu'il
lit dans le document. Ce schéma peut très bien, selon les cas, ne pas
être satisfaisant. A tel point qu'un DataSet.ReadXml suivi immédiatement
d'un DatatSet.WriteXml sans avoir modifié les données en aucune manière
peut générer un document XML sensiblement différent de l'original, non
pas en termes de données mais en termes de structure.

Il est donc largement préférable de prendre le contrôle des opérations
et de définir soi-même le schéma adéquat. Ce n'est pas une opération
triviale, d'ailleurs. En général, on se fait aider par un outil
spécialisé. On peut charger le document XML dans Visual Studio et lui
demander d'inférer un schéma et affiner en suite le résultat obtenu en
matière de types, de restrictions, etc. On peut également utiliser un
outil plus sophistiqué comme XML Spy.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Ambassadeur Kosh
> On peut également utiliser un outil plus sophistiqué comme XML Spy.



qui est un outils formidable. il est extremement complet, et une version
gratuite déja trés riche est downloadable.
il a un éditeur schematique, qui m'a permis de découvrir trés rapidement
tous les mécanismes de xsd et leur fonctionement et utilité.
bien sur, on peut preferer lire les 800 pages de spec du w3c, mais bon...
ça, c'est concret, ça réagit, c'est palpable.
et c'est sans compter avec toutes les autres fonctionalités.

http://www.altova.com/
Avatar
amplitude
Patrick Philippot a écrit :
amplitude wrote:

J'utilise déjà des fichiers XML pour mes données, j'aimerai savoi r à
quoi peut me servir un fichier XSD (Schéma XML) ???




Bonjour,

J'ajouterai un élément supplémentaire aux explications déjà c omplètes de
A.K. .

Si vous manipulez des données XML, vous le faites probablement au
travers d'un Dataset. Quand vous chargez des données dans un DataSet, il
y a 2 stratégies. Ou bien vous fournissez un schéma spécifiant la
structure et le typage de vos documents XML ou bien vous n'en fournisse z
pas et le DataSet va en inférer un automatiquement à partir de ce q u'il
lit dans le document. Ce schéma peut très bien, selon les cas, ne p as
être satisfaisant. A tel point qu'un DataSet.ReadXml suivi immédiat ement
d'un DatatSet.WriteXml sans avoir modifié les données en aucune man ière
peut générer un document XML sensiblement différent de l'original , non
pas en termes de données mais en termes de structure.

Il est donc largement préférable de prendre le contrôle des opé rations
et de définir soi-même le schéma adéquat. Ce n'est pas une opé ration
triviale, d'ailleurs. En général, on se fait aider par un outil
spécialisé. On peut charger le document XML dans Visual Studio et l ui
demander d'inférer un schéma et affiner en suite le résultat obte nu en
matière de types, de restrictions, etc. On peut également utiliser un
outil plus sophistiqué comme XML Spy.




Merci beaucoup pour vos explications très complètes :)

Maintenant, comment dois-je procéder ?

Je me sert effectivement d'un DataSet, dois-je charger mon schema et
ensuite les valeurs :

DataSet DS = new DataSet("Test");
DS.ReadXmlSchema(Chemin);
DS.ReadXml(Chemin2);

Est-ce ça ??

Merci encore une fois.

Const.
Avatar
Patrick Philippot
amplitude wrote:
Maintenant, comment dois-je procéder ?

Je me sert effectivement d'un DataSet, dois-je charger mon schema et
ensuite les valeurs :

DataSet DS = new DataSet("Test");
DS.ReadXmlSchema(Chemin);
DS.ReadXml(Chemin2);

Est-ce ça ??



Oui. Ou bien plus simplement, vous référencez le schéma directement
depuis le document (ce que vous avez intérêt à faire de toutes façons)
et vous le chargez dans le DataSet en mode Auto. Il utilisera
automatiquement le schéma référencé par le document.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr