WITH XMLNAMESPACES (Transact-SQL)

Dichiara uno o più spazi dei nomi XML.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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>

Argomenti

  • xml_namespace_uri
    URI (Uniform Resource Identifier) che identifica lo spazio dei nomi XML da dichiarare. xml_namespace_uri è una stringa SQL.

  • xml_namespace_prefix
    Specifica un prefisso da mappare e associare al valore dell'URI dello spazio dei nomi in xml_namespace_uri. xml_namespace_prefix deve essere un identificatore di SQL Server.

Osservazioni

Se si utilizza la clausola WITH XMLNAMESPACES in un'istruzione che include inoltre un'espressione di tabella comune, è necessario che la clausola WITH XMLNAMESPACES preceda tale espressione.

Di seguito sono riportate le regole sintattiche generali in caso di utilizzo della clausola WITH XMLNAMESPACES:

  • Ogni dichiarazione di spazio dei nomi XML deve contenere almeno un elemento di dichiarazione dello spazio dei nomi XML predefinito.

  • Ogni prefisso dello spazio dei nomi XML utilizzato deve essere un nome privo di due punti (NCName) in cui il carattere due punti (:) non fa parte del nome.

  • Non è possibile definire un prefisso di spazio dei nomi due volte.

  • I prefissi degli spazi dei nomi XML e gli URI fanno distinzione tra maiuscole e minuscole.

  • Non è possibile dichiarare il prefisso di spazio dei nomi XML xmlns.

  • Il prefisso di spazio dei nomi XML xml non può essere sovrascritto da uno spazio dei nomi diverso dall'URI dello spazio dei nomi 'http://www.w3.org/XML/1998/namespace'. A questo URI non può essere assegnato un prefisso diverso.

  • Il prefisso di spazio dei nomi XML xsi non può essere dichiarato nuovamente se la direttiva ELEMENTS XSINIL è utilizzata nella query.

  • I valori stringa dell'URI sono codificati in base alla tabella codici delle regole di confronto del database corrente e vengono convertite internamente in Unicode.

  • Gli spazi vuoti dell'URI dello spazio dei nomi XML verranno compressi in base alle regole XSD di compressione degli spazi vuoti utilizzate per xs:anyURI. Non viene eseguita alcuna operazione di sostituzione con entità o sostituzione con caratteri nei valori di URI dello spazio dei nomi XML.

  • Nell'URI dello spazio dei nomi XML verrà controllato se sono inclusi caratteri XML 1.0 non validi. Se il controllo ha esito positivo, verrà generato un errore, ad esempio U+0007.

  • In seguito alla compressione di tutti gli spazi vuoti, l'URI dello spazio dei nomi XML non può essere una stringa di lunghezza zero. In caso contrario viene generato un errore per segnalare che un URI dello spazio dei nomi vuoto non è valido.

  • La parola chiave XMLNAMESPACES è riservata nel contesto della clausola WITH.

Esempi

Per alcuni esempi, vedere Aggiunta di spazi dei nomi tramite WITH XMLNAMESPACES.