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 Document Builder. Cliquez sur OK.
      Conseil : Vous pouvez réutiliser des fonctions JavaScript dans différentes parties du canevas en définissant une propriété Script de bibliothèque dans le code de script. Pour définir la propriété Script de bibliothèque, accédez à la vue Propriétés de l'élément Code JavaScript et sélectionnez l'onglet Spécifique puis cochez la case Script de bibliothèque. Pour plus d'information sur la propriété de script de bibliothèque, voir Propriétés des éléments de code JavaScript.

      Pour un fichier sélectionné sur votre ordinateur ou sur un serveur distant, une copie du code JavaScript du fichier s'ouvre dans l'éditeur JavaScript.

      Pour un fichier sélectionné dans Document Builder, la fenêtre Utiliser la référence du script s'ouvre. Vous devez indiquer si le JavaScript doit être inclus sous forme de lien de référence dans le canevas :
    • Si vous sélectionnez Oui, le lien vers le fichier JavaScript (.js) est inclus dans une balise <Script>. Par exemple, le lien de référence suivant est ajouté dans l'éditeur JavaScript et vous ne devez pas le modifier :
      <Script src= "library://api/scripts/51"></Script>
      A faire : Lorsque vous exécutez la génération de document à partir du canevas, si celui-ci contient un JavaScript sous forme de lien de référence, Document Builder doit être en fonctionnement et connecté à Document Studio. Pour plus de détails, voir la rubrique Connexion au composant Document Builder.
    • Si vous sélectionnez Non, une copie du code JavaScript du fichier sélectionné s'ouvre dans l'éditeur JavaScript.
    1. 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 en tant que fichier .js temporaire ; vous pouvez éditer le JavaScript et gérer le script avec les options de la vue Structure. Une fois que vous avez fini de modifier le script, enregistrez vos modifications et refermez l'onglet JavaScript temporaire de l'éditeur pour reveir à la fenêtre Code d'entrée pour l'élément de code JavaScript.
    2. Cliquez sur Tester le script pour valider le code.
    3. 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.