OVH Cloud OVH Cloud

Encore XML Schema

3 réponses
Avatar
amplitude
Bon, merci pour vos r=E9ponses ce qui m'a bien aid=E9.

J'ai fait quelques recherches sur Google mais je n'ai pas trouv=E9 ce que=
=20
je cherchais :

Les sch=E9mas XML me permettent d'avoir une vue simple de mes Table dans =

l'interface de VS, mais ce que je voudrais, c'est :

1) Savoir comment int=E9gr=E9 le liens vers le fichier XSD dans le XML=20
contenant les donn=E9es...

2) Je voudrais pouvoir manipuler mes table du genre si je rajoute un=20
champs, il modifi toutes mes lignes existantes en y int=E9grant le nouvea=
u=20
champs avec la valeur par d=E9fault... bref, comme une base de donn=E9e :=
)

Je viens de t=E9l=E9charger XML Spy (limit=E9 =E0 30 jours malheuresement=
, il=20
n'est pas gratuit :() je vais m'y plong=E9, mais =E7a m'a l'air chaud...e=
t=20
presque trop par rapport =E0 ce que je veux faire...

Merci a tous.

3 réponses

Avatar
Ambassadeur Kosh
J'ai fait quelques recherches sur Google mais je n'ai pas trouvé ce que
je cherchais :

Les schémas XML me permettent d'avoir une vue simple de mes Table dans
l'interface de VS, mais ce que je voudrais, c'est :

1) Savoir comment intégré le liens vers le fichier XSD dans le XML
contenant les données...

<?xml version="1.0" encoding="UTF-8"?>
<racinedudocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:Documents and
Settings...nomduschema.xsd"/>
...
</racinedudocument>

avec xmlspy, ça se fait en "associant un schema", ce qui finalement est ce
que tu cherches à faire.

2) Je voudrais pouvoir manipuler mes table du genre si je rajoute un
champs, il modifi toutes mes lignes existantes en y intégrant le nouveau
champs avec la valeur par défault... bref, comme une base de donnée :)



je ne connais rien qui fasse ça. mais ça s'implante. oublie cette idée de
lien dynamique entre un schema et un xml. xml n'est pas un sgbd. et
l'absence de balise n'est pas un probleme non plus en xml/xsd. donc n'essaye
pas de reproduire les mecanismes que tu connais du sgbd sur xml. essayes
plutot de decouvrir xml et ensuite de chercher "qui doit faire quoi".

maintenant, l'implantation qu'on a l'habitude de voir d'xml, c'est DOM.
genre charger le fichier, faire des modifs, sauver le fichier, c'est du
format texte, c'est pas multi-utilisateur naturellement, voire pas du
tout... un peu naze pour un sgbd. mais il existe des produits "xml-deviant",
moteurs qui offrent des possibilités de manipuler du xml compilé, de tirer
parti d'index pour booster xpath, bref, un sgbd semi-typé. mais je ne pense
pas que tu aies besoin de ça...

Je viens de télécharger XML Spy (limité à 30 jours malheuresement, il
n'est pas gratuit :()



si, il l'est !!! t'as pas du charger la bonne version. y'a une "home
edition" qui est gratuite. tu t'enregistre, tu recois un identifiant par
email... du grand classique.

je vais m'y plongé, mais ça m'a l'air chaud... presque trop par rapport à
ce que je veux faire...



oui oui, on dit ça, ça on dit ça, et dans 10 jours t'en decolleras plus :o)
Avatar
Patrick Philippot
amplitude wrote:
2) Je voudrais pouvoir manipuler mes table du genre si je rajoute un
champs, il modifi toutes mes lignes existantes en y intégrant le
nouveau champs avec la valeur par défault... bref, comme une base de
donnée :)



Dans un DataSet, il y a correspondance / synchronisation en temps réel
entre la vue Tables / Relations et la vue XML (DataSet.GetXml qui
retourne un XmlDocument). Toute modification dans la structure des
tables est donc immédiatement répercutée dans l'arbre DOM de la vue XML
(et par conséquent sérialisable). Mais pas, bien sûr, sur le schéma
original. On peut toujours, cependant, produire un nouveau schéma à
partir du DataSet modifié.

Mais je ne vois pas l'intérêt. Un schéma est un contrat d'interface qui
spécifie la structure d'un document pour ceux qui auront à le manipuler.
Si le schéma change tout le temps, il est inutile.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Ambassadeur Kosh
j'avais perdu de vue qu'il se concentrait sur le Dataset et pas sur Xsd en
général.
effectivement dans son cas...