APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Reconstructs all the schemas or a specific schema in the specified XML schema collection. This function returns an xml data type instance.

Topic link icon Transact-SQL Syntax Conventions


xml_schema_namespace( Relational_schema , XML_schema_collection_name , [ Namespace ] )  


Is the relational schema name. Relational_schema is sysname.

Is the name of the XML schema collection to reconstruct. XML_schema_collection_name is sysname.

Is the namespace URI of the XML schema that you want reconstructed. It is limited to 1,000 characters. If Namespace URI is not provided, the whole XML schema collection is reconstructed. Namespace is nvarchar(4000).

Return Types



When you import XML schema components in the database by using CREATE XML SCHEMA COLLECTION or ALTER XML SCHEMA COLLECTION, aspects of the schema used for validation are preserved. Therefore, the reconstructed schema may not be lexically the same as the original schema document. Specifically, comments, white spaces, and annotations are lost; and implicit type information is made explicit. For example, <xs:element name="e1" /> becomes <xs:element name="e1" type="xs:anyType"/>. Also, namespace prefixes are not preserved.

If you specify a namespace parameter, the resulting schema document will contain definitions for all schema components in that namespace, even if they were added in different schema documents or DDL steps, or both.

You cannot use this function to construct XML schema documents from the sys.sys XML schema collection.


The following example retrieves the XML schema collection ProductDescriptionSchemaCollection from the production relational schema in the AdventureWorks database.

USE AdventureWorks;  
SELECT xml_schema_namespace(N'production',N'ProductDescriptionSchemaCollection');  

See Also

View a Stored XML Schema Collection
XML Schema Collections (SQL Server)