Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
När du har importerat en XML-schemasamling med hjälp av CREATE XML SCHEMA COLLECTIONlagras schemakomponenterna i metadata. Du kan använda den xml_schema_namespace inbyggda funktionen för att rekonstruera XML-schemasamlingen. Den här funktionen returnerar en XML-datatyp instans.
Följande fråga hämtar till exempel en XML-schemasamling (ProductDescriptionSchemaCollection
) från relationsschemat för produktion i AdventureWorks2022
-databasen.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection');
GO
Om du bara vill se ett schema från XML-schemasamlingen kan du ange XQuery mot det xml- typresultat som returneras av xml_schema_namespace
.
SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('
/xs:schema[@targetNamespace="TargetNameSpace"]
');
GO
Följande fråga hämtar till exempel information om XML-schema för produktgaranti och underhåll från den ProductDescriptionSchemaCollection
XML-schemasamlingen.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('
/xs:schema[@targetNamespace="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]
');
GO
Du kan också skicka det valfria målnamnområdet som den tredje parametern till funktionen xml_schema_namespace
för att hämta ett specifikt schema från samlingen, enligt följande fråga:
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain');
GO
När du skapar en XML-schemasamling med hjälp av CREATE XML SCHEMA COLLECTION i databasen lagrar -instruktionen schemakomponenterna i metadata. Endast de schemakomponenter som SQL Server förstår lagras. Kommentarer, anteckningar eller icke-XSD-attribut lagras inte. Därför är schemat som rekonstrueras av xml_schema_namespace funktionellt likvärdigt med det ursprungliga schemat, men det ser inte nödvändigtvis likadant ut. Du ser till exempel inte samma prefix som du hade i det ursprungliga schemat. Schemat som returneras av xml_schema_namespace använder t som prefix för målnamnområdet och ns1, ns2osv. för andra namnområden.
Om du vill behålla en identisk kopia av XML-scheman bör du spara XML-schemat i en fil eller i en databastabell i en xml- typkolumn.
Katalogvyn sys.xml_schema_collections returnerar också information om XML-schemasamlingar. Den här informationen innehåller namnet på samlingen, skapandedatumet och samlingens ägare.