WITH XMLNAMESPACES (Transact-SQL)

Declara uno o varios espacios de nombres XML.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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
    Identificador uniforme de recursos (URI) que identifica el espacio de nombres XML que se va a declarar. xml_namespace_uri en una cadena SQL.
  • xml_namespace_prefix
    Especifica un prefijo que se va a asignar y asociar al valor URI del espacio de nombres especificado en xml_namespace_uri. xml_namespace_prefix debe ser un identificador SQL Server.

Notas

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.

Estas son las reglas generales de sintaxis que se aplican cuando se usa la cláusula WITH XMLNAMESPACES:

  • Cada declaración de espacio de nombres XML debe contener al menos un elemento de declaración de espacio de nombres XML predeterminado.
  • 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.
  • No se puede definir un prefijo de espacio de nombres dos veces.
  • Los prefijos del espacio de nombres XML y los URI distinguen entre mayúsculas y minúsculas.
  • No se puede declarar el prefijo del espacio de nombres XML xmlns .
  • 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.
  • 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.
  • 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.
  • 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 utilizan para 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.
  • 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).
  • 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.
  • La palabra clave XMLNAMESPACES está reservada en el contexto de la cláusula WITH.

Ejemplos

Para obtener ejemplos, vea Agregar espacios de nombres mediante WITH XMLNAMESPACES.

Vea también

Otros recursos

Tipo de datos xml
XQuery con el tipo de datos xml

Ayuda e información

Obtener ayuda sobre SQL Server 2005