Share via


WITH XMLNAMESPACES (Transact-SQL)

Declara um ou mais namespaces XML.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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>

Argumentos

  • xml_namespace_uri
    Um URI (Uniform Resource Identifier) que identifica o namespace XML que está sendo declarado. xml_namespace_uri é uma cadeia de caracteres SQL.

  • xml_namespace_prefix
    Especifica um prefixo a ser mapeado e associado ao valor URI do namespace especificado em xml_namespace_uri. xml_namespace_prefix deve ser um identificador do SQL Server.

Comentários

Quando você usa a cláusula WITH XMLNAMESPACES em uma instrução que também inclui uma expressão de tabela comum, a cláusula WITH XMLNAMESPACES deve preceder a expressão na instrução.

Os seguintes itens são regras gerais de sintaxe que se aplicam quando você usa a cláusula WITH XMLNAMESPACES:

  • Cada declaração de namespace XML deve conter pelo menos um item de declaração de namespace padrão XML.

  • Cada prefixo de namespace XML usado deve ser um NCName (non-colonized name) no qual o dois-pontos (:) não faz parte do nome.

  • Você não pode definir um prefixo de namespace duas vezes.

  • Prefixos de namespace XML e URIs diferenciam maiúsculas de minúsculas.

  • O prefixo de namespace XML xmlns não pode ser declarado.

  • O prefixo de namespace XML xml não pode ser substituído por um namespace diferente do URI de namespaces 'http://www.w3.org/XML/1998/namespace', e este URI não pode receber um prefixo diferente.

  • O prefixo de namespace XML xsi não pode ser redeclarado quando a diretiva ELEMENTS XSINIL está sendo usada na consulta.

  • Os valores de cadeia de caracteres URI são codificados de acordo com a página de código de agrupamento de banco de dados atual e são convertidos internamente em Unicode.

  • O URI de namespace XML terá o espaço em branco reduzido segundo as regras de redução de espaço em branco XSD usadas para xs:anyURI. Além disso, observe que são executados definições de entidade ou cancelamentos de definição em valores URI de namespaces XML.

  • Será verificado no URI de namespace XML se há caracteres XML 1.0 que não sejam válidos, e será gerado um erro se algum for encontrado (por exemplo, U+0007).

  • O URI de namespace XML (após todo o espaço em branco ser reduzido) não pode ser uma cadeia de caracteres de comprimento ou ocorrerá um erro relacionado a URI de namespace vazio inválido.

  • A palavra-chave XMLNAMESPACES é reservada no contexto da cláusula WITH.

Exemplos

Para obter exemplos, consulte Adicionando namespaces usando WITH XMLNAMESPACES.