Chybová zpráva při zobrazení vícerozměrná schémata XSD v aplikaci Visual Studio .NET XML schématu Návrhář

Příznaky

Při pokusu otevřít a zobrazit v Visual Studio .NET, zobrazí se okno Návrhář XML vícerozměrná definici schématu XML (XSD) schématu může otevřít namísto okno Návrhář schémat a zobrazení dat XML návrhář můžete obdržet následující chybovou zprávu:

Ačkoli tento dokument XML je dobře tvarované, obsahuje strukturu, kterou nelze zobrazit DataView. Stejné tabulky (tabulky) nemůže být podřízenou tabulkou ve dvou vnořených relacích

Příčina

Schéma XSD je uložen jako soubor s příponou XML. Návrháři Visual Studio .NET jsou založeny na rozšíření. Soubory s příponou XML jsou interpretovány jako běžné soubory XML, zobrazí se okno Návrhář XML se otevře namísto okno Návrhář schémat při pokusu o otevření a zobrazení dokumentu v aplikaci Visual Studio .NET. Návrhář XML v aplikaci Visual Studio .NET pomocí pravidla odvození schématu ADO.NET automaticky odvození schématu dokumentu XML. Pravidla odvození schématu ADO.NET není povolení nebo podporu vícerozměrná vztahy v verzi RTM Microsoft rozhraní.NET Framework.

Řešení

Přejmenovat nebo uložit dokument jako soubor s příponou XSD otevřít a zobrazit v okně Návrhář Visual Studio .NET XML Schema. Visual Studio .NET XML schématu Návrhář může správně načíst a zobrazit vícerozměrná schémata XSD.

Stav

Toto chování je záměrné.

Další informace

Chcete-li znovu vytvořit chybová zpráva a test rozlišení, postupujte takto:

  1. V programu Poznámkový blok vložte následující kód do nového souboru:
    <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. Uložte soubor na pevný disk jako OrderInventory.xml. Ukázkové schéma je multidimenzionální, protože pořadí a podřízené prvky Inventory prvku OrdersInventoryData mít podřízený element s názvem položky typu complexType ItemType ( Položka prvek je podřízeným v dva vztahy nadřízený podřízený).
  3. V aplikaci Visual Studio .NET otevřete novou nebo existující Microsoft Visual Basic .NET nebo Microsoft Visual C# .NET projektu, například projekt aplikace systému Windows nebo aplikace konzoly projektu.
  4. Do projektu přidáte dokument OrderInventory.xml XML, který jste právě vytvořili.
  5. V Průzkumníku řešení poklepáním otevřete OrderInventory.xml. Zobrazení XML obsahu dokumentu se zobrazí v okně Návrhář XML.
  6. Přepněte do zobrazení dat okna Návrhář XML. Zobrazí se následující chybová zpráva:
    Ačkoli tento dokument XML je dobře tvarované, obsahuje strukturu, kterou nelze zobrazit DataView. Stejná tabulka (zboží) nemůže být podřízenou tabulkou ve dvou vnořených relacích
    Přípona názvu souboru XML způsobí, že okno aplikace Návrhář XML otevřít namísto okno Návrhář schémat. Obsah souboru jsou proto považovány za běžný XML namísto jako schéma XSD. Po otevření okna Návrhář XML Visual Studio .NET k zobrazení dat XML jsou použita pravidla odvození schématu ADO.NET rozhodování o struktuře schématu dokumentu XML. Z hlediska odvození schématu ADO.NET je prvek XML complexType odvodit jako nezávislé tabulky a jedné tabulce nemůže být podřízenou tabulku ve dvou nebo více vztahů nadřazenosti a podřízenosti. V tomto vzorovém schématu byla definována Položka prvek ItemType complexType být podřízené objednávky (OrderType complexType) a prvky Inventory (InventoryType complexType). To není povoleno nebo pravidla odvození schématu ADO.NET v RTM verzi rozhraní.NET Framework Microsoft podporována.
  7. Zavřete okno Návrhář XML.
  8. V Průzkumníku řešení přejmenujte OrderInventory.xml OrderInventory.xsd. Chcete-li to provést, klepněte pravým tlačítkem myši na soubor a potom klepněte na příkaz Přejmenovat.
  9. V Průzkumníku řešení poklepáním otevřete OrderInventory.xsd. Zobrazení XML obsahu dokumentu je zobrazen v okně Návrhář schémat XML. Přepněte se do zobrazení schématu a Všimněte si struktur schématu se zobrazují správně.
Může také zobrazit chybová zpráva "stejné tabulky (tabulky) nemůže být podřízenou tabulkou ve dvou vnořených relacích", pokud používáte soubory XML s aplikací Visual Studio .NET nebo pomocí nástroje Xsd.exe.
Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

325696 zobrazí chybová zpráva při zobrazení multidimenzionální data XML v aplikaci Visual Studio .NET XML návrhář

Vlastnosti

ID článku: 325695 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor