Requisiti e limitazioni per le raccolte di XML Schema nel server
Si applica a:SQL ServerDatabase SQL diAzure Istanza gestita di SQL di Azure
Esistono alcune limitazioni relative alla convalida del linguaggio XSD (XML Schema Definition) per le colonne SQL che usano i il tipo di dati xml . La tabella seguente fornisce informazioni dettagliate su tali limitazioni e linee guida per la modifica dello schema XSD in modo che possa funzionare con SQL Server. Gli articoli di questa sezione forniscono informazioni aggiuntive su limitazioni specifiche e indicazioni per l'uso di tali limitazioni.
Articolo | Limitazione |
---|---|
minOccurs e maxOccurs | I valori degli attributi minOccurs e maxOccurs devono essere contenibili in Integer a 4 byte. Gli schemi non conformi vengono rifiutati dal server. |
<xsd:choice> | SQL Server rifiuta gli schemi con una <particella xsd:choice> senza elementi figlio, a meno che la particella non sia definita con un valore di attributo minOccurs pari a zero. |
<xsd:include> | Attualmente, SQL Server non supporta questo elemento. Gli elementi XML Schema che includono tale elemento vengono rifiutati dal server. Come soluzione, gli XML Schema che includono la <direttiva xsd:include> possono essere pre-elaborati per copiare e unire il contenuto di tutti gli schemi inclusi in un unico schema per il caricamento nel server. Per alte informazioni, vedere Pre-elaborazione di uno schema per unire schemi inclusi. |
<xsd:key>, <xsd:keyref> e <xsd:unique> | Attualmente, SQL Server non supporta questi vincoli basati su XSD per applicare l'univocità o stabilire chiavi e riferimenti di chiave. Gli XML Schema che contengono questi elementi non possono essere registrati. |
<xsd:redefine> | SQL Server non supporta questo elemento. Per informazioni su un altro modo per aggiornare gli schemi, vedere Elemento xsd:redefine>.< |
<Valori xsd:simpleType> | SQL Server supporta solo la precisione in millisecondi per i tipi semplici con componenti diversi da xs:time e xs:dateTime e precisione di 100 nanosecondi per xs:time e xs:dateTime. IN SQL Server vengono applicate limitazioni a tutte le enumerazioni di tipi semplici XSD riconosciute. SQL Server non supporta l'uso del valore "NaN" nelle dichiarazioni xsd:simpleType>.< Per altre informazioni, vedereValori per <le dichiarazioni xsd:simpleType>. |
xsi:schemaLocation e xsi:noNamespaceSchemaLocation | SQL Server ignora questi attributi se sono presenti nei dati dell'istanza XML inseriti in una colonna o una variabile di tipo di dati xml . |
xs:QName | SQL Server non supporta i tipi derivati da xs:QName che usano un elemento di restrizione di XML Schema. SQL Server non supporta i tipi di unione con xs:QName come elemento membro. Per altre informazioni, vedere Xs:Tipo QName. |
Aggiunta di membri a un gruppo di sostituzione esistente | Non è possibile aggiungere membri a un gruppo di sostituzione esistente in una raccolta di XML Schema. Un gruppo di sostituzione in un XML Schema è limitato in quanto l'elemento head e tutti i relativi elementi membro devono essere definiti nello stesso {CREATE | Istruzione ALTER} XML SCHEMA COLLECTION. |
Forme canoniche e restrizioni di pattern | La rappresentazione canonica di un valore non può violare la restrizione del modello per il relativo tipo. Per altre informazioni, vedere Forme canoniche e restrizioni di pattern. |
Facet di enumerazione | SQL Server non supporta XML Schema con tipi con facet o enumerazioni di criteri che violano tali facet. |
Facet per la lunghezza | I facet length, minLengthe maxLength vengono archiviati come tipo long , un tipo a 32 bit. Pertanto, l'intervallo di valori accettabili per tali valori è 2^31. |
Attributo ID | Ogni componente del XML Schema può disporre di un relativo attributo ID. SQL Server applica l'univocità per <le dichiarazioni xsd:attribute> di tipo ID , ma non archivia questi valori. L'ambito per l'applicazione dell'univocità è {CREATE | Istruzione ALTER} XML SCHEMA COLLECTION. |
Tipo ID | SQL Server non supporta elementi di tipo xs:ID, xs:IDREF o xs:IDREFS. Uno schema potrebbe non dichiarare elementi di questo tipo, o elementi derivati dalla restrizione o dall'estensione da questo tipo. |
Spazio dei nomi locale | Lo spazio dei nomi locale deve essere specificato in modo esplicito per l'elemento <xsd:any> . SQL Server rifiuta gli schemi che usano una stringa vuota ("") come valore per l'attributo dello spazio dei nomi. SQL Server richiede invece l'uso esplicito di "##local" per indicare un elemento o un attributo non qualificato come istanza del carattere jolly. |
Tipo misto e contenuto semplice | SQL Server non supporta la limitazione di un tipo misto a un contenuto semplice. Per altre informazioni, vedere Tipo misto e contenuto semplice. |
Tipo NOTATION | SQL Server non supporta il tipo NOTATION. |
Condizioni di memoria insufficiente | Quando si utilizzano raccolte di XML Schema di grandi dimensioni, potrebbe verificarsi una condizione di memoria insufficiente. Per le soluzioni a questo problema. vedere Raccolte di XML Schema di grandi dimensioni e condizioni di memoria insufficiente. |
Valori ripetuti | SQL Server rifiuta gli schemi in cui il blocco o l'attributo finale ha valori ripetuti, ad esempio "restrizione della restrizione" e "estensione dell'estensione". |
Identificatori dei componenti di schema | SQL Server limita gli identificatori dei componenti dello schema a una lunghezza massima di 1000 caratteri Unicode. Non vengono inoltre supportate le coppie di caratteri surrogati all'interno degli identificatori. |
Informazioni fuso orario | In SQL Server 2008 (10.0.x) e versioni successive le informazioni sul fuso orario sono completamente supportate per i valori xs:date, xs:time e xs:dateTime per la convalida di XML Schema. Con la modalità di compatibilità con le versioni precedenti di SQL Server 2005 (9.x), le informazioni sul fuso orario vengono sempre normalizzate in Ora universale coordinata (ora di Greenwich). Per gli elementi di tipo dateTime , il server convertirà l'ora fornita in GMT usando il valore di offset ("-05:00") e restituendo l'ora GMT corrispondente. |
Tipi unione | SQL Server non supporta restrizioni dai tipi di unione. |
Decimali di precisione delle variabili | SQL Server non supporta decimali di precisione variabile. Il tipo xs:decimal rappresenta numeri decimali di precisione arbitraria. I processori XML conformi devono supporto numeri decimali con almeno totalDigits=18 . SQL Server supporta totalDigits=38, ma limita le cifre frazionarie a 10. Tutti i valori xs:decimal per i quali viene creata un'istanza vengono rappresentati internamente dal server con il tipo numeric SQL (38, 10). |
Passaggi successivi
Forme canoniche e restrizioni di pattern
Spiegazione delle forme canoniche e delle restrizioni di pattern.Componenti jolly e convalida del contenuto
Descrizione delle limitazioni dell'utilizzo di Elementi dei caratteri jolly, della convalida lax e dell'anyType con le raccolte di XML Schema.Elemento <xsd:redefine>
Viene illustrata la limitazione dell'uso dell'elemento <xsd:redefine> e viene descritta una soluzione alternativa.Tipo xs:QName
Descrive la limitazione relativa alxs:QName
tipo.Valori per <le dichiarazioni xsd:simpleType> Descrive le restrizioni applicate alle
<xsd:simpleType>
dichiarazioni.Facet di enumerazione
Descrizione della limitazione relativa ai facet dell'enumerazione.Tipo misto e Contenuto semplice Descrive la limitazione alla limitazione di un tipo misto a un contenuto semplice.
Raccolte di XML Schema di grandi dimensioni e condizioni di memoria insufficiente
Indicazione delle soluzioni per la condizione di memoria insufficiente che qualche volta si verifica con le raccolte di schemi di grandi dimensioni.I modelli di contenuto non deterministici descrivono le limitazioni relative ai modelli di contenuto non deterministico.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Invia e visualizza il feedback per