WITH XMLNAMESPACES (Transact-SQL)
1 つまたは複数の XML 名前空間を宣言します。
構文
WITH XMLNAMESPACES ( <XML namespace declaration item>
[ { , <XML namespace declaration item> }...] )
<XML namespace declaration item> ::=
<xml_namespace_uri> AS <xml_namespace_prefix>
| <XML default namespace declaration item>
<xml_namespace_uri> ::= <character string literal>
<xml_namespace_prefix> ::= <identifier>
<XML default namespace declaration item> ::=
DEFAULT <xml_namespace_uri>
引数
- xml_namespace_uri
宣言する XML 名前空間を識別する Uniform Resource Identifier (URI) を指定します。xml_namespace_uri は SQL 文字列です。
- xml_namespace_prefix
xml_namespace_uri で指定した名前空間 URI 値にマップされ、関連付けられるプレフィックスを指定します。xml_namespace_prefix には SQL Server 識別子を指定する必要があります。
解説
共通テーブル式を含むステートメントで WITH XMLNAMESPACES 句を使用する場合は、ステートメント内で WITH XMLNAMESPACES 句を共通テーブル式より前に置く必要があります。
次は、WITH XMLNAMESPACES 句を使用するときに適用される一般的な構文規則です。
- XML 名前空間の各宣言には、既定の XML 名前空間宣言の項目が少なくとも 1 つ含まれている必要があります。
- 使用する各 XML 名前空間プレフィックスは、名前の一部にコロン (:) が使用されていない名前 (NCName) であることが必要です。
- 名前空間プレフィックスは 2 回定義できません。
- XML 名前空間プレフィックスと URI では、大文字小文字が区別されます。
- XML 名前空間プレフィックス
xmlns
は宣言できません。 - XML 名前空間プレフィックス
xml
は、名前空間 URI'http://www.w3.org/XML/1998/namespace'
以外のどの名前空間よりも優先されます。この URI に他のプレフィックスを割り当てることはできません。 - クエリで ELEMENTS XSINIL ディレクティブが使用されている場合、XML 名前空間プレフィックス
xsi
は再宣言できません。 - URI 文字列値は、現在のデータベースの照合順序のコード ページに基づいてエンコードされ、内部で Unicode に変換されます。
- XML 名前空間 URI では、xs:anyURI で使用される XSD の空白短縮の規則に従って空白が短縮されます。また、XML 名前空間 URI 値は、エンティティ化または非エンティティ化されないことに注意してください。
- XML 名前空間 URI に対して、無効な XML 1.0 文字がないかどうかが確認され、検出された場合はエラーが生成されます (U+0007 など)。
- 空白が短縮された後の XML 名前空間 URI が長さ 0 の文字列になると、"無効な空の名前空間 URI" エラーが発生します。
- XMLNAMESPACES キーワードは WITH 句のコンテキストでは予約されています。
例
例については、「WITH XMLNAMESPACES を使用した名前空間の追加」を参照してください。