Spécifications et limitations relatives aux collections de schémas XML sur le serveur

La validation XSD (XML Schema Definition Language) des colonnes SQL utilisant le type de données xml fait l'objet de certaines limitations, lesquelles sont exposées dans le tableau suivant. Les recommandations à suivre pour modifier un schéma XSD afin qu'il soit compatible avec SQL Servery sont abordées. Les rubriques de cette section fournissent des informations supplémentaires concernant les limitations spécifiques, ainsi qu'une assistance pour leur utilisation.

Élément Limitation
minOccurs et maxOccurs Les valeurs des attributs minOccurs et maxOccurs doivent tenir dans des entiers à 4 octets. Les schémas non conformes sont rejetés par le serveur.
<xsd:choice> SQL Server rejette les schémas qui ont une <particule xsd:choice> sans enfants, sauf si la particule est définie avec une valeur d’attribut minOccurs de zéro.
<xsd:include> SQL Server ne prend actuellement pas en charge cet élément. Les schémas XML incluant cet élément seront rejetés par le serveur.

En guise de solution, les schémas XML qui incluent la <directive xsd:include> peuvent être prétraités pour copier et fusionner le contenu de tous les schémas inclus dans un schéma unique à charger sur le serveur. Pour plus d’informations, consultez Prétraiter un schéma pour fusionner des schémas inclus.
<xsd:key>, <xsd:keyref> et <xsd:unique> Actuellement, SQL Server ne prend pas en charge ces contraintes basées sur XSD pour appliquer l'unicité ou établir des clés ou des références de clés. Les schémas XML contenant ces éléments ne peuvent pas être inscrits.
<xsd:redefine> SQL Server ne prend actuellement pas en charge cet élément. Pour plus d’informations sur une autre façon de mettre à jour des schémas, consultez Élément <xsd:redefine>.
<valeurs xsd:simpleType> SQL Server prend uniquement en charge la précision de la milliseconde pour les types simples qui ont des composants secondaires autres que xs:time et xs:dateTime, et une précision de 100 nanosecondes pour xs:time et xs:dateTime. SQL Server impose des limites à toutes les énumérations de types simples XSD reconnus.

SQL Server ne prend pas en charge l’utilisation de la valeur « NaN » dans <les déclarations xsd:simpleType>.

Pour plus d’informations, consultezValeurs pour <les déclarations xsd:simpleType>.
xsi:schemaLocation et xsi:noNamespaceSchemaLocation SQL Server ignore ces attributs s’ils sont présents dans les données XML instance insérées dans une colonne ou une variable de type de xml données.
xs:QName SQL Server ne prend pas en charge les types dérivés de xs:QName utilisant un élément de restriction de schéma XML.

SQL Server ne prend pas en charge les types union avec xs:QName en tant qu'élément de membre.

Pour plus d’informations, consultez The xs:QName Type.
Ajout de membres à un groupe de substitution existant Vous ne pouvez pas ajouter des membres à un groupe de substitution existant dans une collection de schémas XML. Un groupe de substitution dans un schéma XML est restreint en cela que l'élément de tête et tous les éléments membres doivent être définis dans la même instruction {CREATE | ALTER} XML SCHEMA COLLECTION.
Formes canoniques et restrictions de modèle La représentation canonique d'une valeur ne peut enfreindre la restriction de modèle pour son type. Pour plus d’informations, consultez Canonical Forms and Pattern Restrictions.
Facettes d'énumération SQL Server ne prend pas en charge les schémas XML avec des types présentant des facettes de modèles ou des énumérations enfreignant ces facettes.
Longueur de facette Les facettes length, minLength et maxLength sont stockées en tant que long type. type codé sur 32 bits. Par conséquent, la plage de valeurs acceptables pour ces valeurs est de 2^31.
Attribut d'ID Chaque composant de schéma XML peut avoir un attribut d'ID. SQL Server applique l’unicité pour <les déclarations xsd:attribute> de type ID, mais ne stocke pas ces valeurs. L'étendue pour l'application de l'unicité est l'instruction {CREATE | ALTER} XML SCHEMA COLLECTION.
Type ID SQL Server ne prend pas en charge les éléments de type xs:ID, xs:IDREFou xs:IDREFS. Un schéma peut ne pas déclarer les éléments de ce type, ou les éléments dérivés par restriction ou par extension de ce type.
Espace de noms local L’espace de noms local doit être spécifié explicitement pour l’élément <xsd:any> . SQL Server rejette les schémas qui utilisent une chaîne vide ("") comme valeur de l’attribut d’espace de noms. SQL Server nécessite en lieu et place l'utilisation explicite de « ##local » pour indiquer qu'un élément ou un attribut non qualifié sera utilisé en tant qu'instance du caractère générique.
Type mixte et contenu simple SQL Server ne prend pas en charge la restriction d'un type mixte à du contenu simple. Pour plus d’informations, consultez Mixed Type and Simple Content.
Type NOTATION SQL Server n'accepte pas les valeurs de type NOTATION.
Conditions de mémoire insuffisante La manipulation de collections de schémas XML volumineuses peut entraîner des conditions de mémoire insuffisante. Pour trouver des solutions à ces problèmes, consultez Collections de schémas XML volumineuses et conditions de mémoire insuffisante.
Valeurs répétées SQL Server rejette les schémas où l'attribut block ou final comporte des valeurs répétées comme « restriction restriction » et « extension extension ».
Identificateurs de composant de schéma SQL Server limite les identificateurs de composant de schéma à une longueur maximale de 1 000 caractères Unicode. De plus, l'emploi de paires de caractères de substitution au sein des identificateurs n'est pas pris en charge.
Informations de fuseau horaire Dans SQL Server 2008 et versions ultérieures, les informations de fuseau horaire sont entièrement prises en charge pour xs:dateles valeurs , xs:timeet xs:dateTime pour la validation de schéma XML. Avec SQL Server mode de compatibilité descendante 2005, les informations de fuseau horaire sont toujours normalisées en temps universel coordonné (heure de Greenwich). Pour les éléments de type dateTime, le serveur convertit l'heure fournie à l'heure GMT en se basant sur la valeur de décalage horaire (« -05:00 ») et en retournant l'heure GMT correspondante.
Types union SQL Server ne prend pas en charge les restrictions des types union.
Décimales de précision de variable SQL Server ne prend pas en charge les décimales de précision de variable. Le type xs:decimal représente des nombres de décimales de précision arbitraire. Les processeurs XML conformes minimaux doivent prendre en charge les nombres décimaux avec un minimum de totalDigits=18. SQL Server prend en charge totalDigits=38, , mais limite les chiffres fractionnels à 10. Toutes les valeurs instanciées de xs:decimal sont représentées en interne par le serveur en utilisant le type numeric SQL (38, 10).

Dans cette section

Rubrique Description
Formes canoniques et restrictions de modèle Explique les formes canoniques et restrictions de modèle.
Composants génériques et validation de contenu Décrit les limitations liées à l'utilisation des caractères génériques, de la validation de type lax et des éléments anyType avec des collections de schémas XML.
Élément <xsd:redefine> Explique la limitation de l’utilisation de l’élément <xsd:redefine> et décrit une solution de contournement.
The xs:QName Type Décrit la limitation relative au type xs:QName.
Valeurs pour <les déclarations xsd:simpleType> Décrit les restrictions appliquées aux <déclarations xsd:simpleType> .
Enumeration Facets Décrit la limitation relative aux facettes d'énumération.
Type mixte et contenu simple Décrit la limitation relative à la restriction d'un type mixte à un contenu simple.
Collections de schémas XML volumineuses et conditions de mémoire insuffisante Fournit des solutions pour la condition de mémoire insuffisante qui se produit parfois avec les grandes collections de schémas.
Modèles de contenu non déterministes Décrit les limitations relatives aux modèles de contenu non déterministes.

Voir aussi

Données XML (SQL Server)
Comparer du XML typé et du XML non typé
Accorder des autorisations sur une collection de schémas XML
Contrainte d’attribution de particules unique
Collections de schémas XML (SQL Server)