begin process at 2010 02 10 09:25:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Relations dans un schema XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Relations dans un schema XML

vendredi 9 septembre 2005 à 14:40:10 | Relations dans un schema XML

fdev9

Salut. Je n'ai pas trouvé de rubrique XMl donc je pose ma question ici étant donné qu'elle concerne mon application c#.

Donc voilà, je fais une application qui utilise une base XMl, dont j'ai défini le schema avec VS (une dizaine de tables) et que je charge dans un Dataset. Mais je n'ai pas défini les relations entre les tables dans mon schema et du coup lorsque je veux créer des DataView je dois a chaque coup définir mes relations. J'ai tenté de créer les relations dans mon schéma mais j'ai une erreur très explicite :

Invalid Key Node Inside constraint Name

Je dois très mal m'y prendre pour définir la relation et je cherche donc de l'aide là dessus. Mon code est, en gros, le suivant :

<xs:element name="Table1">....... </xs:element>
<xs:element name="Table2">....... </xs:element>
<xs:key name="Table1key">
    <xs:selector xpath=".//mstns:Table1" />
    <xs:field xpath="mstns:IDTABLE1" />
 </xs:key>
<xs:key name="Table2key">
    <xs:selector xpath=".//mstns:Table2" />
    <xs:field xpath="mstns:IDTABLE2" />
 </xs:key>
<xs:keyref name="Relation1" refer="mstns:Table2Key">
   <xs:selector xpath=".//mstns:Table1" />
   <xs:field xpath="mstns:id_table2" />
 </xs:keyref>

* avec id_table2 un champ de la table1

Le problème vient-il du fait que je crée une mauvaise relation entre l'id de la table2 et  une propriété de la table1 que je veux faire correspondre?

Dsl de la longueur du message mais je tenais a etre clair. Merci pour votre lecture et pour les réponses, j'espere que quelqu'un pourra m'aider la dessus .

fd.


lundi 12 septembre 2005 à 13:33:34 | Re : Relations dans un schema XML

69chris

Salut,

Question stupide, tu as essayé de créer tes relations avec l'interface graphique??
Pour ma part, voici un exemple complet de ce que j'obtient:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="Table1">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="IDTABLE1" type="xs:int" />
                <xs:element name="Desc" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
        <xs:key name="Table1Key1" msdata:PrimaryKey="true">
            <xs:selector xpath="." />
            <xs:field xpath="mstns:IDTABLE1" />
        </xs:key>
    </xs:element>
    <xs:element name="Table2">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="IDTABLE2" type="xs:int" />
                <xs:element name="id_table2" type="xs:int" />
                <xs:element name="Desc" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
        <xs:keyref name="Table1Table2" refer="Table1Key1">
            <xs:selector xpath="." />
            <xs:field xpath="mstns:IDTABLE2" />
        </xs:keyref>
        <xs:key name="Table2Key1" msdata:PrimaryKey="true">
            <xs:selector xpath="." />
            <xs:field xpath="mstns:IDTABLE2" />
        </xs:key>
    </xs:element>
</xs:schema>

Chris

N'oubliez pas de cloturer votre post.
lundi 12 septembre 2005 à 18:41:45 | Re : Relations dans un schema XML

fdev9

Salut, merci pour ta réponse.

En fait j'ai créé tout mon schéma via l'éditeur de schéma de Visual Studio et je note quelques différences avec ton code: Dans mon code le xpath n'est pas vide et contient le nom de la table sur laquelle je crée la clé

Exemple :

<xs:key name="Table2Key1" msdata:PrimaryKey="true">
    <xs:selector xpath=". //mstns:Table2"/>
    <xs:field xpath="mstns:IDTABLE2" />
</xs:key>

C'est bizarre cette différence non? Je vais essayer en éditant mon schéma à la main et en retirant les xpath mais ca me parait plus logique qu'ils soient renseignés en fait :/

Une question trés stupide : est-ce que le blem ne vient pas de mon fichier xml? Car avec ou sans relation je ne modifie pas le contenu de mon fichier XML et peut etre qu'il n'est plus conforme avec les relations? Ca me parait bancal aussi ca mais bon...

En tout cas pour le moment je continue a créer mes propres relations à la main dans mon code, lorsque j'en ai beosin pour remplir mes dataview, et je ne comprends pas pourquoi mes relations, créés avec l'éditeur, en suivant les consignes de msdn, ne fonctionnent pas :/

Merci

fd.



lundi 12 septembre 2005 à 18:52:26 | Re : Relations dans un schema XML

69chris

Essai de sauvergarder le dataset, après avoir mis les relations, dans un fichier XML. Tu verras si il y a des différences.
Sinon, pour valider ton fichier XML avec un schéma, il faut utiliser la classe XmlValidatingReader.

Chris

N'oubliez pas de cloturer votre post.


Cette discussion est classée dans : application, xml, relations, schema, défini


Répondre à ce message

Sujets en rapport avec ce message

Dll Path [ par edokt ] Bonjour a tous Voila la question que j'ai J'ai creé une Dll a partir C# - Projet - Bibliothèque de classes Dans la dll j'utilise un fichier xml que ruban office - ou trouver le schema xml [ par romagny13 ] Bonjour, sauriez vous ou on peut trouver le schéma XML (http://schemas.microsoft.com/office/2006/01/customui)<font color="#000000" siz XML Schema et validation [ par yanis7518 ] Bonjour à tous,voila j'ai un xml qui contient un champs dont la valeur est soit définie par l'utilisateur soit est prédéfinie dans une liste.Pour vali créer un fichier xml(schema suivi des données) apartir d'un form [ par bibarouma ] Bonjour j'ai un form avec des labels et des textbox et je veut créer un fichier xml contenant un schema xsd de ce Suppression de données XML depuis un treeview [ par arouze ] Bonjour à tous, J'ai créé une petite application en C# qui m'affiche dans un Treeview mes données enregistrées dans un fichier XML. J'aimerais ajouter Creation de sa propre form c# 2005 [ par Tyron3 ] Bonjour a tous, <p class="MsoNormal" style="MARGIN: 0cm 0 chargement d'une treeview a partir d'un fichier XML [ par M_karim8 ] bonjour je cherche a charger une tree view a partir d'un fichier XML. quelqu'un saurait il comment faire ???merci d'avance... application.exit : trés lent [ par oliv666 ] Bonjour, Mon problème est trés simple. Lorsque je quitte mon application avec le code application.exit(); sa fermeture est assez lente...Y a t'il une petit souci execution [ par hamster man ] Bonsoir a tous!jai un petit probleme au niveau de mon executable:j'ai créé une application mais lorsque je veux la lancer sur mon pc perso, cela me fa Icone de l'application [ par calimer22 ] Bonjour, Ma question va paraître bête mais elle ne le sera pas tellement.Voilà le probléme Comment mettre une icône en place pour une application et q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales