WITH XMLNAMESPACESWITH XMLNAMESPACES

SE APLICA A: síSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Declara uno o varios espacios de nombres XML.Declares one or more XML namespaces.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

  
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
Identificador uniforme de recursos (URI) que identifica el espacio de nombres XML que se va a declarar.A Uniform Resource Identifier (URI) that identifies the XML namespace that is being declared. xml_namespace_uri es una cadena de SQL.xml_namespace_uri is an SQL string.

xml_namespace_prefixxml_namespace_prefix
Especifica un prefijo que se va a asignar y asociar al valor URI del espacio de nombres especificado en xml_namespace_uri.Specifies a prefix to be mapped and associated with the namespace URI value specified in xml_namespace_uri. xml_namespace_prefix debe ser un identificador de SQL ServerSQL Server.xml_namespace_prefix must be a SQL ServerSQL Server identifier.

NotasRemarks

Al utilizar la cláusula WITH XMLNAMESPACES en una instrucción que también incluye una expresión de tabla común, la cláusula WITH XMLNAMESPACES debe preceder a la expresión de tabla común en la instrucción.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.

Estas son las reglas generales de sintaxis que se aplican cuando se usa la cláusula WITH XMLNAMESPACES:The following are general syntax rules that apply when you use the WITH XMLNAMESPACES clause:

  • Cada declaración de espacio de nombres XML debe contener al menos un elemento de declaración de espacio de nombres XML predeterminado.Each XML namespace declaration must contain at least one XML default namespace declaration item.

  • Cada prefijo de espacio de nombres XML utilizado debe ser un nombre no colonizado (NCName) y que el carácter de dos puntos (:) no forme parte del nombre.Each XML namespace prefix used must be a non-colonized name (NCName) in which the colon character (:) is not part of the name.

  • No se puede definir un prefijo de espacio de nombres dos veces.You cannot define a namespace prefix two times.

  • Los prefijos del espacio de nombres XML y los URI distinguen entre mayúsculas y minúsculas.XML namespace prefixes and URIs are case-sensitive.

  • No se puede declarar el prefijo del espacio de nombres XML xmlns .The XML namespace prefix xmlns cannot be declared.

  • No se puede reemplazar el prefijo del espacio de nombres xml con un espacio de nombres distinto del URI de los espacios de nombres 'http://www.w3.org/XML/1998/namespace' y este URI no se puede asignar a diferentes prefijos.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.

  • No se puede volver a declarar el prefijo del espacio de nombres XML xsi cuando se va a utilizar la directiva ELEMENTS XSINIL en la consulta.The XML namespace prefix xsi cannot be redeclared when the ELEMENTS XSINIL directive is being used on the query.

  • No es necesario declarar "http://www.w3.org/2001/XMLSchema-instance" para usar el espacio de nombres estándar de xsi.It is not necesary to declare the 'http://www.w3.org/2001/XMLSchema-instance' to use xsi standard namespace. Se agrega de forma implícita mediante el procesador de XML/XPATH si no se especifica y las expresiones de XPath pueden usar el prefijo xsi siempre que se declare correctamente el esquema "http://www.w3.org/2001/XMLSchema-instance" en el 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.

  • Los valores de la cadena del URI se codifican según la página de códigos de la intercalación de la base de datos actual y se traducen internamente a Unicode.URI string values are encoded according to the current database collation code page and are internally translated to Unicode.

  • Se eliminarán los espacios en blanco del URI del espacio de nombres XML siguiendo las reglas de eliminación de espacios en blanco de XSD que se usan 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. Además, tenga en cuenta que no se definirán entidades ni se eliminarán entidades en los valores de URI del espacio de nombres XML.Also, note that no entitization or deentitization are performed on XML namespace URI values.

  • Se comprobará el URI del espacio de nombres XML para buscar caracteres XML 1.0 no válidos y se generará un error si se encuentran (por ejemplo, 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).

  • El URI del espacio de nombres XML (después de eliminar los espacios en blanco) no puede ser una cadena de longitud cero o se producirá un error de URI de espacio de nombres vacío no vá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.

  • La palabra clave XMLNAMESPACES está reservada en el contexto de la cláusula WITH.The XMLNAMESPACES keyword is reserved in the context of the WITH clause.

EjemplosExamples

Para obtener ejemplos, vea Agregar espacios de nombres a consultas con WITH XMLNAMESPACES.For examples, see Add Namespaces to Queries with WITH XMLNAMESPACES.

Consulte tambiénSee Also

Referencia del lenguaje XQuery (SQL Server)XQuery Language Reference (SQL Server)