WITH XMLNAMESPACES

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Deklariert mindestens einen XML-Namespace.

Transact-SQL-Syntaxkonventionen

Syntax

  
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>  
  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

xml_namespace_uri
Ein URI (Uniform Resource Identifier), der den zu deklarierenden XML-Namespace identifiziert. xml_namespace_uri ist eine SQL-Zeichenfolge.

xml_namespace_prefix
Gibt ein Präfix an, das dem in xml_namespace_uri angegebenen Wert vom Namespace-URI zugeordnet werden soll. xml_namespace_prefix muss ein SQL Server-Bezeichner sein.

Bemerkungen

Wenn Sie die WITH XMLNAMESPACES-Klausel in einer Anweisung verwenden, die außerdem einen allgemeinen Tabellenausdruck enthält, muss die WITH XMLNAMESPACES-Klausel vor dem allgemeinen Tabellenausdruck in der Anweisung stehen.

Es folgen allgemeine Syntaxregeln, die beim Verwenden der WITH XMLNAMESPACES-Klausel angewendet werden.

  • Jede XML-Namespacedeklaration muss mindestens ein Element der XML-Standardnamespacedeklaration enthalten.

  • Jedes verwendete XML-Namespacepräfix muss ein nicht kolonisierter Name (NCName) sein, bei dem der Doppelpunkt (:) nicht Teil des Namens ist.

  • Ein Namespacepräfix kann nicht zweimal definiert werden.

  • XML-Namespacepräfixe und URIs berücksichtigen die Groß-/Kleinschreibung.

  • Das XML-Namespacepräfix xmlns kann nicht deklariert werden.

  • Das XML-Namespacepräfix xml kann nur mit dem URI 'http://www.w3.org/XML/1998/namespace' des Namespaces überschrieben werden, und dieser URI kann keinem anderen Präfix zugeordnet werden.

  • Das XML-Namespacepräfix xsi kann nicht erneut deklariert werden, wenn die ELEMENTS XSINIL-Direktive für die Abfrage verwendet wird.

  • Es muss nicht deklariert werden, dass 'http://www.w3.org/2001/XMLSchema-instance ' den XSI-Standardnamespace verwendet soll. Dieser wird vom XML/XPATH-Prozessor implizit hinzugefügt, wenn er nicht angegeben wurde, und XPATH-Ausdrücke können das Präfix „xsi“ verwenden, solange das Schema 'http://www.w3.org/2001/XMLSchema-instance ' ordnungsgemäß im XML-Dokument deklariert wurde.

  • URI-Zeichenfolgenwerte werden gemäß der aktuellen Datenbanksortierungs-Codepage verschlüsselt und intern in Unicode übersetzt.

  • Die Leerzeichen des XML-Namespace-URIs werden gemäß den für xs:anyURI verwendeten XSD-Leerzeichenreduzierungsregeln reduziert. Darüber hinaus werden keine Entitäten für XML-Namespace-URI-Werte ausgeführt oder aufgelöst.

  • Der XML-Namespace-URI wird auf ungültige XML 1.0-Zeichen überprüft. Wird ein solches Zeichen gefunden, wird ein Fehler ausgelöst (z. B. U+0007).

  • Der XML-Namespace-URI (nach der Reduzierung aller Leerzeichen) kann keine leere Zeichenfolge sein, da sonst ein Fehler vom Typ "ungültiger leerer Namespace-URI" ausgelöst wird.

  • Das Schlüsselwort XMLNAMESPACES ist im Kontext der WITH-Klausel reserviert.

Beispiele

Beispiele finden Sie unter Hinzufügen von Namespaces zu Abfragen mit WITH XMLNAMESPACES.

Weitere Informationen

XQuery-Sprachreferenz (SQL Server)