Linguaggio XML di manipolazione dei dati (XML DML)
Il linguaggio XML DML è un'estensione del linguaggio XQuery. Come definito dal consorzio W3C, il linguaggio XQuery non include la parte relativa alla manipolazione dei dati (DML). Il linguaggio XML DML illustrato in questo argomento e inoltre il linguaggio XQuery offrono un linguaggio per le query e per la modifica di dati perfettamente funzionante che può essere utilizzato per il tipo di dati xml.
Rispetto al linguaggio XQuery, nel linguaggio XML DML sono state aggiunte le parole chiave con distinzione tra maiuscole e minuscole seguenti:
insert
eliminazione
replace value of
Come illustrato nell'argomento Colonne e tipo di dati XML (SQL Server), è possibile creare variabili e colonne di tipo xml e assegnarvi documenti o frammenti XML. Per modificare o aggiornare queste istanze XML, eseguire le operazioni seguenti:
Utilizzare il metodo modify() (tipo di dati XML) del tipo di dati xml.
Specificare le istruzioni XML DML appropriate nel metodo modify().
Si noti che alcuni attributi non possono essere inseriti o eliminati o non è possibile modificarne il valore. Ad esempio:
Per il codice xml tipizzato o non tipizzato, tali attributi sono xmlns, xmlns:* e xml:base.
Solo per il codice xml tipizzato, tali attributi sono xsi:nil e xsi:type.
Sono inoltre valide le restrizioni seguenti:
Per il codice xml tipizzato o non tipizzato, l'inserimento dell'attributo xml:base avrà esito negativo.
Per il codice xml tipizzato, l'eliminazione e la modifica dell'attributo xsi:nil avrà esito negativo. Per il codice xml non tipizzato, è possibile eliminare l'attributo o modificarne il valore.
Per il codice xml tipizzato, la modifica del valore dell'attributo xs:type avrà esito negativo. Per il codice xml non tipizzato, è possibile modificare il valore dell'attributo.
Quando si modifica un'istanza XML tipizzata, il formato finale deve essere un'istanza valida del tipo specifico, in caso contrario verrà restituito un errore di convalida.
Vedere anche
Riferimento
Concetti
Confronto dati XML tipizzati con dati XML non tipizzati