WITH XMLNAMESPACES (Transact-SQL)

Déclare un ou plusieurs espaces de noms XML.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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
    URI (Uniform Resource Identifier) identifiant l'espace de noms XML déclaré. xml_namespace_uri est une chaîne SQL.

  • xml_namespace_prefix
    Indique un préfixe à associer à l'URI de l'espace de noms spécifié dans xml_namespace_uri. xml_namespace_prefix doit être un identificateur SQL Server.

Notes

Lorsque vous utilisez la clause WITH XMLNAMESPACES dans une instruction qui comprend également une expression de table commune, la clause doit précéder l'expression dans l'instruction.

Les règles générales de syntaxe suivantes s'appliquent lorsque vous utilisez la clause WITH XMLNAMESPACES :

  • Chaque déclaration d'espace de noms XML doit contenir au moins un élément de déclaration d'espace de noms XML par défaut.

  • Chaque préfixe d'espace de noms XML utilisé doit être un nom « non colonisé » (NCName) dans lequel le caractère deux-points (:) ne fait pas partie du nom.

  • Vous ne pouvez pas définir deux fois un préfixe d'espace de noms.

  • Les préfixes et les URI d'espace de noms XML respectent la casse.

  • Le préfixe d'espace de noms XML xmlns ne peut pas être déclaré.

  • Le préfixe d'espace de noms XML xml ne peut pas être remplacé par un espace de nom autre que l'URI 'http://www.w3.org/XML/1998/namespace', et cet URI ne peut pas recevoir un préfixe différent.

  • Le préfixe d'espace de noms XML xsi ne peut pas être redéclaré lorsque la directive ELEMENTS XSINIL est utilisée sur la requête.

  • Les valeurs des chaînes URI sont codées conformément à la page de codes de classement de la base de données actuelle et elles sont converties au format Unicode.

  • L'URI d'espace de noms XML sera soumis aux règles de réduction des blancs XSD utilisées pour xs:anyURI. Notez également que les valeurs des URI d'espace de noms ne subissent ni décomposition en entités, ni regroupement des entités.

  • Une vérification de l'URI d'espace de noms XML permet de repérer les caractères XML 1.0 qui ne sont pas valides et de générer une erreur le cas échéant (par exemple, si le caractère U+0007 est détecté).

  • L'URI d'espace de noms XML (après réduction de tous les blancs) ne peut pas être une chaîne de longueur nulle car cela déclenche une erreur « invalid empty namespace URI ».

  • Le mot clé XMLNAMESPACES est réservé dans le contexte de la clause WITH.

Exemple

Pour obtenir des exemples, consultez Ajout d'espaces de noms à l'aide de WITH XMLNAMESPACES.