Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza 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
xmlnsprzestrzeni nazw XML nie może być zadeklarowany.Prefiks
xmlprzestrzeni 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
xsiprzestrzeni 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.