xml_schema_namespace
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
指定された 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
再構築する XML スキーマの名前空間 URI です。 上限は 1,000 文字です。 名前空間 URI を指定しない場合、XML スキーマ コレクション全体が再構築されます。 名前空間は nvarchar(4000) です。
戻り値の型
xml
解説
CREATE XML SCHEMA COLLECTION または ALTER 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