WITH XMLNAMESPACESWITH XMLNAMESPACES

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions)

Déclare un ou plusieurs espaces de noms XML.Declares one or more XML namespaces.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
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>  
  

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentsArguments

xml_namespace_urixml_namespace_uri
URI (Uniform Resource Identifier) identifiant l'espace de noms XML déclaré.A Uniform Resource Identifier (URI) that identifies the XML namespace that is being declared. xml_namespace_uri est une chaîne SQL.xml_namespace_uri is an SQL string.

xml_namespace_prefixxml_namespace_prefix
Spécifie un préfixe à mapper sur l’URI de l’espace de noms associé indiqué dans xml_namespace_uri.Specifies a prefix to be mapped and associated with the namespace URI value specified in xml_namespace_uri. xml_namespace_prefix doit être un identificateur SQL ServerSQL Server.xml_namespace_prefix must be a SQL ServerSQL Server identifier.

NotesRemarks

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.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.

Les règles générales de syntaxe suivantes s'appliquent lorsque vous utilisez la clause WITH XMLNAMESPACES :The following are general syntax rules that apply when you use the WITH XMLNAMESPACES clause:

  • 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.Each XML namespace declaration must contain at least one XML default namespace declaration item.

  • 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.Each XML namespace prefix used must be a non-colonized name (NCName) in which the colon character (:) is not part of the name.

  • Vous ne pouvez pas définir deux fois un préfixe d'espace de noms.You cannot define a namespace prefix two times.

  • Les préfixes et les URI d'espace de noms XML respectent la casse.XML namespace prefixes and URIs are case-sensitive.

  • Le préfixe d'espace de noms XML xmlns ne peut pas être déclaré.The XML namespace prefix xmlns cannot be declared.

  • 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.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.

  • 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.The XML namespace prefix xsi cannot be redeclared when the ELEMENTS XSINIL directive is being used on the query.

  • Il n’est pas nécessaire de déclarer le 'http://www.w3.org/2001/XMLSchema-instance ' pour utiliser l’espace de noms standard xsi.It is not necessary to declare the 'http://www.w3.org/2001/XMLSchema-instance' to use xsi standard namespace. Il est implicitement ajouté par le processeur XML/XPATH en l’absence de spécification et les expressions xpath peuvent utiliser le préfixe xsi tant que le schéma 'http://www.w3.org/2001/XMLSchema-instance ' est correctement déclaré dans le document 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.

  • Les valeurs des chaînes URI sont encodées conformément à la page de codes de classement de la base de données actuelle et elles sont converties au format Unicode.URI string values are encoded according to the current database collation code page and are internally translated to Unicode.

  • L’URI de l’espace de noms XML est soumis aux règles de réduction des blancs XSD utilisées pour xs:anyURI.The XML namespace URI will be white-space collapsed following the XSD white-space collapse rules that are used for 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.Also, note that no entitization or deentitization are performed on XML namespace URI values.

  • 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é).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).

  • 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 ».The XML namespace URI (after all white space is collapsed) cannot be a zero-length string or an "invalid empty namespace URI" error occurs.

  • Le mot clé XMLNAMESPACES est réservé dans le contexte de la clause WITH.The XMLNAMESPACES keyword is reserved in the context of the WITH clause.

ExemplesExamples

Pour obtenir des exemples, consultez Ajouter des espaces de noms aux requêtes avec WITH XMLNAMESPACES.For examples, see Add Namespaces to Queries with WITH XMLNAMESPACES.

Voir aussiSee Also

Références relatives au langage Xquery (SQL Server)XQuery Language Reference (SQL Server)