WITH XMLNAMESPACESWITH XMLNAMESPACES

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Declara um ou mais namespaces XML.Declares one or more XML namespaces.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
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>  
  

ArgumentosArguments

xml_namespace_urixml_namespace_uri
Um URI que identifica o namespace XML que está sendo declarado.A Uniform Resource Identifier (URI) that identifies the XML namespace that is being declared. xml_namespace_uri é uma cadeia de caracteres SQL.xml_namespace_uri is an SQL string.

xml_namespace_prefixxml_namespace_prefix
Especifica um prefixo a ser mapeado e associado ao valor URI do namespace especificado em xml_namespace_uri.Specifies a prefix to be mapped and associated with the namespace URI value specified in xml_namespace_uri. xml_namespace_prefix deve ser um identificador SQL ServerSQL Server.xml_namespace_prefix must be a SQL ServerSQL Server identifier.

RemarksRemarks

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.When you use the WITH XMLNAMESPACES clause in a statement that also includes a common table expression, the WITH XMLNAMESPACES clause must precede the common table expression in the statement.

Os seguintes itens são regras gerais de sintaxe que se aplicam quando você usa a cláusula WITH XMLNAMESPACES:The following are general syntax rules that apply when you use the WITH XMLNAMESPACES clause:

  • Cada declaração de namespace XML deve conter pelo menos um item de declaração de namespace padrão XML.Each XML namespace declaration must contain at least one XML default namespace declaration item.

  • Cada prefixo de namespace XML usado deve ser um NCName (non-colonized name) no qual o dois-pontos (:) não faz parte do nome.Each XML namespace prefix used must be a non-colonized name (NCName) in which the colon character (:) is not part of the name.

  • Você não pode definir um prefixo de namespace duas vezes.You cannot define a namespace prefix two times.

  • Prefixos de namespace XML e URIs diferenciam maiúsculas de minúsculas.XML namespace prefixes and URIs are case-sensitive.

  • O prefixo de namespace XML xmlns não pode ser declarado.The XML namespace prefix xmlns cannot be declared.

  • 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.The XML namespace prefix xml cannot be overridden with a namespace, other than the namespaces URI 'http://www.w3.org/XML/1998/namespace', and this URI that cannot be assigned a different prefix.

  • O prefixo de namespace XML xsi não pode ser redeclarado quando a diretiva ELEMENTS XSINIL está sendo usada na consulta.The XML namespace prefix xsi cannot be redeclared when the ELEMENTS XSINIL directive is being used on the query.

  • Não é necessário declarar o 'http://www.w3.org/2001/XMLSchema-instance' para usar o namespace padrão xsi.It is not necesary to declare the 'http://www.w3.org/2001/XMLSchema-instance' to use xsi standard namespace. 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.It is implicitly added by the XML/XPATH processor if not specified and xpath expressions can use the xsi prefix as long as the 'http://www.w3.org/2001/XMLSchema-instance' schema is properly declared in the xml document.

  • 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.URI string values are encoded according to the current database collation code page and are internally translated to 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.The XML namespace URI will be white-space collapsed following the XSD white-space collapse rules that are used for 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.Also, note that no entitization or deentitization are performed on XML namespace URI values.

  • 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).The XML namespace URI will be checked for XML 1.0 characters that are not valid, and an error will be raised if one is found (such as, 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.The XML namespace URI (after all white space is collapsed) cannot be a zero-length string or an "invalid empty namespace URI" error occurs.

  • A palavra-chave XMLNAMESPACES é reservada no contexto da cláusula WITH.The XMLNAMESPACES keyword is reserved in the context of the WITH clause.

ExemplosExamples

Para obter exemplos, consulte Adicionar namespaces a consultas com WITH XMLNAMESPACES.For examples, see Add Namespaces to Queries with WITH XMLNAMESPACES.

Consulte TambémSee Also

Referência de linguagem XQuery (SQL Server)XQuery Language Reference (SQL Server)