Syntaxe de requête XML employée pour la spécification des données de rapport XML

Mis à jour : 14 avril 2006

Reporting Services vous permet de créer des datasets pour des sources de données XML. Après avoir défini une source de données, vous devez créer une requête pour le dataset. Selon le type de données XML désigné par la source de données, vous pouvez créer la requête du dataset en incluant une Query XML ou un chemin d'accès à un élément. Une Query XML commence par une balise <Query> et intègre des espaces de noms et des éléments XML variant selon la source de données. Un chemin d'accès à un élément opère indépendamment des espaces de noms ; il précise les nœuds et les attributs de nœud à utiliser à partir des données XML sous-jacentes avec une syntaxe similaire à la syntaxe XPath. Pour plus d'informations sur le concept de chemin d'accès à l'élément, consultez Syntaxe du chemin d'accès à l'élément pour la spécification de données de rapport XML.

Vous pouvez créer une source de données XML pour les types de données XML suivants :

  • Documents XML désignés par une URL utilisant le protocole HTTP
  • Points de terminaison du service Web retournant des données XML
  • Données XML incorporées

La manière dont vous spécifiez une Query XML ou un chemin d'accès à un élément dépend du type de données XML.

Dans le cadre d'un document XML, la requête Query XML est facultative. Si elle est incluse, elle peut contenir un ElementPath XML facultatif. La valeur de l'élément ElementPath XML utilise la syntaxe du chemin d'accès à l'élément. Vous devez inclure Query et ElementPath XML pour traiter comme il se doit les espaces de noms lorsque les données XML de la source de données en ont besoin.

Dans le cadre d'un point de terminaison de service Web désigné par l'URL d'une chaîne de connexion, Query XML définit soit la méthode du service Web, soit l'action SOAP, soit les deux. Le fournisseur de données XML crée une demande de service Web qui extrait les données XML à utiliser pour le rapport.

ms345251.note(fr-fr,SQL.90).gifRemarque :
Lorsque l'espace de noms d'un service Web comporte une barre oblique (/), incluez à la fois la méthode du service Web et l'action SOAP de sorte que l'extension de traitement des données XML puisse correctement extraire l'espace de noms.

Dans le cadre d'un document XML incorporé, la Query XML définit les données XML incorporées à utiliser, inclut des espaces de noms facultatifs et contient un ElementPath XML facultatif.

Spécification de paramètres de la requête pour des données XML

Vous pouvez spécifier des paramètres de la requête pour les documents XML.

  • Pour les requêtes URL, les paramètres de la requête sont inclus en tant que paramètres URL standard.
  • Pour les requêtes du service Web, les paramètres de la requête sont passés à la méthode du service Web. Pour définir un paramètre de requête, utilisez les options de l'onglet Paramètres de la boîte de dialogue Dataset. Pour plus d'informations, consultez Dataset (onglet Paramètres, Générateur de rapports).

Exemple

Les exemples fournis dans le tableau ci-dessous illustrent la manière d'extraire des données du service Web Report Server, un document XML et des données XML incorporées.

Source de données XML Exemple de requête

Données XML du service Web issues de la méthode ListChildren.

<Query>

<Method Name="ListChildren" Namespace="https://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices" />

</Query>

Données XML du service Web issues de SoapAction.

<Query xmlns=namespace>

<SoapAction>http://schemas/microsoft.com/sqlserver/2005/03/23/reporting/reportingservices/ListChildren</SoapAction>

</Query>

Document XML ou données XML incorporées utilisant des espaces de noms.

Élément de requête spécifiant des espaces de noms pour un chemin d'accès à un élément.

<Query xmlns:es="https://schemas.microsoft.com/StandardSchemas/ExtendedSales">

<ElementPath>/Customers/Customer/Orders/Order/es:LineItems/es:LineItem</ElementPath>

</Query>

Document XML incorporé.

<Query>

<XmlData>

<Customers>

<Customer ID="1">Bobby</Customer>

</Customers>

</XmlData>

<ElementPath>Customer {@}</ElementPath>

</Query>

Document XML utilisant la valeur par défaut.

No query.

Le chemin d'accès à l'élément provient du document XML lui-même et est indépendant des espaces de noms.

ms345251.note(fr-fr,SQL.90).gifRemarque :
Le premier exemple de service Web liste le contenu du serveur de rapports à l'aide de la méthode ListChildren. Pour exécuter cette requête, vous devez créer une nouvelle source de données et définir la chaîne de connexion sur https://localhost/reportserver/reportservice2005.asmx. La méthode ListChildren accepte deux paramètres : Item et Recursive. Définissez la valeur par défaut de Item sur / et celle de Recursive sur 1.

Définition d'espaces de noms

Utilisez l'élément Query XML pour spécifier les espaces de noms employés dans les données XML de la source de données. La requête XML suivante utilise l'espace de noms sales. Les nœuds ElementPath XML de sales:LineItems et sales:LineItem utilisent l'espace de noms sales.

<Query xmlns:sales=
"https://schemas.microsoft.com/StandardSchemas/ExtendedSales">
   <SoapAction>
      https://schemas.microsoft.com/SalesWebService/ListOrders 
   </SoapAction>
   <ElementPath>
      Customers/Customer/Orders/Order/sales:LineItems/sales:LineItem
   </ElementPath>
</Query>

Pour préciser l'espace de noms du fournisseur de données afin que l'espace de noms par défaut reste vide, utilisez xmldp. C'est ce qu'illustre l'exemple suivant.

Exemple

Les exemples suivants utilisent le document XML DPNamespace.xml fourni à titre d'illustration à la suite du tableau ci-après. Ce tableau présente deux exemples de syntaxe ElementPath XML incluant des préfixes d'espaces de noms.

Élément de requête XML

Champs obtenus dans le dataset

<Query/>

Nœud

ns

Valeur Ahttps://schemas.microsoft.com/...

Valeur Bhttps://schemas.microsoft.com/...

Valeur Chttps://schemas.microsoft.com/...

<xmldp:Query xmlns:xmldp="https://schemas.microsoft.com/sqlserver/2005/02/reporting/XmlDPQuery" xmlns:ns="https://schemas.microsoft.com/...">

<xmldp:ElementPath>Root {}/ns:Element2/Node</xmldp:ElementPath>

</xmldp:Query>

Nœud

Valeur D

Valeur E

Valeur F

Document XML : DPNamespace.xml

Vous pouvez copier ce document XML et l'enregistrer dans une URL accessible au Concepteur de rapports pour l'utiliser en tant que source de données (par exemple, https://localhost/DPNamespace.xml).

<Root xmlns:ns="https://schemas.microsoft.com/...">
   <ns:Element1>
      <Node>Value A</Node>
      <Node>Value B</Node>
      <Node>Value C</Node>
   </ns:Element1>
   <ns:Element2>
      <Node>Value D</Node>
      <Node>Value E</Node>
      <Node>Value F</Node>
   </ns:Element2>
</Root>

Voir aussi

Concepts

Définition de datasets de rapport pour des données XML

Autres ressources

Didacticiel : Utilisation de données XML dans un rapport

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Exemples de syntaxe de requête XML.