WITH XMLNAMESPACES (Transact-SQL)

Deklariert mindestens einen XML-Namespace.

Themenlink (Symbol)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 Namespace-URI-Wert zugeordnet werden soll. xml_namespace_prefix muss ein SQL Server-Bezeichner sein.

Hinweise

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 außer Kraft gesetzt 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.

  • 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 mithilfe von WITH XMLNAMESPACES.