Udostępnij za pośrednictwem


Przeglądanie kolekcji schematu XML przechowywane

Po zaimportowaniu kolekcja schematu XML za pomocą Utworzyć kolekcja SCHEMATU XML, składniki schematu są przechowywane metadane.Można użyć xml_schema_namespacewewnętrznych funkcja do rekonstruowania kolekcja schematu XML.Ta funkcja zwraca xml Typ danych wystąpienie.

Na przykład, poniższa kwerenda pobiera kolekcja schematu XML (ProductDescriptionSchemaCollection) z schematu relacyjnego produkcji w AdventureWorks2008R2 bazy danych.

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

Jeśli chcesz zobaczyć tylko jeden schemat z kolekcja schematów XML, można określić XQuery przeciwko xml typu wynik, który jest zwracany przez xml_schema_namespace.

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

Na przykład, poniższa kwerenda pobiera produktu gwarancji i konserwacja XML schematu z ProductDescriptionSchemaCollection kolekcja schematu XML.

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

Można również przekazać opcjonalne miejsce docelowe obszar nazw jako trzeciego parametru xml_schema_namespace funkcja, aby pobrać schematu określonej kolekcja, jak pokazano w następującej kwerendzie:

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

Podczas tworzenia kolekcja schematu XML za pomocą utworzyć kolekcja SCHEMATU XML, bazy danych, instrukcja przechowuje składników schematu metadane.Uwaga tylko składniki schematu, SQL Server rozumie są przechowywane.Wszelkie komentarze, adnotacje lub innych niż XSD atrybuty nie są przechowywane.Dlatego rekonstrukcję schematu xml_schema_namespace funkcjonalnym oryginalnego schematu, ale to nie koniecznie wygląd takie same.Na przykład nie zobaczysz samego prefiksy miał w oryginalnego schematu.Schemat zwrócony przez xml_schema_namespace używa t jako prefiks obszaru nazw miejsce docelowe i miały prefiksy ns1, ns2i tak dalej do innych obszarów nazw.

Jeśli chcesz zachować identycznych kopii schematów XML, należy zapisać schemat XML w pliku lub w tabela bazy danych w xml typu kolumna.

Sys.xml_schema_collections widok wykazu również zwraca informacje dotyczące kolekcji schematu XML.Te informacje obejmują nazwę kolekcja, data utworzenia i właściciel zbioru.