xml_schema_namespace

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric の SQL データベース

指定された XML スキーマ コレクション内のすべてのスキーマまたは特定のスキーマを再構築します。 この関数は、 xml データ型のインスタンスを返します。

Transact-SQL 構文表記規則

構文

xml_schema_namespace( Relational_schema , XML_schema_collection_name , [ Namespace ] )  

引数

Relational_schema
リレーショナル スキーマ名。 Relational_schemasysname です。

XML_schema_collection_name
再構築する XML スキーマ コレクションの名前を指定します。 XML_schema_collection_namesysname です。

Namespace
再構築する XML スキーマの名前空間 URI です。 上限は 1,000 文字です。 名前空間 URI を指定しない場合、XML スキーマ コレクション全体が再構築されます。 名前空間nvarchar(4000) です。

戻り値の型

xml

解説

CREATE XML SCHEMA COLLECTIONALTER XML SCHEMA COLLECTIONを使ってXMLスキーマコンポーネントをデータベースにインポートすると、検証に使われたスキーマの一部が保持されます。 したがって、再構築されたスキーマは、元のスキーマ ドキュメントとは構文的に同じにならない可能性があります。 特に、コメント、空白、注釈は失われ、暗黙的な型の情報が明示されます。 たとえば、<xs:element name="e1" /> は <xs:element name="e1" type="xs:anyType"/> になります。 また、名前空間プレフィックスは保持されません。

名前空間のパラメーターを指定した場合、結果のスキーマ ドキュメントにはその名前空間内のすべてのスキーマ コンポーネントの定義が含まれます。それらのコンポーネントが異なるスキーマ ドキュメントまたは DDL のステップ、あるいはその両方に追加された場合であっても、同様です。

この関数を使用して、XML スキーマ ドキュメントを sys.sys XML スキーマ コレクションから構築することはできません。

次の例では、XML スキーマ コレクション ProductDescriptionSchemaCollection を、AdventureWorks データベース内の運用リレーショナル スキーマから取得します。

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

参照

格納されている XML スキーマ コレクションの表示
XML スキーマ コレクション (SQL Server)