Définition de la manière dont les données sont formatées et calculées

Définissez le contenu d'un élément de canevas ou les valeurs de ses propriétés pour formater et calculer les données.

Pourquoi et quand exécuter cette tâche

Vous pouvez définir le contenu d'un canevas à l'aide de valeurs simples, d'expressions de données ou d'expressions de script.

Les expressions de données et les expressions de script proposent toutes deux des variables internes que vous pouvez sélectionner.
Tableau 1. Variables internes de Rational Publishing Engine
Variable Description
_numéro_cellule Numéro de cellule dans une ligne actuelle. Si l'élément ne correspond pas à une cellule, la valeur est 0. Vous pouvez utiliser _cell_number depuis l'onglet Expression de données ou Expression de script.
_id_élément Numéro d'élément au sein du canevas. Conservée en interne dans le canevas et utilisée pour le débogage. Vous pouvez utiliser _id_élément depuis l'onglet Expression de données ou Expression de script.
_niveau_élément Niveau récursif d'un élément. Si aucune valeur n'est définie pour l'élément dans la propriété Niveau récursif de l'onglet Données, la valeur est 1. Vous pouvez utiliser _niveau_élément depuis l'onglet Expression de données ou Expression de script.
_numéro_ligne Numéro de ligne dans une table actuelle. Si l'élément ne figure pas dans un élément de ligne, la valeur est 0. Vous pouvez utiliser _numéro_ligne depuis l'onglet Expression de données ou Expression de script.
_sessionInfo Information de propriété d'exécution de la spécification de canevas ou de document. Sous l'onglet Expression de script, sélectionnez la variable _sessionInfo et entrez le script. Utilisez des guillemets vides sans valeur à l'intérieur afin de générer la valeur par défaut pour la propriété dans la sortie. Exemples de script :

_sessionInfo.getDocspecProperty("property", "");
_sessionInfo.getTemplateProperty("property", "");
_sessionInfo.getDatasourceProperty("data_source_name","property", "");
_sessionInfo.getOutputProperty("output_type","property", "");
_sessionInfo.docspecVersion
_sessionInfo.templateVersion
_sessionInfo.engineVersion
_sessionInfo.buildNumber

Pour la variable getDocspecProperty, vous pouvez utiliser des propriétés de spécification de document existantes ou des propriétés de création de métadonnées personnalisées.

_sessionLogger A des fins de débogage, vous pouvez afficher des messages d'information, d'avertissement, ou de débogage personnalisés dans le fichier TEMP\rpe\rpe.log, la vue Console ou la vue Problèmes. Les messages s'affichent à l'emplacement qui est défini dans le fichier log4j.properties.

Le paramètre par défaut consiste à afficher les messages d'information dans la vue Console et non dans le fichier rpe.log.

Sous l'onglet Expression de script, sélectionnez la variable _sessionLogger et entrez le script. Vous pouvez générer des entrées de journal de l'une des manières suivantes :
  1. _sessionLogger.debug(message)
  2. _sessionLogger.info(message)
  3. _sessionLogger.error(message)
  4. _sessionLogger.warn(message)

Lorsque vous décidez ce que vous allez entrer comme message dans votre script, pensez à utiliser un paramètre callout visuel, par exemple vos initiales ou votre nom d'utilisateur, ainsi que des variables de votre canevas, afin de créer des messages significatifs.

_sessionUtils Sous l'onglet Expression de script, vous pouvez utiliser cette variable afin d'exécuter une fonction sur le script appelé tidyXHTML. Cette variable est utile si vous remarquez des blocs d'espace blanc dans la sortie qui est créée par un codage XHTML incorrect. Grâce à la variable _sessionUtils, un argument de chaîne est traité et le code XHTML est nettoyé de sorte que l'espace en trop ne s'affiche pas dans la sortie.

Exemple : _sessionUtils.tidyXHTML(text);

Lors de l'utilisation de la variable _sessionUtils, sélectionnez également les options Entrée XHTMLt et Sortie XHTML sous l'onglet Expression de script.
Remarque : Les canevas qui incluent cette variable peuvent être chargés dans de plus anciennes versions de Rational Publishing Engine, mais les scripts ne peuvent pas être correctement évalués.

Procédure

  1. Dans l'éditeur de contenu de canevas, cliquez deux fois sur l'élément de texte. La fenêtre Définition du contenu pour l'élément en cours s'ouvre.
  2. Spécifiez le contenu à l'aide de l'une des options suivantes :
    • Pour utiliser une valeur simple, cliquez sur l'onglet Valeur simple et entrez une valeur.
    • Pour utiliser une expression de données, cliquez sur l'onglet Expression de données et :
      • Développez Variables et sélectionnez une variable à utiliser ou
      • Développez Attributs et sélectionnez un attribut de données à utiliser.
    • Pour utiliser une expression de script, cliquez sur l'onglet Expression de script.
      • Développez Variables, sélectionnez une variable et entrez le code JavaScript qui peut utiliser les variables dans le contexte actuel.
      • Développez Attributs, sélectionnez un attribut et entrez le code JavaScript qui peut utiliser les attributs de données dans le contexte en cours.
      • Si vous avez copié le script à partir de XHTML, vous pouvez sélectionner l'option Entrée XHTML pour permettre l'édition des balises XHTML contenues dans le script à éditer.
      • Si vous générez le canevas dans une sortie XHTML, vous pouvez sélectionner l'option Sortie XHTML pour analyser le script et l'afficher comme texte enrichi.
      Par exemple, pour sélectionner les attributs comme nombre absolu, nom et valeur, entrez le code JavaScript suivant :
      "object:"+Absolute Number+
      "attribute"+name+
      "value"+_value
      Conseil : Si vous disposez d'un canevas assez complexe, vous pouvez décrire chaque bloc du canevas à l'aide des propriétés Nom et Description. Les zones du nom et de la description sont vides par défaut, le contenu du nom s'affiche dans le canevas et le contenu de la description peut être affiché dans la zone de suggestion de l'élément de canevas. Cela peut aider les autres utilisateurs à réutiliser le canevas.

      Vous avez aussi la possibilité d'importer un script existant ou de travailler dans l'éditeur JavaScript au lieu d'utiliser l'onglet Expression de script :

    1. Si vous souhaitez inclure un nouveau script à partir d'un autre fichier, cliquez sur Inclure un script et sélectionnez un fichier sur votre ordinateur, sur un serveur distant ou dans le composant Gestion centralisée. Cliquez sur OK pour fermer la fenêtre et cliquez deux fois sur l'élément pour ouvrir à nouveau la fenêtre Code d'entrée pour l'élément de code JavaScript.
    2. Cliquez sur Ouvrir dans l'éditeur pour entrer le script dans un éditeur Eclipse JavaScript. Le script s'ouvre dans un nouvel onglet de l'éditeur sous la forme d'un fichier .js temporaire et vous pouvez éditer le JavaScript.
      Remarque : Lorsque vous commencez la saisie, après avoir entré un point ou tout autre caractère comme valeur, le message Error accessing JavaScript file peut s'afficher. Il peut aussi être suivi d'un message Problems during content assist. Si ces messages s'affichent, suivez les instructions qui s'affichent afin de désactiver l'option Other JavaScript Proposals :
      1. Cliquez sur Window > Preferences > JavaScript > Editor > Content Assist > Advanced.
      2. Dans la section relative à "Content assist cycling", désélectionnez l'option Other JavaScript Proposals.
      3. Cliquez sur OK pour fermer la fenêtre.
    3. Gérez le script via les options de la vue Structure.
    4. Sauvegardez les changements.
    5. Fermez l'onglet de l'éditeur JavaScript temporaire. Vous retournez à la fenêtre Code d'entrée pour l'élément de code JavaScript.
    6. Cliquez sur Tester le script pour valider le code.
    7. Cliquez sur OK pour sauvegarder les changements et fermer la fenêtre.
  3. Cliquez sur OK pour sauvegarder les changements.

Exemple

Exemple d'utilisation d'un expression de données
Pour afficher automatiquement des numéros de ligne générés dans vos tables :
  1. Faites glisser un élément de table dans l'éditeur.
  2. Entrez 3 lignes et 3 colonnes pour la table et cliquez sur OK.
  3. Faites glisser un élément de texte dans chaque cellule.
  4. Sélectionnez la première cellule de la première ligne.
  5. Dans la vue Propriétés, sélectionnez l'onglet Contenu et cliquez sur l'icône Configuration. Un double clic sur l'élément ouvre également la même fenêtre.
  6. Cliquez sur l'onglet Expression de données et sélectionnez _numéro_ligne. Cliquez ensuite sur OK.
  7. Recommencez pour la première cellule de la seconde ligne et de la troisième ligne.
  8. Supprimez les bordures des cellules de numéro de ligne :
    1. Maintenez la touche CTRL enfoncée et sélectionnez la première cellule de chaque ligne. Lorsque plusieurs éléments sont sélectionnés, vous pouvez éditer les propriétés de l'ensemble de ces éléments en même temps.
    2. Dans la vue Propriétés, sélectionnez l'onglet Bordure.
    3. Pour la propriété Style, sélectionnez aucun.
  9. Sauvegardez le canevas.
  10. Testez le canevas en générant la sortie. La premier cellule inclut le numéro de ligne et ne comporte pas de bordures autour :
    Exemple de sortie
  11. Dans le canevas, finissez d'ajouter des attributs de votre schéma de source de données aux cellules restantes afin de compléter la table.

Retour d'informations