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
    要重新构造的 XML 架构的命名空间 URI。它最多包含 1,000 个字符。如果未提供命名空间 URI,则重新构造整个 XML 架构集合。Namespace 的数据类型为 nvarchar(4000)。

返回类型

xml

注释

在使用 CREATE XML SCHEMA COLLECTIONALTER XML SCHEMA COLLECTION 在数据库中导入 XML 架构组件时,将保留架构用于验证的所有特征。因此,重新构建的架构在用词上与原始架构文档可能有所不同。特别是,注释、空格和批注将会丢失;并且隐式类型的信息将变成显式的。例如,<xs:element name="e1" /> 将变为 <xs:element name="e1" type="xs:anyType"/>。此外,不保留命名空间前缀。

如果指定了命名空间参数,则生成的架构文档将包含该命名空间中所有架构组件的定义,即使在不同的架构文档和/或 DDL 步骤中添加了这些组件也是如此。

此函数不能用于从 sys.sys XML 架构集合构建 XML 架构文档。

示例

以下示例从 AdventureWorks 数据库中的产品关系架构中检索 XML 架构集合 ProductDescriptionSchemaCollection。

USE AdventureWorks2008R2;
GO
SELECT xml_schema_namespace(N'production',N'ProductDescriptionSchemaCollection')
GO