Fonctions XPath supplémentaires pour les fichiers EMF et UML

Les fonctions qui suivent sont disponibles pour le mappage de table et de colonne des fichiers EMF et UML, en plus des fonctions XPath spécifiées par la la bibliothèque des fonctions principales XPath 1.0 et par JET.
Remarque : Lorsque vous utilisez une fonction qui renvoie une collection dans une instruction XPath, traitez la collection comme une collection indexée à partir de 1.

Collection<Diagramme> getDiagrams (xpath)

Cette fonction reçoit en entrée une expression XPath avec un ou plusieurs éléments UML et renvoie une collection de diagrammes UML contenus dans les éléments.

Arguments :
xpath : une expression XPath vers un ou plusieurs éléments UML
Résultat :
Une collection de diagrammes UML contenus dans les éléments UML spécifiés
Application :
Sur la page Mappage de ligne, utilisez la fonction pour générer une collection de diagrammes UML.
Sur la page Mappage de colonne, utilisez la fonction pour effectuer des requêtes plus détaillées sur la collection (par exemple pour obtenir la valeur de count pour la collection).
La fonction est disponible pour le pilote UML.
Exemple :
Cet exemple renvoie tous les diagrammes du modèle :

getDiagrams( //*)

Revenir au début

Blob getDiagramImage (xpath, [rés_largeur], [rés_hauteur])

Cette fonction reçoit en entrée une expression XPath vers un élément de diagramme et renvoie un objet BLOB de données d'image de diagramme avec, si elle est spécifiée, une résolution maximale.

Arguments :
xpath : une expression XPath vers un élément de diagramme
rés_largeur (facultatif) : un entier qui représente la largeur de résolution maximale en pixels
rés_hauteur (facultatif) : un entier qui représente la hauteur de résolution maximale en pixels
Résultat :
Un objet BLOB de données d'image de diagramme
Application :
Utilisez cette fonction sur la page Mappage de colonne pour configurer la colonne d'image. Vous pouvez utiliser la colonne comme entrée pour un élément d'image dynamique. Utilisez les paramètres facultatifs de résolution maximale pour contrôler la mémoire qui est nécessaire pour le rendu de l'image de diagramme. Plus la résolution est faible, moins il faut de mémoire ; la qualité de l'image sera cependant également plus faible.
Vous pouvez omettre les deux paramètres facultatifs ou leur attribuer la valeur -1 pour indiquer qu'aucune résolution maximale n'est spécifiée pour la dimension. Pour donner plus de souplesse aux rapports, vous pouvez permettre à l'utilisateur d'entrer les valeurs de résolution comme paramètres du rapport au lieu de les coder en dur.
La fonction est disponible pour les pilotes UML et EMF si le plug-in oda-diagrams est installé.
Exemples :
Cet exemple renvoie l'image de diagramme sans restriction :

getDiagramImage(.)

Cet exemple renvoie les mêmes résultats que l'exemple précédent :

     getDiagramImage(., -1, -1)

Cet exemple renvoie l'image de diagramme avec une résolution maximale de 800 x 600 pixels :

     getDiagramImage(., 800, 600)

Cet exemple renvoie l'image de diagramme avec une résolution spécifiée par l'utilisateur :

     getDiagramImage(., $rés_largeur, $rés_hauteur)

Revenir au début

String getDiagramHtmlImage (xpath, chemin_génération, [largeur_mosaïque], [hauteur_mosaïque])

Cette fonction reçoit en entrée une expression XPath vers un élément de diagramme et renvoie une chaîne qui représente un fragment de code HTML qui affiche une image de diagramme en mosaïque.

Arguments :
xpath : une expression XPath vers un élément de diagramme
chemin_génération : un répertoire temporaire sur le système de fichiers qui est utilisé pour la génération de la mosaïque
largeur_mosaïque (facultatif) : la largeur maximale en pixels d'une image de diagramme en mosaïque
hauteur_mosaïque (facultatif) : la hauteur maximale en pixels d'une image de diagramme en mosaïque
Application :
Utilisez cette fonction sur la page Mappage de colonne pour configurer la colonne d'image. Vous pouvez utiliser la colonne comme entrée pour un élément (HTML) de texte dynamique. La fonction affiche une image de diagramme en la divisant en éléments en mosaïque dont la taille est spécifiée par les paramètres facultatifs largeur_mosaïque et hauteur_mosaïque.
Vous pouvez omettre les deux paramètres facultatifs ou leur attribuer la valeur -1 pour indiquer la taille de mosaïque par défaut. L'image en mosaïque est générée dans le dossier chemin_génération spécifié. Ce dossier n'est pas nettoyé après l'appel de la fonction et des appels répétés remplacent les images sans avertissement. Utilisez la taille de mosaïque pour contrôler la mémoire maximale nécessaire pour afficher un diagramme. Plus la taille de la mosaïque est petite, moins il faut de mémoire ; le nombre de mosaïques est cependant plus élevé.
Utilisez cette fonction seulement avec des formats de sortie de rapport tels que HTML, qui ne limitent pas la taille des pages.
Pour donner plus de souplesse aux rapports, vous pouvez permettre à l'utilisateur d'entrer les valeurs de chemin_génération et de taille de mosaïque comme paramètres du rapport, au lieu de les coder en dur.
La fonction est disponible pour les pilotes UML et EMF si le plug-in oda-diagrams est installé.
Exemple :
Cet exemple divise l'image en utilisant la taille de mosaïque par défaut :

     getDiagramHtmlImage(., "c:/temp")

Cet exemple renvoie le même résultat que l'exemple précédent :

     getDiagramHtmlImage(., "c:/temp", -1, -1)

Cet exemple divise l'image en utilisant une taille de mosaïque de 1000 x 1000 pixels :

     getDiagramHtmlImage(., “c:/temp”, 1000, 1000)

Revenir au début

String getXMIID (xpath)

Cette fonction reçoit en entrée une expression XPath vers un élément et renvoie la valeur de l'ID XMI de l'élément.

Arguments
xpath : une expression XPath vers un élément
Résultat :
La valeur de l'ID XMI d'un élément
Application :
Utilisez cette fonction sur la page Mappage de colonne.
La fonction est disponible pour les pilotes UML et EMF.
Exemple
getXMIID(.)
Revenir au début

String getXMIType (xpath)

Cette fonction reçoit en entrée une expression XPath appliquée à un élément et renvoie la valeur du type XMI de l'élément.

Arguments :
xpath : une expression XPath vers un élément
Résultat :
Le type XMI de l'élément
Application :
Utilisez cette fonction sur la page Mappage de colonne.
La fonction est disponible pour les pilotes UML et EMF.
Exemple :
Cet exemple renvoie le type XMI de l'élément en cours.
getXMItype(.)
Revenir au début

String getURI (xpath)

Cette fonction reçoit en entrée une expression XPath qui se résout à un élément unique et renvoie une représentation de chaîne de l'identificateur URI de l'élément. Cet URI est unique parmi les ressources, ce qui en fait une colonne appropriée pour effectuer des jointures de fichiers.

Arguments :
xpath : une expression XPath vers un élément unique
Résultat :
La chaîne d'URI de l'élément
Application :
Utilisez cette fonction sur la page Mappage de colonne.
La fonction est disponible pour les pilotes UML et EMF.
Exemple :
Cet exemple renvoie une chaîne qui représente l'URI de l'élément en cours :

getURI(.)

Revenir au début

EObject resolveURI (uri)

Cette fonction résout un identificateur URI spécifié et renvoie l'élément correspondant.

Arguments :
uri : l'identificateur URI d'un élément
Résultat :
L'élément avec l'URI spécifié
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne.
La fonction est disponible pour les pilotes UML et EMF.
Exemple :
Cet exemple résout l'identificateur URI d'un élément qui est passé en tant que paramètre de fichier.

     resolveURI($élément)

Remarque :

Lorsque vous utilisez la fonction resolveURI, considérez s'il est opportun de décocher la case Evaluer pour chaque modèle d'instance de source de données dans la page Mappage de ligne. La décision dépend de la navigation dans l'expression :

  • Si l'expression inclut une navigation qui commence à la racine du modèle, ne décochez pas la case. Si vous décochez la case dans ce cas, la navigation à partir de la racine échoue et des exceptions se produisent.
  • Dans les autres cas, décochez la case.

    En général, la requête de mappage de ligne dans un fichier est exécutée dans une boucle sur les modèles d'instance qui sont définis dans la source de données liée au fichier. En d'autres termes, l'exécution de la requête boucle sur les modèles d'instance et, pour chaque modèle, elle change le contexte de la requête pour ce modèle et collecte les objets de ligne résultants. Cependant, avec la fonction resolveURI, une requête de mappage de ligne peut utiliser à la place un paramètre d'objet comme contexte pour la requête, comme dans l'exemple resolveURI($classe)/ownedAttribute. Dans une telle requête, il n'y a pas de navigation à partir de la racine du modèle comme dans les requêtes les plus courantes. Cela signifie que le résultat de l'exécution d'une telle requête est le même, quel que soit le modèle du contexte. Ceci peut conduire à des problèmes de performance car la requête est exécutée et réexécutée pour chaque modèle d'instance alors que l'ensemble de résultats ne change pas.

Revenir au début

Collection<EObject> instanceOf (xpath, type)

Cette fonction reçoit en entrée une expression XPath et un type chaîne et renvoie une collection de tous les éléments trouvés pour ce type.

Arguments :
xpath : une expression XPath vers un ou plusieurs éléments
type : une chaîne ayant le format (préfixe_package:nom_type) qui représente un métatype qualifié
Résultat :
Une sous-collection d'éléments qui sont conformes au type spécifié
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne.
Sur la page Mappage de colonne, utilisez cette fonction pour renvoyer une collection d'éléments, puis utilisez des expressions XPath supplémentaires (par exemple count) pour effectuer une requête sur une valeur unique.
La fonction est disponible pour les pilotes UML et EMF.
Exemple :
Cet exemple renvoie tous les éléments de type uml:Class:

     instanceOf(//*, "uml:Class")

Revenir au début

Collection<EObject> oclQuery (xpath, expression_OCL_booléenne)

Cette fonction prend en argument une expression XPath et une expression de requête OCL à valeur booléenne, et renvoie le sous-ensemble des éléments de l'expression XPath pour lesquels la requête OCL renvoie true.

Arguments :
xpath : une expression XPath
expression_OCL_booléenne : une chaîne de requête OCL booléenne
Résultat :
Une sous-collection d'éléments qui sont conformes au type spécifié
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne.
Sur la page Mappage de colonne, utilisez cette fonction pour renvoyer une collection d'éléments, puis utilisez des expressions XPath supplémentaires (par exemple count) pour effectuer une requête sur une valeur unique.
La fonction est disponible pour les pilotes UML et EMF.
Exemple :
Cet exemple renvoie tous les éléments de type uml::Dependency:

oclQuery(//*, "self.oclIsKindOf(uml::Dependency)")

Revenir au début

Object oclEvaluate (xpath , expression_OCL)

Cette fonction reçoit en entrée une expression XPath vers un seul élément et une chaîne de requête OCL, et renvoie le résultat après évaluation de la requête sur l'élément.

Arguments :
xpath : une expression XPath vers un élément unique
expression_OCL : une chaîne de requête OCL
Résultat :
Le résultat de l'évaluation de l'expression OCL sur l'élément spécifié
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne pour évaluer des expressions OCL sur des éléments.
La fonction est disponible pour les pilotes UML et EMF.
Exemples :
Cet exemple renvoie tous les packages imbriqués dans un modèle (page Mappage de ligne) :

     oclEvaluate(Modèle, ”self.nestedPackages”)

Cet exemple renvoie le nom de l'élément (page Mappage de colonne) :

     oclEvaluate(., "name")

Revenir au début

Collection<Element> getElementsWithStereotype (xpath, stéréotype)

Cette fonction reçoit en entrée une expression XPath vers un ou plusieurs éléments et un stéréotype, et renvoie une collection d'éléments avec le stéréotype donné.

Arguments :
xpath : une expression XPath vers un ou plusieurs éléments UML
stéréotype : le nom qualifié complet d'un stéréotype avec le format (nom_profil::nom_stéréotype)
Résultat :
Une sous-collection d'éléments auxquels le stéréotype spécifié est appliqué
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne.
Sur la page Mappage de colonne, utilisez cette fonction pour obtenir une collection d'éléments, puis utilisez des expressions XPath supplémentaires (par exemple, count) pour effectuer une requête sur une valeur unique.
La fonction est disponible seulement pour le pilote UML.
Exemple :
Cet exemple renvoie tous les éléments du modèle qui sont stéréotypés comme objectifs métier :

     getElementsWithSterotype(//*, "Business Modeling::BusinessGoal")

Revenir au début

Object getStereotypePropertyValue (xpath, propriété)

Cette fonction reçoit en entrée une expression XPath vers un seul élément UML et une propriété de stéréotype, et renvoie la valeur de cette propriété de stéréotype.

Arguments :
xpath : une expression XPath vers un seul élément UML
propriété : le nom qualifié complet d'une propriété de stéréotype avec le format (nom_profil::nom_stéréotype::nom_propriété)
Application :
Utilisez cette fonction sur la page Mappage de ligne ou sur la page Mappage de colonne.
La fonction est disponible seulement pour le pilote UML.
Exemple :
Cet exemple renvoie le littéral d'énumération qui représente le type de règle métier dénoté par le point :

getStereotypePropertyValue( . , "Business Modeling::BusinessRule::Kind")

Revenir au début
Remarque : Certaines informations, telles que les liens d'accès à la documentation Eclipse ou aux guides de développement, sont disponibles uniquement depuis les rubriques d'aide installées avec le produit.

Vos commentaires