Sdílet prostřednictvím


Zobrazení uložené kolekce schématu XML

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Po importu kolekce schémat XML pomocí CREATE XML SCHEMA COLLECTION jsou součásti schématu uloženy v metadatech. K rekonstrukci kolekce schémat XML můžete použít vnitřní funkci xml_schema_namespace . Tato funkce vrátí instanci datového typu XML .

Následující dotaz například načte kolekci schémat XML (ProductDescriptionSchemaCollection) z produkčního relačního schématu AdventureWorks2025 v databázi.

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection');
GO

Pokud chcete zobrazit pouze jedno schéma z kolekce schémat XML, můžete zadat XQuery proti výsledku typu XML , který je vrácen xml_schema_namespace.

SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('
/xs:schema[@targetNamespace="TargetNameSpace"]
');
GO

Následující dotaz například načte informace o schématu XML záruky a údržby produktů z ProductDescriptionSchemaCollection kolekce schémat XML.

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('
/xs:schema[@targetNamespace="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]
');
GO

Volitelně můžete také předat cílový obor názvů jako třetí parametr funkci xml_schema_namespace, abyste načetli konkrétní schéma z kolekce, což je ukázáno v následujícím dotazu:

SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain');
GO

Při vytváření kolekce schémat XML pomocí CREATE XML SCHEMA COLLECTION v databázi, příkaz ukládá součásti schématu do metadat. Ukládají se pouze součásti schématu, kterým SQL Server rozumí. Žádné komentáře, poznámky ani atributy jiné než XSD se neukládají. Proto schéma rekonstruované xml_schema_namespace je funkčně ekvivalentní původnímu schématu, ale nemusí nutně vypadat stejně. Například neuvidíte stejné předpony, které jste měli v původním schématu. Schéma vrácené xml_schema_namespace používá t jako předponu pro cílový jmenný prostor a ns1, ns2 atd. pro jiné jmenné prostory.

Pokud chcete zachovat identickou kopii schémat XML, měli byste schéma XML uložit do souboru nebo do databázové tabulky ve sloupci typu XML .

Zobrazení katalogu sys.xml_schema_collections také vrací informace o kolekcích schémat XML. Tyto informace zahrnují název kolekce, datum vytvoření a vlastníka kolekce.

Viz také