xml_schema_namespace (Transact-SQL)
Перестраивает все схемы или определенную схему в указанной коллекции XML-схем. Функция возвращает экземпляр типа XML-данных.
Синтаксис
xml_schema_namespace( Relational_schema , XML_schema_collection_name , [ Namespace ] )
Аргументы
Relational_schema
Имя реляционной схемы. Аргумент Relational_schema имеет тип sysname.XML_schema_collection_name
Имя коллекции XML-схем, которую требуется перестроить. Аргумент XML_schema_collection_name имеет тип sysname.Namespace
URI пространства имен XML-схемы, которую требуется перестроить. Максимальная длина — 1000 символов. Если URI пространства имен не предоставлено, то коллекция XML-схем перестраивается полностью. Аргумент Namespace имеет тип nvarchar(4000).
Типы возвращаемых данных
xml
Замечания
При импорте компонентов XML-схемы в базу данных с помощью инструкций CREATE XML SCHEMA COLLECTION или ALTER XML SCHEMA COLLECTION сохраняются характеристики схемы, используемые для проверки правильности. Поэтому перестроенная схема лексически может отличаться от исходного документа схемы. В частности, теряются комментарии, пробельные символы и заметки, а также данные неявных типов преобразуются в явные. Например, <xs:element name="e1" /> преобразуется в <xs:element name="e1" type="xs:anyType"/>. Кроме этого, префиксы пространства имен не сохраняются.
Если указан параметр пространства имен, в результирующем документе схемы будут содержаться определения для всех компонентов схемы в этом пространстве имен, даже если они были добавлены в других документах схемы или во время выполнения этапов языка DDL (или если имели место оба случая).
Эту функцию нельзя использовать для создания документов XML-схемы из коллекции XML-схем sys.sys.
Примеры
В следующем примере коллекция XML-схем ProductDescriptionSchemaCollection запрашивается из производственной реляционной схемы в базе данных AdventureWorks.
USE AdventureWorks2008R2;
GO
SELECT xml_schema_namespace(N'production',N'ProductDescriptionSchemaCollection')
GO
См. также