Mensagem de erro ao exibir multidimensionais esquemas XSD no Visual Studio .NET XML Schema Designer

Traduções deste artigo Traduções deste artigo
ID do artigo: 325695 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Quando você tentar abrir e exibir um esquema XSD (XML Schema Definition) multidimensionais no Visual Studio. NET, uma janela do XML Designer pode ser aberto em vez de uma janela de Designer de esquema e você pode receber a seguinte mensagem de erro no modo de exibição dados do XML Designer:
Embora este documento XML seja formatado, ele contém estrutura que não é possível exibir o DataView. A mesma tabela (TableName) não pode ser a tabela filho em duas relações aninhadas

Causa

O esquema XSD é salvo como um arquivo com uma extensão .XML. Os designers do Visual Studio .NET são baseados em extensão. Arquivos com uma extensão .XML são interpretados como arquivos XML regulares, portanto, uma janela do XML Designer abre em vez de uma janela de Designer de esquema quando você tenta abrir e exibir o documento no Visual Studio. NET. O XML Designer no Visual Studio .NET usa as regras de inferência de esquema do ADO.NET para inferir automaticamente o esquema de um documento XML. As regras de inferência de esquema do ADO.NET não permitir ou não oferece suporte a relações multidimensionais na versão RTM do Microsoft .NET Framework.

Resolução

Renomear ou salve o documento como um arquivo com a extensão .xsd para abrir e exibi-lo em uma janela de Designer de esquema XML do Visual Studio .NET. O Visual Studio .NET XML Schema Designer corretamente pode carregar e exibir esquemas XSD multidimensionais.

Situação

Esse comportamento é por design.

Mais Informações

Para recriar a mensagem de erro e testar a resolução, execute estas etapas:
  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. Salve o arquivo como OrderInventory.xml para o seu disco rígido. O esquema de exemplo é multidimensional, porque a ordem e os elementos-filho Inventory do elemento OrdersInventoryData tem um elemento filho denominado item de complexType ItemType (elemento item é um filho em duas relações pai-filho).
  3. No Visual Studio. NET, abra um novo ou existente Microsoft Visual Basic.NET ou Microsoft Visual translation from VPE for Csharp .NET projeto, such as um projeto Windows Application ou um projeto Console Application.
  4. Adicione o documento XML OrderInventory.xml que você criou para o projeto.
  5. No Solution Explorer, clique duas vezes para abrir OrderInventory.xml . Um modo de exibição XML do conteúdo do documento será exibido em uma janela do XML Designer.
  6. Alterne para o modo de exibição dados da janela do XML Designer. Você receber a seguinte mensagem de erro:
    Embora este documento XML seja formatado, ele contém estrutura que não é possível exibir o DataView. A mesma tabela (item) não pode ser a tabela filho em duas relações aninhadas
    A extensão de nome de arquivo .XML faz com que uma janela do XML Designer sejam abertos em vez de uma janela de designer de esquema. O conteúdo do arquivo, portanto, é tratado como XML regular em vez de como um esquema XSD. Quando uma janela Visual Studio .NET XML Designer é aberta para exibir dados XML, as regras de inferência de esquema do ADO.NET são aplicadas para determinar a estrutura do esquema do documento XML. Da perspectiva de inferência de esquema do ADO.NET, um elemento XML de complexType é inferido como uma tabela independente e uma tabela não pode ser uma tabela filho em duas ou mais relações pai-filho. No esquema do exemplo, o elemento de item de complexType ItemType foi definido para ser um filho de ordem ( OrderType complexType ) e elementos de estoque ( InventoryType complexType ). Não é permitido ou regras de inferência do esquema ADO.NET na versão RTM do Microsoft .NET Framework oferece suporte.
  7. Feche a janela do XML Designer.
  8. No Solution Explorer, renomeie OrderInventory.xml para OrderInventory.xsd . Para fazer isso, clique com o botão direito no arquivo e, em seguida, clique em Renomear .
  9. No Solution Explorer, clique duas vezes para abrir OrderInventory.xsd . Um modo de exibição XML do conteúdo do documento será exibido em uma janela de Designer de esquema XML. Alterne para modo de exibição Schema e observe que as estruturas de esquema são exibidas corretamente.

Referências

Você também pode receber a mensagem de erro "A mesma tabela (TableName) não pode ser a tabela filho em duas relações aninhadas" quando você usa arquivos XML com o Visual Studio .NET ou com o utilitário XSD.exe. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
325696Você recebe uma mensagem de erro ao exibir dados multidimensionais de XML no Visual Studio .NET XML Designer

Propriedades

ID do artigo: 325695 - Última revisão: quarta-feira, 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 Edition
  • 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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