Message affiche Erreur lorsque vous affichez les schémas XSD multidimensionnels dans le XML schéma concepteur Visual Studio .NET

Traductions disponibles Traductions disponibles
Numéro d'article: 325695 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Lorsque vous essayez d'ouvrir et afficher un schéma de définition de schéma XML (XSD) multidimensionnel dans Visual Studio .NET, une fenêtre du Concepteur XML peut s'ouvrir au lieu d'une fenêtre Concepteur de schéma et le message d'erreur suivant peut s'afficher dans la vue données du Concepteur XML :
Bien que ce document XML est bien formé, il contient de structure qui le DataView ne peut pas afficher. La table même (TableName) ne peut pas être la table enfant dans deux relations imbriquées

Cause

Le schéma XSD est enregistré en tant que fichier avec une extension .XML. Les concepteurs de Visual Studio .NET sont basés l'extension. Fichiers avec une extension .XML sont interprétées comme fichiers XML standard, pour une fenêtre Concepteur XML s'ouvre au lieu d'une fenêtre Concepteur de schéma lorsque vous tentez d'ouvrir et afficher le document dans Visual Studio .NET. Le Concepteur XML dans Visual Studio .NET utilise les règles d'inférence de schéma ADO.NET pour automatiquement déduit le schéma d'un document XML. Les règles d'inférence ADO.NET schéma ne pas autoriser ou prennent en charge multidimensionnelles relations dans la version RTM de Microsoft .NET Framework.

Résolution

Renommer ou enregistrez le document en tant qu'un fichier portant l'extension .xsd pour ouvrir et afficher dans une fenêtre XML schéma concepteur Visual Studio .NET. Le XML schéma concepteur Visual Studio .NET peut correctement charger et afficher les schémas XSD multidimensionnels.

Statut

Ce comportement est voulu par la conception même du produit.

Plus d'informations

Pour recréer le message d'erreur et tester la résolution, procédez comme suit :
  1. In Notepad, paste the following code in a new file:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    	<xs:element name="OrdersInventoryData" type="OrdersInventoryDataType" />
    	<xs:complexType name="ItemType">
    		<xs:sequence>
    			<xs:element name="id" type="xs:string" />
    			<xs:element name="qty" type="xs:integer" />
    		</xs:sequence>
    	</xs:complexType>
    	<xs:complexType name="OrderType">
    		<xs:sequence>
    			<xs:element name="OrderId" type="xs:string" />
    			<xs:element name="CustomerId" type="xs:string" />
    			<xs:element name="Item" type="ItemType" maxOccurs="unbounded" />
    		</xs:sequence>
    	</xs:complexType>
    	<xs:complexType name="InventoryType">
    		<xs:sequence>
    			<xs:element name="Item" type="ItemType" maxOccurs="unbounded" />
    		</xs:sequence>
    	</xs:complexType>
    	<xs:complexType name="OrdersInventoryDataType">
    		<xs:sequence>
    			<xs:element name="Order" type="OrderType" maxOccurs="unbounded" />
    			<xs:element name="Inventory" type="InventoryType" maxOccurs="unbounded"/>
    		</xs:sequence>
    	</xs:complexType>
    </xs:schema>
    					
  2. Enregistrez le fichier en tant que OrderInventory.xml sur votre disque dur. Le schéma exemple est multidimensionnel car à la fois la commande et les éléments d'enfants stock de l'élément OrdersInventoryData ont un élément enfant nommé articles de ItemType complexType (l'élément Item est un enfant dans les deux relations parent-enfant).
  3. Dans Visual Studio .NET, ouvrez un projet nouveau ou existant Microsoft Visual Basic .NET ou Visual C# .NET, comme un projet d'application Windows ou un projet d'application console.
  4. Ajouter le document XML OrderInventory.xml que vous venez de créer le projet.
  5. Dans l'Explorateur de solutions, double-cliquez pour ouvrir OrderInventory.xml . Une vue XML du contenu du document s'affiche dans une fenêtre du Concepteur XML.
  6. Passez à la vue de données de la fenêtre Concepteur XML. Vous recevez le message d'erreur suivantes :
    Bien que ce document XML est bien formé, il contient de structure qui le DataView ne peut pas afficher. La même table (article) ne peut pas être la table enfant dans deux relations imbriquées
    L'extension de nom de fichier .XML provoque une fenêtre Concepteur XML à ouvrir au lieu d'une fenêtre Concepteur de schéma. Le contenu du fichier est par conséquent traité comme standard XML au lieu d'un schéma XSD. Lorsqu'une fenêtre du Concepteur Visual Studio .NET XML est ouvert pour afficher les données XML, les règles de l'inférence de schéma ADO.NET sont appliquées à déterminer la structure de schéma du document XML. Du point de vue de l'inférence de schéma ADO.NET, un élément XML complexType est déduit comme une table indépendante, et une table ne peut pas être une table enfant dans deux ou plusieurs relations parent-enfant. Dans l'exemple de schéma, l'élément Item du complexType ItemType a été défini à un enfant du commande ( OrderType complexType ) et les éléments stock ( InventoryType complexType ). Ce n'est pas autorisé ou pris en charge par les règles d'inférence ADO.NET schéma dans la version RTM de Microsoft .NET Framework.
  7. Fermez la fenêtre Concepteur XML.
  8. Dans l'Explorateur de solutions, renommez OrderInventory.xml en OrderInventory.xsd . Pour ce faire, cliquez avec le bouton droit sur le fichier, puis cliquez sur Renommer .
  9. Dans l'Explorateur de solutions, double-cliquez pour ouvrir OrderInventory.xsd . Une vue XML du contenu du document s'affiche dans une fenêtre du Concepteur de schéma XML. Basculez vers l'affichage schéma et notez que les structures de schéma sont affichées correctement.

Références

Vous pouvez également recevoir le message d'erreur « la même table (TableName) ne peut pas être de la table enfant dans deux relations imbriquées » lorsque vous utilisez des fichiers XML avec Visual Studio .NET ou avec l'utilitaire xsd.exe. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
325696 Vous recevez un message d'erreur lorsque vous afficher des données XML multidimensionnelles dans le concepteur Visual Studio .NET XML

Propriétés

Numéro d'article: 325695 - Dernière mise à jour: mercredi 14 juin 2006 - Version: 3.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual Studio .NET 2003 Professional
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
Mots-clés : 
kbmt kbprb KB325695 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 325695
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com