WITH XMLNAMESPACES (Transact-SQL)

宣告一或多個 XML 命名空間。

主題連結圖示Transact-SQL 語法慣例

語法

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
  • 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 來加入命名空間>。

請參閱

其他資源

XML 資料類型
對 XML 資料類型進行 XQuery

說明及資訊

取得 SQL Server 2005 協助