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.