Mensaje de error cuando ve multidimensionales esquemas XSD en el Diseñador de esquemas XML de Visual Studio .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 325695 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Cuando intenta abrir y ver un esquema de definición de esquemas XML (XSD) multidimensionales en Visual Studio. NET, una ventana del Diseñador XML puede abrir en lugar de una ventana del Diseñador de esquemas y puede recibir el siguiente mensaje de error en la vista de datos del Diseñador XML:
Aunque este documento XML está bien formado, contiene estructura que no se puede mostrar la DataView. La misma tabla (TableName) no puede ser la tabla secundaria en dos relaciones anidadas

Causa

El esquema XSD se guarda como un archivo con la extensión .Xml. Los diseñadores de Visual Studio .NET están basadas en extensión. Los archivos con la extensión .XML se interpretan como archivos normales de XML, así se abre una ventana del Diseñador XML en lugar de una ventana de diseñador de esquemas cuando intenta abrir y ver el documento en Visual Studio. NET. El Diseñador XML en Visual Studio. NET, se utiliza las reglas de inferencia del esquema ADO.NET para automáticamente deduce el esquema de un documento XML. Las reglas de inferencia del esquema ADO.NET no permite o no se admite relaciones multidimensionales en el lanzamiento de RTM de Microsoft .NET Framework.

Solución

Cambiar el nombre o guardar el documento como un archivo con una extensión .xsd para abrir y ver en una ventana del Diseñador de esquemas XML de Visual Studio .NET. El Diseñador de esquemas XML de Visual Studio .NET correctamente puede cargar y mostrar los esquemas XSD multidimensionales.

Estado

Este comportamiento es por diseño.

Más información

Para volver a crear el mensaje de error y probar la resolución, siga estos pasos:
  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 el archivo como OrderInventory.xml al disco duro. El esquema de ejemplo es multidimensional ya inventario dos elementos secundarios del elemento OrdersInventoryData y el pedido de un elemento secundario denominado elemento complexType ItemType (el elemento Item es un elemento secundario en dos relaciones de elementos primarios y secundarios).
  3. En Visual Studio. NET, abra una nuevo o existente Microsoft Visual Basic .NET o Microsoft Visual C# .NET proyecto, como un proyecto de aplicación para Windows o un proyecto de aplicación de consola.
  4. Agregue el documento XML de OrderInventory.xml que acaba de crear el proyecto.
  5. En el Explorador de soluciones, haga doble clic para abrir OrderInventory.xml . Se muestra una vista XML del contenido del documento en una ventana del Diseñador XML.
  6. Cambie a la vista de datos de la ventana Diseñador XML. Recibirá el siguiente mensaje de error:
    Aunque este documento XML está bien formado, contiene estructura que no se puede mostrar la DataView. La misma tabla (elemento) no puede ser la tabla secundaria en dos relaciones anidadas
    La extensión de nombre de archivo .XML hace que una ventana del Diseñador XML puede abrirse en lugar de una ventana del Diseñador de esquemas. El contenido del archivo, por lo tanto, se trata como XML normal en lugar de como un esquema XSD. Cuando se abre una ventana del Diseñador XML de Visual Studio .NET para mostrar datos XML, se aplican las reglas de inferencia del esquema ADO.NET para determinar la estructura de esquema del documento XML. Desde la perspectiva inferencia del esquema ADO.NET, un elemento XML de complexType se deduce como una tabla independiente y una tabla no puede ser una tabla secundaria en dos o más relaciones de elementos primarios y secundarios. En el esquema de ejemplo, el elemento Item de complexType ItemType se ha definido para ser un secundario de la orden ( OrderType complexType ) y elementos de inventario ( InventoryType complexType ). No es permitido o compatibles con las reglas de inferencia del esquema ADO.NET en el lanzamiento de RTM de Microsoft .NET Framework.
  7. Cierre la ventana Diseñador XML.
  8. En el Explorador de soluciones, cambie el nombre OrderInventory.xml a OrderInventory.xsd . Para ello, haga clic con el botón secundario en el archivo y, a continuación, haga clic en Cambiar nombre .
  9. En el Explorador de soluciones, haga doble clic para abrir OrderInventory.xsd . Se muestra una vista XML del contenido del documento en una ventana del Diseñador de esquemas XML. Cambie a la vista esquema y observe que las estructuras de esquema se muestran correctamente.

Referencias

También puede recibir el mensaje de error "la misma tabla (TableName) no puede ser la tabla secundaria en dos relaciones anidadas" cuando utiliza archivos XML con Visual Studio .NET o con la utilidad XSD.exe. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
325696Recibirá un mensaje de error al ver datos multidimensionales de XML en el Diseñador XML de Visual Studio .NET

Propiedades

Id. de artículo: 325695 - Última revisión: miércoles, 14 de junio de 2006 - Versión: 3.4
La información de este artículo se refiere 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
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Professional
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
Palabras clave: 
kbmt kbprb KB325695 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 325695

Enviar comentarios

 

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