Compartilhar via


WITH XMLNAMESPACES

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Declara um ou mais namespaces XML.

Convenções de sintaxe de 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 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 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.

  • Não é necessário declarar o 'http://www.w3.org/2001/XMLSchema-instance ' para usar o namespace padrão xsi. Ele será implicitamente adicionado pelo processador de XML/XPATH se não for especificado e as expressões xpath poderão usar o prefixo, desde que o esquema 'http://www.w3.org/2001/XMLSchema-instance ' seja corretamente declarado no documento xml.

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

  • O URI de namespace de 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 Adicionar namespaces a consultas com WITH XMLNAMESPACES.

Consulte Também

Referência de linguagem Xquery (SQL Server)