Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Declara um ou mais espaços de nomes XML.
Transact-SQL convenções de sintaxe
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>
Arguments
xml_namespace_uri
Um Identificador Uniforme de Recursos (URI) que identifica o espaço de nomes XML que está a ser declarado.
xml_namespace_uri é uma string SQL.
xml_namespace_prefix
Especifica um prefixo a ser mapeado e associado ao valor do URI do namespace especificado em xml_namespace_uri.
xml_namespace_prefix deve ser um identificador SQL Server.
Observações
Quando se usa a cláusula WITH XMLNAMESPACES numa instrução que também inclui uma expressão de tabela comum, a cláusula WITH XMLNAMESPACES deve preceder a expressão de tabela comum na instrução.
Seguem-se as regras gerais de sintaxe que se aplicam quando se usa a cláusula WITH XMLNAMESPACES:
Cada declaração de espaço de nomes XML deve conter pelo menos um item de declaração de espaço de nomes XML por defeito.
Cada prefixo de espaço de nomes XML utilizado deve ser um nome não colonizado (NCName) no qual o caractere dos dois (:) não faz parte do nome.
Não podes definir um prefixo de namespace duas vezes.
Os prefixos e URIs do espaço de nomes XML são sensíveis a maiúsculas e minúsculas.
O prefixo
xmlnsde espaço de nomes XML não pode ser declarado.O prefixo
xmlde espaço de nomes XML não pode ser sobreposto por um espaço de nomes, exceto pelo espaço de nomes URI'http://www.w3.org/XML/1998/namespace', e este URI que não pode ser atribuído a um prefixo diferente.O prefixo
xside espaço de nomes XML não pode ser redeclarado quando a diretiva ELEMENTS XSINIL está a ser usada na consulta.Não é necessário declarar o 'http://www.w3.org/2001/XMLSchema-instance' para usar o espaço de nomes padrão xsi. É implicitamente adicionado pelo processador XML/XPATH se não for especificado, e as expressões xpath podem usar o prefixo xsi desde que o esquema 'http://www.w3.org/2001/XMLSchema-instance' seja devidamente declarado no documento xml.
Os valores das cadeias URI são codificados de acordo com a página de códigos de colação da base de dados atual e são traduzidos internamente para Unicode.
O URI do espaço de nomes XML será colapsado por espaço em branco seguindo as regras de colapso de espaço em branco do XSD que são usadas para xs:anyURI. Note-se também que não se realiza qualquer entitização ou desentitização nos valores de URI do espaço de nomes XML.
O URI do espaço de nomes XML será verificado para caracteres XML 1.0 que não sejam válidos, e um erro será criado se for encontrado (como U+0007).
O URI do espaço de nomes XML (depois de todo o espaço em branco ser colapsado) não pode ser uma string de comprimento zero ou ocorre um erro de "URI de espaço de nomes vazio inválido".
A palavra-chave XMLNAMESPACES é reservada no contexto da cláusula WITH.
Examples
Para exemplos, veja Adicionar Namespaces a Consultas com WITH XMLNAMESPACES.