WITH XMLNAMESPACES
Gilt für: SQL Server Azure SQL-Datenbank Azure 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>
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.