Compartilhar via


Requisitos e limitações de uso de coleções de esquema XML no servidor

A validação da linguagem XSD tem algumas limitações em relação a colunas SQL que usam o tipo de dados xml. A tabela a seguir fornece detalhes sobre essas limitações e diretrizes para modificação de seu esquema XSD para que ele possa funcionar com o SQL Server. Os tópicos nesta seção fornecem informações adicionais sobre limitações específicas e diretrizes para trabalhar com elas.

Item Limitações
minOccurs e maxOccurs Os valores dos atributos minOccurs e maxOccurs devem ser ajustados em inteiros de 4 bytes. Os esquemas que não estiverem de acordo serão rejeitados pelo servidor.
<xsd:choice> SQL Server rejeita esquemas que têm uma <partícula xsd:choice> sem filhos, a menos que a partícula seja definida com um valor de atributo minOccurs igual a zero.
<xsd:include> Atualmente, o SQL Server não oferece suporte a esse elemento. Os esquemas XML que incluem esse elemento são rejeitados pelo servidor.

Como solução, esquemas XML que incluem a <diretiva xsd:include> podem ser pré-processados para copiar e mesclar o conteúdo de qualquer esquema incluído em um único esquema para upload no servidor. Para obter mais informações, veja Pré-processar um esquema para mesclar esquemas incluídos.
<xsd:key>, <xsd:keyref> e <xsd:unique> Atualmente, o SQL Server não oferece suporte a essas restrições baseadas em XSD para impor exclusividade ou estabelecer chaves e referências a chaves. Os esquemas XML que contêm esses elementos não podem ser registrados.
<xsd:redefine> SQL Server não oferece suporte a esse elemento. Para obter informações sobre outra maneira de atualizar esquemas, consulte o <elemento xsd:redefine>.
<Valores xsd:simpleType> SQL Server só dá suporte à precisão de milissegundos para tipos simples que têm componentes secundários diferentes xs:time de e xs:dateTime, e precisão de 100 nanossegundos para xs:time e xs:dateTime. SQL Server impõe limitações em todas as enumerações de tipo simples XSD reconhecidas.

SQL Server não dá suporte ao uso do valor "NaN" em <declarações xsd:simpleType>.

Para obter mais informações, consulteValores para <declarações xsd:simpleType>.
xsi:schemaLocation e xsi:noNamespaceSchemaLocation SQL Server ignorará esses atributos se eles estiverem presentes nos dados da instância XML inseridos em uma coluna ou variável de tipo de xml dados.
xs:QName SQL Server não oferece suporte a tipos derivados de xs:QName que usam um elemento de restrição de Esquema XML.

SQL Server não oferece suporte a tipos de união com xs:QName como um elemento membro.

Para obter mais informações, consulte The xs:QName Type.
Adicionando membros a um grupo de substituição existente Não é possível adicionar membros a um grupo de substituições existente em uma coleção de esquema XML. Um grupo de substituição em um esquema XML é restrito no sentido de que o elemento principal e todos os seus elementos membros devem ser definidos na mesma instrução {CREATE | ALTER} XML SCHEMA COLLECTION.
Formas canônicas e restrições de padrões A representação canônica de um valor não pode violar a restrição de padrão de seu tipo. Para obter mais informações, consulte Canonical Forms and Pattern Restrictions.
Aspectos de enumeração SQL Server não oferece suporte a esquemas XML com tipos que têm aspectos padrão ou enumerações que violam essas facetas.
Comprimento do aspecto As facetas length, minLength e maxLength são armazenadas como um long tipo. Esse é um tipo de 32 bits. Portanto, o intervalo de valores aceitáveis para esses valores é 2^31.
Atributo ID Cada componente de esquema XML pode ter um atributo de ID. SQL Server impõe exclusividade para <declarações xsd:attribute> do tipo de ID, mas não armazena esses valores. O escopo para imposição de exclusividade é a instrução {CREATE | ALTER} XML SCHEMA COLLECTION.
Tipo ID SQL Server não oferece suporte a elementos de tipo xs:ID, xs:IDREFou xs:IDREFS. Um esquema pode não declarar elementos desse tipo ou elementos derivados pela restrição ou extensão desse tipo.
Namespace local O namespace local deve ser especificado explicitamente para o <elemento xsd:any> . SQL Server rejeita esquemas que usam uma cadeia de caracteres vazia ("") como um valor para o atributo de namespace. Em vez disso, o SQL Server exige o uso explícito de "##local" para indicar um elemento ou atributo não qualificado, como a instância do caractere curinga.
Tipo misto e conteúdo simples SQL Server não oferece suporte à restrição de tipo misto a conteúdo simples. Para obter mais informações, consulte Mixed Type and Simple Content.
Tipo NOTATION SQL Server não oferece suporte ao tipo NOTATION.
Condições de memória insuficiente Ao trabalhar com grandes coleções de esquema XML, pode ocorrer uma condição de memória insuficiente. Para obter soluções para esse problema, veja Coleções de esquemas XML grandes e condições de memória insuficiente.
Valores repetidos SQL Server rejeita esquemas nos quais o bloco ou o atributo final repetiu valores como "restriction restriction" e "extension extension".
Identificadores de componente de esquema SQL Server limita identificadores de componentes de esquema a um comprimento máximo de 1000 caracteres Unicode. Além disso, não há suporte para pares de caracteres substitutos dentro de identificadores.
Informações de fuso horário Em SQL Server 2008 e versões posteriores, há suporte total para informações de fuso horário para xs:datevalores , xs:timee xs:dateTime para validação de esquema XML. Com SQL Server modo de compatibilidade com versões anteriores de 2005, as informações de fuso horário são sempre normalizadas para Tempo Universal Coordenado (Horário médio de Greenwich). Para elementos de tipo dateTime, o servidor converte a hora fornecida para GMT usando o valor de deslocamento ("-05:00") e retornando a hora GMT correspondente.
Tipos de união SQL Server não oferece suporte a restrições de tipos de união.
Decimais de precisão variáveis SQL Server não oferece suporte a decimais de precisão variáveis. O tipo xs:decimal representa números decimais de precisão arbitrária. Processadores XML com conformidade mínima devem oferecer suporte a números decimais com um mínimo de totalDigits=18. SQL Server oferece suporte a totalDigits=38, , mas limita os dígitos fracionários a 10. Todos os valores xs:decimal de instância são representados internamente pelo servidor usando o tipo numérico SQL (38, 10).

Nesta seção

Tópico Descrição
Formas canônicas e restrições de padrões Explica formas canônicas e restrições de padrões.
Componentes curinga e validação de conteúdo Descreve as limitações da utilização de caracteres curingas, a validação incerta e quaisquer Elementos anyType com coleções de esquema XML.
O <elemento xsd:redefine> Explica a limitação de usar o <elemento xsd:redefine> e descreve uma solução alternativa.
O tipo xs:QName Descreve a limitação relativa ao tipo xs:QName.
Valores para <declarações xsd:simpleType> Descreve as restrições aplicadas às <declarações xsd:simpleType> .
Facetas de enumeração Descreve a limitação relativa a aspectos de enumeração.
Tipo misto e conteúdo simples Descreve a limitação de restringir um tipo misto a um conteúdo simples.
Grandes coleções de esquemas XML e condições de memória insuficiente Fornece soluções para a condição de memória insuficiente que às vezes acontece com grandes coleções de esquema.
Modelos de conteúdo não determinístico Descreve as limitações relativas a modelos de conteúdo não determinístico.

Consulte Também

Dados XML (SQL Server)
Comparar XML tipado com XML não tipado
Conceder permissões em uma Coleção de Esquemas XML
Restrição de atribuição de partícula exclusiva
Coleções de esquema XML (SQL Server)