Compartir a través de


Requisitos y limitaciones de las colecciones de esquemas XML en el servidor

La validación del lenguaje de definición de esquemas XML (XSD) tiene algunas limitaciones relativas a las columnas SQL que utilizan el tipo de datos xml. En la tabla siguiente se proporcionan detalles acerca de estas limitaciones, así como directrices para modificar el esquema XSD para que funcione con SQL Server. Los temas de esta sección proporcionan información adicional sobre limitaciones específicas y orientación para trabajar con ellas.

Elemento Limitación
minOccurs y maxOccurs Los valores de los atributos minOccurs y maxOccurs deben caber en enteros de 4 bytes. El servidor rechazará los esquemas que no cumplan esta restricción.
<xsd:choice> SQL Server rechaza esquemas que tienen una <partícula xsd:choice> sin elementos secundarios, a menos que la partícula se defina con un valor de atributo minOccurs de cero.
<xsd:include> Actualmente, SQL Server no admite este elemento. El servidor rechaza los esquemas XML que incluyen este elemento.

Como solución, los esquemas XML que incluyen la <directiva xsd:include> se pueden preprocesar para copiar y combinar el contenido de los esquemas incluidos en un único esquema para cargarlo en el servidor. Para obtener más información, vea Preprocesar un esquema para combinar esquemas incluidos.
<xsd:key>, <xsd:keyref> y <xsd:unique> Actualmente, SQL Server no admite estas restricciones basadas en XSD para exigir la unicidad o establecer claves y referencias de claves. Los esquemas XML que contienen estos elementos no se pueden registrar.
<xsd:redefine> SQL Server no admite este elemento. Para obtener información sobre otra manera de actualizar esquemas, vea El <elemento xsd:redefine>.
<Valores xsd:simpleType> SQL Server solo admite precisión de milisegundos para tipos simples que tienen componentes xs:time de segundo distintos de y , xs:dateTimey precisión de 100 nanosegundos para xs:time y xs:dateTime. SQL Server aplica limitaciones a todas las enumeraciones de tipo simple XSD reconocidas.

SQL Server no admite el uso del valor "NaN" en <declaraciones xsd:simpleType>.

Para obtener más información, veaValores para <declaraciones xsd:simpleType>.
xsi:schemaLocation y xsi:noNamespaceSchemaLocation SQL Server omite estos atributos si están presentes en los datos de instancia XML insertados en una columna o variable de tipo de xml datos.
xs:QName SQL Server no admite los tipos derivados de xs:QName que utilizan un elemento de restricción de esquema XML.

SQL Server no admite tipos de unión con xs:QName como elemento del miembro.

Para obtener más información, consulte The xs:QName Type.
Agregar miembros a un grupo de sustitución existente No puede agregar miembros a un grupo de sustitución existente en una colección de esquemas XML. Un grupo de sustitución de un esquema XML está restringido en el sentido de que el elemento de encabezado y todos sus elementos miembros se deben definir en la misma instrucción {CREATE | ALTER} XML SCHEMA COLLECTION.
Formas canónicas y restricciones de patrón La representación canónica de un valor no puede infringir la restricción de patrón de su tipo. Para obtener más información, consulte Canonical Forms and Pattern Restrictions.
Facetas de enumeración SQL Server no admite los esquemas XML con tipos que tienen facetas de patrón o enumeraciones que infringen estas facetas.
Longitud de faceta Las facetas length, minLength y maxLength se almacenan como un long tipo. Este tipo es de 32 bits. Por lo tanto, el intervalo de valores aceptables para estos valores es 2^31.
Atributo de Id. Cada componente de esquema XML puede tener un atributo de Id. en él. SQL Server aplica la unicidad para <las declaraciones xsd:attribute> del tipo de identificador, pero no almacena estos valores. El ámbito de aplicación de la unicidad es la instrucción {CREATE | ALTER} XML SCHEMA COLLECTION.
Tipo de Id. SQL Server no admite elementos de tipo xs:ID, xs:IDREFni xs:IDREFS. Un esquema no puede declarar elementos de este tipo, ni elementos derivados de este tipo por restricción o extensión.
Espacio de nombres local El espacio de nombres local debe especificarse explícitamente para el <elemento xsd:any> . SQL Server rechaza esquemas que usan una cadena vacía ("") como valor para el atributo de espacio de nombres. En su lugar, SQL Server requiere la utilización explícita de "##local" para indicar un elemento o atributo no calificado como instancia del carácter comodín.
Contenido simple y de tipo mixto SQL Server no admite la restricción de un tipo mixto a un contenido simple. Para obtener más información, consulte Mixed Type and Simple Content.
Tipo NOTATION SQL Server no admite el tipo NOTATION.
Condiciones de memoria insuficiente Cuando se trabaja con colecciones de esquemas XML de gran tamaño, puede que se produzca una condición de memoria insuficiente. Para conocer soluciones para este problema, vea Las condiciones de memoria insuficiente y las grandes colecciones de esquemas XML.
Valores repetidos SQL Server rechaza los esquemas en los que el atributo de bloqueo o final tiene valores repetidos como "restriction restriction" y "extension extension".
Identificadores de componentes de esquema SQL Server limita los identificadores de los componentes de esquema a una longitud máxima de 1.000 caracteres Unicode. Tampoco se admiten los pares de caracteres complementarios en identificadores.
Información de zona horaria En SQL Server 2008 y versiones posteriores, la información de zona horaria es totalmente compatible con xs:datelos valores , xs:timey xs:dateTime para la validación del esquema XML. Con SQL Server modo de compatibilidad con versiones anteriores de 2005, la información de zona horaria siempre se normaliza con la hora universal coordinada (hora media de Greenwich). En el caso de los elementos de tipo dateTime, el servidor convierte la hora especificada a la hora GMT mediante el valor de desplazamiento ("-05:00") y devuelve la hora GMT correspondiente.
Tipos de unión SQL Server no admite las restricciones de tipos de unión.
Decimales de precisión variable SQL Server no admite los decimales de precisión variable. El tipo xs:decimal representa los números decimales de precisión arbitraria. Los procesadores que mínimamente cumplan con XML deben admitir números decimales con un mínimo de totalDigits=18. SQL Server admite totalDigits=38, , pero limita a 10 los dígitos de la fracción. El servidor representa internamente todos los valores con instancias xs:decimal mediante el tipo numeric (38, 10) de SQL.

En esta sección

Tema Descripción
Formas canónicas y restricciones de patrón Explica las formas canónicas y las restricciones de patrón.
Componentes comodín y validación del contenido Describe las limitaciones de utilizar caracteres comodín, validación lax y elementos de tipo anyType con colecciones de esquemas XML.
Elemento <xsd:redefine> Explica la limitación del uso del <elemento xsd:redefine> y describe una solución alternativa.
Tipo xs:QName Describe la limitación relacionada con el tipo xs:QName.
Valores para <las declaraciones xsd:simpleType> Describe las restricciones que se aplican a <las declaraciones xsd:simpleType> .
Facetas de enumeración Describe la limitación relacionada con las facetas de enumeración.
Tipo mixto y contenido simple Describe la limitación que se produce al restringir un tipo mixto a un contenido simple.
Las condiciones de memoria insuficiente y las grandes colecciones de esquemas XML Proporciona soluciones para la condición de falta de memoria que se produce en ocasiones con colecciones de esquemas de gran tamaño.
Modelos de contenido no determinista Describe las limitaciones relacionadas con los modelos de contenido no deterministas.

Consulte también

Datos XML (SQL Server)
Comparar XML con tipo y XML sin tipo
Conceder permisos para una colección de esquemas XML
Restricción de atribución de partículas únicas
Colecciones de esquemas XML (SQL Server)