Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nach dem Importieren einer XML-Schemaauflistung mithilfe von CREATE XML SCHEMA COLLECTIONwerden die Schemakomponenten in den Metadaten gespeichert. Sie können die systeminterne funktion xml_schema_namespaceverwenden, um die XML-Schemaauflistung zu rekonstruieren. Diese Funktion gibt eine xml Datentypinstanz zurück.
Die folgende Abfrage ruft beispielsweise eine XML-Schemaauflistung (ProductDescriptionSchemaCollection) aus dem relationalen Produktionsschema in der AdventureWorks2012-Datenbank ab.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection')
GO
Wenn Sie nur ein Schema aus der XML-Schemaauflistung anzeigen möchten, können Sie für das xml Typ-Ergebnis, das von xml_schema_namespace zurückgegeben wird, XQuery angeben.
SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('
/xs:schema[@targetNamespace="TargetNameSpace"]
')
GO
So ruft beispielsweise die folgende Abfrage XML-Schemainformationen zur Produktgarantie und -wartung aus der XML-Schemaauflistung ProductDescriptionSchemaCollection ab.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('
/xs:schema[@targetNamespace="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]
')
GO
Sie können auch den optionalen Zielnamespace als dritten Parameter an die xml_schema_namespace -Funktion übergeben, um ein bestimmtes Schema aus der Auflistung abzurufen, wie es in der folgenden Abfrage gezeigt wird:
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain')
GO
Wenn Sie eine XML-Schemaauflistung mithilfe von CREATE XML SCHEMA COLLECTION in der Datenbank erstellen, speichert die Anweisung die Schemakomponenten in den Metadaten. Beachten Sie, dass nur die Schemakomponenten, die SQL Server versteht, gespeichert werden. Kommentare, Anmerkungen oder Nicht-XSD-Attribute werden nicht gespeichert. Daher ist das von xml_schema_namespace rekonstruierte Schema zwar hinsichtlich seiner Funktionalität mit dem ursprünglichen Schema gleichwertig, sein Erscheinungsbild jedoch nicht unbedingt identisch. Sie sehen beispielsweise nicht die gleichen Präfixe, die Sie im ursprünglichen Schema hatten. Das von xml_schema_namespace zurückgegebene Schema verwendet t als Präfix für den Zielnamespace und ns1, ns2usw. für andere Namespaces.
Wenn Sie eine identische Kopie der XML-Schemas beibehalten möchten, sollten Sie das XML-Schema in einer Datei oder in einer Datenbanktabelle in einer xml Typspalte speichern.
Die sys.xml_schema_collections -Katalogsicht gibt auch Informationen zu XML-Schemaauflistungen zurück. Zu diesen Informationen gehören der Name der Auflistung, das Erstellungsdatum und der Besitzer der Auflistung.