WITH XMLNAMESPACES
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
宣告一或多個 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 命名空間的統一資源識別碼 (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 預設命名空間宣告項目。
使用的每一個 XML 命名空間前置詞必須是非移植 (non-colonized) 名稱 (NCName),其中冒號字元 (:) 不是名稱的一部分。
您不能定義兩次命名空間前置詞。
XML 命名空間前置詞和 URI 有區分大小寫。
無法宣告 XML 命名空間前置詞
xmlns
。XML 命名空間前置詞
xml
不能以命名空間 URI'http://www.w3.org/XML/1998/namespace'
以外的命名空間覆寫,而且這個 URI 不能被指派不同的前置詞。當 ELEMENTS XSINIL 指示詞使用於查詢時,不能重新宣告 XML 命名空間前置詞
xsi
。不需要宣告 'http://www.w3.org/2001/XMLSchema-instance ',即可使用 xsi 標準命名空間。 如果未指定,XML/XPATH 處理器會隱含地予以新增,且只要在 XML 文件中正確宣告 'http://www.w3.org/2001/XMLSchema-instance ' 結構描述,xpath 運算式就能使用 xsi 前置詞。
URI 字串值是根據目前資料庫定序字碼頁來編碼,在內部是轉換成 Unicode。
XML 命名空間 URI 是遵照用於 xs:anyURI 的 XSD 空白摺疊規則而摺疊的空白。 另外,請注意,在 XML 命名空間 URI 值上不執行 entitization 或 deentitization。
將檢查 XML 命名空間 URI 是否有無效的 XML 1.0 字元,如果有找到 (例如,U+0007),就會引發錯誤。
XML 命名空間 URI (在摺疊所有空白之後) 不得為長度零的字串,否則會發生「無效空白命名空間 URI」錯誤。
在 WITH 子句的內容中已保留 XMLNAMESPACES 關鍵字。
範例
如需範例,請參閱使用 WITH XMLNAMESPACES 將命名空間加入至查詢。