Поделиться через


xml_schema_namespace (Transact-SQL)

Перестраивает все схемы или определенную схему в указанной коллекции XML-схем. Функция возвращает экземпляр типа XML-данных.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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