Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Componentes coringa são usados para aumentar a flexibilidade no que pode aparecer num modelo de conteúdo. Estes componentes são suportados na linguagem XSD das seguintes formas:
Componentes curinga de elemento. Estas são representadas pelo
<xsd:any>elemento.Componentes curingas de atributos. Estas são representadas pelo
<xsd:anyAttribute>elemento.
Ambos os elementos de personagem coringa, <xsd:any> e <xsd:anyAttribute>, suportam o uso de um processContents atributo. Isto permite-lhe especificar um valor que indica como as aplicações XML lidam com a validação do conteúdo do documento associado a estes elementos de caracteres curinga. Estes são os diferentes valores e o seu efeito:
O valor estrito especifica que o conteúdo está totalmente validado.
O valor ignorar especifica que o conteúdo não é validado.
O valor lax especifica que apenas os elementos e atributos para os quais existem definições de esquema disponíveis são validados.
Validação relaxada e elementos xs:anyType
A especificação XML Schema utiliza validação lax para elementos do tipo anyType . Como o SQL Server 2005 (9.x) não suportava validação lax, foi aplicada validação rigorosa para elementos do anyType. A partir do SQL Server 2008 (10.0.x), é suportada validação lax. O conteúdo dos elementos do tipo anyType será validado usando validação lax.
O exemplo seguinte ilustra a validação flexível. O elemento e schema é do tipo anyType . O exemplo cria variáveis xml tipificadas e ilustra a validação frouxa do elemento do tipo anyType.
CREATE XML SCHEMA COLLECTION SC AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ns">
<element name="e" type="anyType"/>
<element name="a" type="byte"/>
<element name="b" type="string"/>
</schema>';
GO
O exemplo seguinte é bem-sucedido, porque a validação de <e> é bem-sucedida:
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>1</a><b>data</b></e>';
GO
O exemplo seguinte é bem-sucedido. A instância é aceite, mesmo que nenhum elemento <c> esteja definido no esquema:
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>1</a><c>Wrong</c><b>data</b></e>';
GO
A instância XML no exemplo seguinte é rejeitada, porque a definição do <a> elemento não permite um valor de string.
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>Wrong</a><b>data</b></e>';
SELECT @var;
GO