Delen via


MET XMLNAMESPACES

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Verklaart één of meer XML-namespaces.

Transact-SQL syntaxis-conventies

Syntaxis

  
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
Een Uniform Resource Identifier (URI) die de XML-naamruimte identificeert die wordt gedeclareerd. xml_namespace_uri is een SQL-string.

xml_namespace_prefix
Specificeert een prefix dat wordt toegewezen en gekoppeld aan de namespace URI-waarde die in xml_namespace_uri is gespecificeerd. xml_namespace_prefix moet een SQL Server-identificatie zijn.

Opmerkingen

Wanneer je de WITH XMLNAMESPACES-clausule gebruikt in een statement die ook een common table-expressie bevat, moet de WITH XMLNAMESPACES-clausule voorafgaan aan de common table-expressie in de statement.

De volgende zijn algemene syntaxisregels die van toepassing zijn wanneer je de clausule WITH XMLNAMESPACES gebruikt:

  • Elke XML-naamruimtedeclaratie moet ten minste één XML-standaardnaamruimtedeclaratie-item bevatten.

  • Elk XML-naamruimteprefix dat wordt gebruikt, moet een niet-gekoloniseerde naam (NCName) zijn waarin het dubbele punt (:) geen deel uitmaakt van de naam.

  • Je kunt een naamruimte-prefix niet twee keer definiëren.

  • XML-naamruimtevoorvoegsels en URI's zijn hoofdlettergevoelig.

  • Het XML-naamruimteprefix xmlns kan niet worden opgegeven.

  • Het XML-namespace-prefix xml kan niet worden overschreven met een namespace, anders dan de namespace-URI, 'http://www.w3.org/XML/1998/namespace'en deze URI die geen ander prefix kan krijgen.

  • Het XML-naamruimteprefix xsi kan niet opnieuw worden gedeclareerd wanneer de ELEMENTS XSINIL-richtlijn op de query wordt gebruikt.

  • Het is niet nodig om de 'http://www.w3.org/2001/XMLSchema-instance' te declareren om xsi-standaardnaamruimte te gebruiken. Het wordt impliciet toegevoegd door de XML/XPATH-processor als het niet is gespecificeerd, en xpath-expressies kunnen het xsi-voorvoegsel gebruiken zolang het 'http://www.w3.org/2001/XMLSchema-instance'schema correct is gedeclareerd in het xml-document.

  • URI-stringwaarden worden gecodeerd volgens de huidige database-collatiecodepagina en worden intern vertaald naar Unicode.

  • De XML-naamruimte-URI zal wit-ruimte ingelijfd zijn volgens de XSD-regels voor witruimte-collapse die worden gebruikt voor xs:anyURI. Let ook op dat er geen entitisatie of deidentitisatie wordt uitgevoerd op XML-namespace URI-waarden.

  • De XML-naamruimte URI wordt gecontroleerd op niet-geldige XML 1.0-tekens, en er wordt een foutmelding gegeven als er een wordt gevonden (zoals U+0007).

  • De XML-naamruimte-URI (nadat alle witruimte is ingeklapt) kan geen string van nullengte zijn, anders verschijnt er een fout "ongeldige lege naamruimte-URI".

  • Het XMLNAMESPACES-sleutelwoord is gereserveerd in de context van de WITH-clausule.

Voorbeelden

Voor voorbeelden, zie Naamruimtes toevoegen aan Queries met MET XMLNAAMRUIMTES.

Zie ook

XQuery Language Reference (SQL Server)