Megosztás a következőn keresztül:


XMLNAMESPACES HASZNÁLATÁVAL

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Egy vagy több XML névteret jelöl meg.

Transact-SQL szintaxis konvenciók

Szemantika

  
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
Egy egységes erőforrásazonosító (URI), amely azonosítja a deklarált XML névteret. xml_namespace_uri egy SQL láncsor.

xml_namespace_prefix
Megad egy előtagot, amelyet leképezni és hozzá kell rendelni a névtér URI értékéhez, amelyet xml_namespace_uri-ben megadott névtér URI-hez kell rendelni. xml_namespace_prefix SQL Server azonosítónak kell lennie.

Megjegyzések

Ha a WITH XMLNAMESPACES klauzust használjuk egy olyan utasításban, amely szintén tartalmaz egy közös tábkifejezést, akkor a WITH XMLNAMESPACES klauzulának kell megelőznie a közös táblakifejezést az utasításban.

Az alábbiakban általános szintaxisszabályok vonatkoznak, ha a WITH XMLNAMESPACES klauzulát használjuk:

  • Minden XML névtér deklarációnak legalább egy alapértelmezett XML névtér deklarációs tételt kell tartalmaznia.

  • Minden használt XML névtér előtagnak nem kolonizált névnek (NCName) kell lennie, amelyben a kettős (:)) karakter nem része a névnek.

  • Nem definiálhatsz névtér előtagot kétszer.

  • Az XML névtér előtagok és URI-k kis- és nagybetűk érzékenyek.

  • Az XML névtér előtagja xmlns nem lehet deklarálni.

  • Az XML névtér előtagja xml nem felülírható névtérrel, kivéve az URI-t 'http://www.w3.org/XML/1998/namespace'nevező tereket, és ezt az URI-t, amelyhez nem lehet más előtagot rendelni.

  • Az XML névtér előtagja xsi nem jelenthető újra, amikor az ELEMENTS XSINIL direktívát használják a lekérdezésen.

  • Nem szükséges a 'http://www.w3.org/2001/XMLSchema-instance' kihirdetését az xsi szabványos névtér használatához. Ha nincs megadva, az XML/XPATH processzor implicit módon hozzáadja, és az xpath kifejezések használhatják az xsi előtagot, amennyiben a 'http://www.w3.org/2001/XMLSchema-instance' séma megfelelően van kihirdetve az xml dokumentumban.

  • Az URI string értékek a jelenlegi adatbázis-összeállítási kód szerint vannak kódolva, és belsőleg Unicode-ra fordítva kerülnek.

  • Az XML névtér URI fehér tér összeomlott lesz az XSD fehér tér összeomlási szabályai szerint, amelyeket az xs:anyURI-nél használnak. Fontos megjegyezni, hogy XML névtér URI értékein nem végeznek jogosultságot vagy deentitizálást.

  • Az XML névtér URI-jét ellenőrzik XML 1.0 karakterek ellen, amelyek nem érvényesek, és hibát jelentenek, ha találnak ilyen (például U+0007).

  • Az XML névtér URI (miután minden fehér tér összeomlódik) nem lehet nulla hosszúságú string, különben "érvénytelen üres névtér URI" hiba jelentkezik.

  • Az XMLNAMESPACES kulcsszó az WITH klauzula kontextusában van fenntartva.

Példák

Példák: Névterek hozzáadása lekérdezésekhez WITH XMLNAMESPACES-szel.

Lásd még:

XQuery nyelvi referencia (SQL Server)