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 con respecto a las columnas SQL que usan el tipo de xml datos. En la tabla siguiente se proporcionan detalles sobre esas limitaciones y directrices para modificar el esquema XSD para que pueda trabajar con SQL Server. Los temas de esta sección proporcionan información adicional sobre limitaciones específicas e instrucciones para trabajar con ellos.

Elemento Limitación
minOccurs y maxOccurs Los valores de los atributos minOccurs y maxOccurs deben caber en enteros de 4 bytes. El servidor rechaza los esquemas que no se ajustan.
<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 cualquier esquema incluido 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 aplicar unicidad o establecer claves y referencias de clave. 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 segundo componentes distintos de xs:time y xs:dateTime, y precisión de 100 nanosegundos para xs:time y xs:dateTime. SQL Server pone limitaciones en todas las enumeraciones de tipos simples 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 tipos derivados de xs:QName que usan un elemento de restricción de esquema XML.

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

Para obtener más información, vea El tipo xs:QName.
Agregar miembros a un grupo de sustitución existente No se pueden 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 a que el elemento principal y todos sus elementos miembro deben definirse en el mismo {CREATE | ALTER} XML SCHEMA COLLECTION.
Formularios canónicos y restricciones de patrones La representación canónica de un valor no puede infringir la restricción de patrón para su tipo. Para obtener más información, vea Restricciones de patrones y formularios canónicos.
Facetas de enumeración SQL Server no admite esquemas XML con tipos que tienen facetas de patrón o enumeraciones que infringen esas facetas.
Longitud de faceta Las facetas length, minLength y maxLength se almacenan como un long tipo. Este tipo es un tipo de 32 bits. Por lo tanto, el intervalo de valores aceptables para estos valores es 2^31.
Atributo ID Cada componente de esquema XML puede tener un atributo id. en él. SQL Server aplica unicidad para <las declaraciones xsd:attribute> del tipo de identificador , pero no almacena estos valores. El ámbito de cumplimiento de la unicidad es la instrucción {CREATE | ALTER} XML SCHEMA COLLECTION.
Tipo de identificador SQL Server no admite elementos de tipo xs:ID, xs:IDREF o xs:IDREFS. Un esquema no puede declarar elementos de este tipo o elementos derivados de restricción o extensión de este tipo.
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 el uso explícito de "##local" para indicar un elemento o atributo no calificado como la instancia del carácter comodín.
Tipo mixto y contenido simple SQL Server no admite la restricción de un tipo mixto a un contenido simple. Para obtener más información, vea Tipo mixto y Contenido simple.
Tipo Notación SQL Server no admite el tipo NOTATION.
Condiciones de memoria insuficiente Al trabajar con colecciones de esquemas XML de gran tamaño, puede producirse una falta de memoria. Para obtener soluciones a este problema, consulte Colecciones de esquemas XML grandes y Condiciones de memoria insuficiente.
Valores repetidos SQL Server rechaza esquemas en los que el bloque o el atributo final tienen valores repetidos, como "restricción restricción" y "extensión extensión".
Identificadores de componentes de esquema SQL Server limita los identificadores de los componentes de esquema a una longitud máxima de 1000 caracteres Unicode. Además, no se admiten pares de caracteres suplentes dentro de identificadores.
Información de zona horaria En SQL Server 2008 y versiones posteriores, la información de zona horaria es totalmente compatible para los valores de xs:date, xs:time, y xs:dateTime en la validación del esquema XML. Con el modo de compatibilidad con versiones anteriores de SQL Server 2005, la información de zona horaria siempre se normaliza con la hora universal coordinada (hora media de Greenwich). Para los elementos de dateTime tipo, el servidor convierte la hora proporcionada a GMT mediante el valor de desplazamiento ("-05:00") y devuelve la hora GMT correspondiente.
Tipos de unión SQL Server no admite restricciones de tipos de unión.
Decimales de precisión variable SQL Server no admite decimales de precisión variable. El tipo xs:decimal representa números decimales de precisión arbitraria. Los procesadores XML de conformidad mínima deben admitir números decimales con un mínimo de totalDigits=18. SQL Server admite totalDigits=38, pero limita los dígitos fraccionarios a 10. El servidor representa internamente todos los valores de instancia xs:decimal mediante el tipo SQL numérico (38, 10).

En esta sección

Tema Descripción
Formularios Canónicos y Restricciones de Patrones Explica las formas canónicas y las restricciones de patrones.
Componentes globales y validación de contenido Describe las limitaciones del uso de caracteres comodín, validación laxa y elementos 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.
El tipo xs:QName Describe la limitación con respecto al 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 con respecto a las facetas de enumeración.
Tipo mixto y contenido simple Describe la limitación de restringir un tipo mixto a un contenido simple.
Colecciones de esquemas XML grandes y condiciones de memoria insuficiente Proporciona soluciones para el problema de falta de memoria que a veces se produce con colecciones de esquemas grandes.
Modelos de contenido no deterministas Describe las limitaciones relativas a los modelos de contenido no deterministas.

Véase también

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