Utilisation des schémas XDR annotés dans des requêtes (déconseillé dans SQLXML 4.0)
Important
Cette rubrique est fournie à titre de référence pour les applications héritées. Cette fonctionnalité ne fera plus l'objet d'aucun travail de développement. Évitez de l'utiliser dans vos nouveaux travaux de développement. Utilisez à la place des schémas XSD annotés pour créer des vues XML. Pour plus d'informations, consultez Introduction aux schémas XSD annotés (SQLXML 4.0). Vous pouvez convertir des schémas XDR annotés existants en schémas XSD. Pour plus d'informations, consultez Conversion de schémas XDR annotés en schémas XSD équivalents (SQLXML 4.0).
Notes
Pour créer des exemples fonctionnels à l'aide des exemples suivants, vous devez respecter certaines conditions requises. Pour plus d'informations, consultez Configuration requise pour l'exécution des exemples SQLXML.
Méthodes permettant de spécifier des requêtes par rapport au schéma annoté pour extraire des données de la base de données :
Spécifier des requêtes XPath dans un modèle sur le schéma XDR
L'élément <sql:xpath-query> vous permet de spécifier une requête XPath sur la vue XML définie par le schéma annoté. Le schéma annoté sur lequel la requête XPath doit être exécutée est identifié à l'aide de l'attribut mapping-schema de l'élément <sql:xpath-query> .
Les modèles sont des documents XML valides qui contiennent une ou plusieurs requêtes. Les requêtes XPath et FOR XML retournent un fragment de document. Les modèles servent de conteneurs pour les fragments de document obtenus (les modèles offrent un moyen de spécifier un élément unique, de niveau supérieur).
Les exemples de cette rubrique utilisent des modèles pour spécifier une requête XPath portant sur un schéma annoté afin de récupérer des données dans la base de données.
Schémas de mappage insérés
Un schéma annoté peut être inclus directement dans un modèle. L'annotation sql:is-mapping-schema est utilisée pour spécifier un schéma annoté inséré. sql:is-mapping-schema accepte une valeur de type booléen (0 = FALSE, 1 = TRUE). sql:is-mapping-schema est spécifié sur l'élément <Schema> dans le modèle.
L'attribut sql:id identifie de façon unique l'élément dans lequel il est contenu. sql:id est un attribut de type ID et est spécifié sur l'élément <Schema>. La valeur assignée à sql:id est alors utilisée pour référencer le schéma annoté inséré à l'aide de l'attribut mapping-schema dans <sql:xpath-query>.
Par exemple, ceci est un modèle qui spécifie un schéma annoté inséré :
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <Schema xmlns="urn:schemas-microsoft-com:xml-data" sql:id="MyMappingSchema" sql:is-mapping-schema="1"> <ElementType name="Person.Person" > <AttributeType name="BusinessEntityID" /> <AttributeType name="FirstName" /> <AttributeType name="LastName" /> <attribute type="BusinessEntityID" /> <attribute type="FirstName" /> <attribute type="LastName" /> </ElementType> </Schema> <sql:xpath-query mapping-schema="#MyMappingSchema"> Person.Person[@BusinessEntityID < 4] </sql:xpath-query> </ROOT>
À titre d'illustration, enregistrez ce modèle sous le nom de fichier InlineSchemaTemplate.xml.