Udostępnij za pomocą


Z PRZESTRZENIAMI XMLNAMESPACES

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Deklaruje jedną lub więcej przestrzeni nazw XML.

Transact-SQL konwencje składni

Składnia

  
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
Jednolity identyfikator zasobów (URI), który identyfikuje deklarowaną przestrzeń nazw XML. xml_namespace_uri to ciąg SQL.

xml_namespace_prefix
Określa prefiks, który ma być odwzorowany i powiązany z wartością URI w przestrzeni nazw określoną w xml_namespace_uri. xml_namespace_prefix musi być identyfikatorem SQL Server.

Uwagi

Gdy używasz klauzuli WITH XMLNAMESPACES w instrukcji, która zawiera także wspólne wyrażenie tabelowe, klauzula WITH XMLNAMESPACES musi poprzedzać wspólne wyrażenie tabelowe w instrukcji.

Poniżej przedstawiono ogólne zasady składni, które mają zastosowanie przy użyciu klauzuli WITH XMLNAMESPACES:

  • Każda deklaracja przestrzeni XML musi zawierać co najmniej jeden domyślny element deklaracji przestrzeni nazw XML.

  • Każdy prefiks przestrzeni nazw XML musi być niekolonizowaną nazwą (NCName), w której znak dwukropku (:) nie jest częścią nazwy.

  • Nie można definiować prefiksu przestrzeni nazw dwa razy.

  • Prefiksy i URI w przestrzeni nazw XML są zależne od wielkości liter.

  • Prefiks xmlns przestrzeni nazw XML nie może być zadeklarowany.

  • Prefiks xml przestrzeni nazw XML nie może być nadpisany przez przestrzeń nazw, poza przestrzenią nazw URI 'http://www.w3.org/XML/1998/namespace', a ten URI nie może być przypisany do innego prefiksu.

  • Prefiks xsi przestrzeni nazw XML nie może być ponownie zadeklarowany, gdy dyrektywa ELEMENTS XSINIL jest używana w zapytaniu.

  • Nie jest konieczne deklarowanie 'http://www.w3.org/2001/XMLSchema-instance'', aby użyć standardowej przestrzeni nazw xsi. Jest on domyślnie dodawany przez procesor XML/XPATH, jeśli nie jest określony, a wyrażenia xpath mogą używać prefiksu xsi, o ile schemat 'http://www.w3.org/2001/XMLSchema-instance' jest prawidłowo zadeklarowany w dokumencie xml.

  • Wartości ciągów URI są kodowane zgodnie z aktualną stroną kodową do sortowania baz danych i wewnętrznie tłumaczone na Unicode.

  • URI przestrzeni nazw XML będzie zwiększanym białą przestrzenią zgodnie z regułami zwalniania białych przestrzeni XSD używanymi dla xs:anyURI. Należy również zauważyć, że nie wykonuje się żadnej entityzacji ani deentityzacji wartości URI w przestrzeni nazw XML.

  • URI w przestrzeni nazw XML zostanie sprawdzony pod kątem znaków XML 1.0, które nie są poprawne, a jeśli zostanie znaleziony taki błąd (np. U+0007), pojawi się błąd.

  • URI przestrzeni nazw XML (po zsunięciu całej przestrzeni białej) nie może być ciągiem o zerowej długości, ponieważ pojawia się błąd "nieprawidłowy pusty URI przestrzeni nazw".

  • Słowo kluczowe w przestrzeniach nazw XML jest zarezerwowane w kontekście klauzuli WITH.

Przykłady

Przykłady można znaleźć w artykule Dodaj przestrzenie nazw do zapytań z WITH XMLNAMESPACES.

Zobacz też

Dokumentacja języka XQuery (SQL Server)