Mensagem de erro quando visualiza esquemas XSD multidimensionais o Designer de esquema XML do Visual Studio .NET

Traduções de Artigos Traduções de Artigos
Artigo: 325695 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Quando tenta abrir e ver um esquema de definição de esquema XML (XSD) multidimensionais no Visual Studio. NET, uma janela de XML Designer poderá abrir em vez de uma janela Designer de esquema e poderá receber a seguinte mensagem de erro na vista de dados de Designer XML:
Embora este documento XML está bem formado, contém estrutura que não consegue apresentar o DataView. A mesma tabela (TableName) não pode ser a tabela subordinada em duas relações aninhadas

Causa

O esquema XSD é guardado como um ficheiro com uma extensão .XML. Estruturador de Visual Studio .NET é baseados na extensão. Ficheiros com uma extensão .XML são interpretados como ficheiros XML normais, para abrir uma janela Designer XML em vez de uma janela Designer esquema quando tenta abrir e ver o documento no Visual Studio. NET. O Designer de XML no Visual Studio .NET utiliza as regras de inferência do esquema ADO.NET para sugerir automaticamente o esquema de um documento XML. As regras do ADO.NET esquema inferência não permitir ou não suportam multidimensionais relações na versão RTM do Microsoft .NET Framework.

Resolução

Mudar o nome ou guarde o documento como um ficheiro com uma extensão .xsd para abrir e ver numa janela do Visual Studio .NET XML Schema Designer. O estruturador de esquema XML do Visual Studio .NET correctamente pode carregar e ver esquemas XSD multidimensionais.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Para recriar a mensagem de erro e testar a resolução, siga estes passos:
  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. Guarde o ficheiro como OrderInventory.xml no disco rígido. O esquema de exemplo é multidimensional porque tanto a ordem de elementos subordinados de inventário do elemento OrdersInventoryData tem um elemento subordinado chamado produto do complexType ItemType (o elemento de produto é uma subordinada em duas relações ascendente-subordinado).
  3. No Visual Studio. NET, abra um novo ou existente Microsoft Visual Basic .NET ou Microsoft Visual C# .NET projecto, tal como um projecto de aplicação do Windows ou um projecto de aplicação de consola.
  4. Adicione o documento XML OrderInventory.xml que acabou de criar o projecto.
  5. No Solution Explorer, faça duplo clique para abrir OrderInventory.xml . É apresentada uma vista XML do conteúdo do documento numa janela do Designer de XML.
  6. Mude para a vista de dados da janela do Designer de XML. Receberá a seguinte mensagem de erro:
    Embora este documento XML está bem formado, contém estrutura que não consegue apresentar o DataView. A mesma tabela (produto) não pode ser a tabela subordinada em duas relações aninhadas
    A extensão do nome do ficheiro .XML faz com que uma janela de XML Designer a ser aberto em vez de uma janela do estruturador de esquema. O conteúdo do ficheiro assim é tratado como XML normal em vez de como um esquema XSD. Quando é aberta uma janela do Visual Studio .NET XML Designer para apresentar dados XML, são aplicadas as regras de inferência do esquema ADO.NET para determinar a estrutura do esquema do documento XML. A partir da perspectiva ao inferir o esquema do ADO.NET, um elemento XML complexType é inferido como uma tabela independente e uma tabela não pode ser uma tabela subordinada em duas ou mais relações de elemento principal-subordinado. O esquema de exemplo, o elemento de produto do complexType ItemType foi definido seja subordinado da encomenda ( OrderType complexType ) e elementos de inventário ( InventoryType complexType ). Este não é permitido ou suportado pelas regras de inferência do esquema ADO.NET na versão RTM do Microsoft .NET Framework.
  7. Feche a janela Designer de XML.
  8. No Solution Explorer, mude o nome OrderInventory.xml para OrderInventory.xsd . Para o fazer, clique com o botão direito do rato no ficheiro e, em seguida, clique em Mudar o nome .
  9. No Solution Explorer, faça duplo clique para abrir OrderInventory.xsd . É apresentada uma vista XML do conteúdo do documento numa janela do Designer de esquema XML. Mude para a vista de esquema e repare que as estruturas de esquema são apresentadas correctamente.

Referências

Também poderá receber a mensagem de erro "A mesma tabela (TableName) não pode ser a tabela subordinada em duas relações aninhadas" quando utiliza ficheiros XML com o Visual Studio .NET ou com o utilitário xsd.exe. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
325696Recebe uma mensagem de erro quando visualiza dados XML multidimensionais no Designer XML Visual Studio .NET

Propriedades

Artigo: 325695 - Última revisão: 14 de junho de 2006 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • 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
Palavras-chave: 
kbmt kbprb KB325695 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 325695

Submeter comentários

 

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