Partilhar via


COM ESPAÇOSDETRABALHOXML

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase 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 xmlns de espaço de nomes XML não pode ser declarado.

  • O prefixo xml de 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 xsi de 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.

Ver também

Referência de Linguagem XQuery (SQL Server)