Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Composants génériques et validation de contenu

État de la rubrique : certaines informations de cette rubrique constituent une documentation préliminaire et peuvent faire l'objet de modifications dans les versions à venir. Ces informations préliminaires décrivent les nouvelles fonctionnalités ou les modifications apportées à des fonctionnalités existantes de Microsoft SQL Server 2014.

Les composants génériques sont utilisés pour accroître la flexibilité en termes d'éléments pouvant apparaître dans un modèle de contenu. Ils sont pris en charge comme suit dans le langage XSD :

  • Composants génériques éléments. Ils sont représentés par l'élément <xsd:any>.

  • Composants génériques attributs. Ils sont représentés par l'élément <xsd:anyAttribute>.

Ces deux types de caractères génériques, <xsd:any> et <xsd:anyAttribute>, prennent en charge l'emploi d'un attribut processContents. Grâce à lui, vous pouvez préciser une valeur indiquant comment les applications XML vont gérer la validation du contenu des documents associé à ces éléments de caractères génériques. Les valeurs possibles et leurs effets sont décrits ci-dessous :

  • La valeur strict indique que le contenu est entièrement validé.

  • La valeur skip indique que le contenu n'est pas validé.

  • La valeur lax indique que sont validés uniquement les éléments et les attributs pour lesquels des définitions de schéma sont disponibles.

La spécification de schéma XML utilise la validation de type lax pour les éléments du type anyType. Étant donné que SQL Server 2005 ne prenait pas en charge la validation de type lax, la validation de type strict était appliquée aux éléments de type anyType. À compter de SQL Server 2008, la validation de type lax est prise en charge. Le contenu des éléments de type anyType sera validé à l'aide de la validation de type lax.

L'exemple suivant illustre la validation de type lax. L'élément de schéma e est de type anyType. L'exemple crée des variables xml typées et illustre la validation de type lax de l'élément de type 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

L'exemple ci-dessous aboutit, car la validation de <e> réussit.

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>1</a><b>data</b></e>'
GO

L'exemple ci-dessous aboutit. L'instance est acceptée, bien qu'aucun élément <c> ne soit défini dans le schéma :

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>1</a><c>Wrong</c><b>data</b></e>'
GO

L'instance XML dans l'exemple suivant est rejetée car la définition de l'élément <a> n'autorise pas de valeur de chaîne.

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>Wrong</a><b>data</b></e>'
SELECT @var
GO
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft