Prise en charge avancée de l'affichage bidirectionnel

Vous pouvez définir de nombreuses propriétés pour prendre en charge l'affichage bidirectionnel dans les documents.

Propriétés d'affichage bidirectionnel dans les canevas

Certains éléments de canevas possèdent la propriété direction. Cette propriété peut être associée à la valeur ltr (de gauche à droite), rtl (de droite à gauche), contextual ou empty (par défaut). Si la valeur de cette propriété est empty, l'orientation de l'élément correspondant est héritée ou possède une valeur par défaut pour le document courant.

Les éléments de canevas suivants possèdent la propriété direction :
  • Conteneur, Paragraphe, Cellule de table, Elément de liste : la propriété a un impact sur tous les paragraphes logiques du texte pour lesquels l'orientation n'est pas définie explicitement.
  • Table : la propriété définit le mode d'affichage des colonnes (de gauche à droite ou de droite à gauche) et a un impact sur toutes les cellules pour lesquelles l'orientation n'est pas définie explicitement.
  • Liste : la propriété a un impact sur tous les éléments de liste pour lesquels l'orientation n'est pas définie explicitement.
  • Texte : la propriété a un impact sur le contenu de l'élément courant seulement. Elle ne peut pas être héritée d'un autre élément ou par un autre élément.

Vous pouvez définir la propriété direction dans la vue Propriétés de Document Studio.

Propriété direction définie dans la vue Propriétés

Propriétés d'affichage bidirectionnel dans les spécifications de document

Les propriétés d'affichage bidirectionnel ci-dessous des métadonnées d'exécution sont utilisées pour contrôler la présentation du document généré et l'orientation de base de son contenu textuel.

Type Valeur Description
bidi true, false (par défaut) Utilisé comme déclencheur pour activer ou désactiver la fonctionnalité bidirectionnelle.
document direction ltr, rtl Définit la présentation du document. Si les propriétés document direction et output locale sont vides, la propriété document direction prend la valeur ltr. Si la propriété document direction est vide, sa valeur d'exécution réelle dépend de la valeur de la propriété output locale. Pour les environnements locaux bidirectionnels, il s'agit de rtl. Pour les autres environnements locaux, il s'agit de ltr.
text direction ltr, rtl, contextual, empty (par défaut) Définit l'orientation de base du texte. empty signifie que l'orientation par défaut du texte est la même que l'orientation du document.

Dans Launcher, vous pouvez définir des propriétés dans la vue Propriétés ou dans la fenêtre Configurer les propriétés de métadonnées :

Définition des propriétés d'affichage bidirectionnel dans la vue Propriétés pour les spécifications de document

Les propriétés d'affichage bidirectionnel peuvent être référencées depuis des canevas Rational Publishing Engine à l'aide de la variable interne _sessionInfo :

Informations de session dans une expression de script

Dans les produits qui utilisent le moteur RRDG intégré, les propriétés d'affichage bidirectionnel peuvent être définies à l'aide d'un programme. Par exemple, pour Rational DOORS Next Generation :
LocalDocumentGenerator docGen = new LocalDocumentGenerator(new RRDGEngineImpl());
    String config = docGen.getConfigurationPath(configFolder.toURI());
    DocumentSpecificationBuilder builder = new DocumentSpecificationBuilder();
    RPEDocumentSpecification docSpec = builder.create(config);
    RPEMetadata metadata = docSpec.getRuntime().getMetadata();
    metadata.addProperty(new Property(RPEConfigConstants.PROPERTY_DOCUMENT_DIRECTION, new Value("","rtl"));
Remarque : La version précédente de Rational Publishing Engine utilisait la propriété bidi de la sortie Microsoft Word pour activer ou désactiver la fonctionnalité bidirectionnelle. Cette propriété n'est plus prise en charge, même si elle apparaît toujours dans la vue des propriétés de sortie Word.

Détermination des éléments et de l'orientation de base du texte pour leur contenu à l'exécution

L'orientation de l'élément spécifie l'alignement, la présentation et l'orientation de base du texte de son contenu.

Conteneur, Paragraphe, Table, Cellule de table, Liste et Elément de liste possèdent leur propre propriété direction. Si la valeur de cette propriété est empty, l'orientation réelle de l'élément correspondant est hérité de l'ascendant le plus proche qui possède une propriété direction dont la valeur n'est pas empty. S'il s'avère qu'aucun héritage n'est possible, l'orientation de l'élément est définie par la propriété document direction du document.

Si Conteneur, Paragraphe, Table, Cellule de table, Liste ou Elément de liste possède une propriété direction de valeur contextual propre ou héritée, l'orientation réelle de ces éléments est déterminée par leurs contenus textuels. Toutefois, si ce n'est pas possible (parce que le texte n'est pas placé dans l'élément courant directement ou parce qu'il contient des caractères neutres seulement), l'orientation réelle est héritée de l'ascendant le plus proche qui possède une propriété dont la valeur n'est pas empty ni contextual. S'il s'avère qu'aucun héritage n'est possible, l'orientation de l'élément est définie par la propriété text direction du document.

Si Conteneur, Paragraphe, Table, Cellule de table, Liste ou Elément de liste possède un élément texte dont la propriété direction est associée à une valeur autre qu'empty en tant que premier enfant direct, l'orientation réelle de ces éléments est déterminée par l'orientation résolue de cet élément de texte.

Si Table ou Liste possède une propriété direction dont la valeur est contextual propre ou héritée, l'orientation réelle de ces éléments est héritée de l'ascendant le plus proche qui possède une propriété direction dont la valeur n'est pas empty ni contextual. S'il s'avère qu'aucun héritage n'est possible, l'orientation de l'élément est définie par la propriété document direction du document.

Si l'orientation de l'élément de texte n'est pas empty, le contenu de cet élément (qui ne peut être que la partie du paragraphe logique) apparaît dans le document généré comme segment isolé du texte, formaté conformément à cette propriété. Si l'élément de texte possède sa propre propriété direction contextual, l'orientation de base du segment de texte correspondant est déterminée à partir de son contenu. Si le segment de texte contient seulement des caractères neutres, l'orientation de base du texte est définie par la propriété text direction du document.

L'orientation de la table des matières, de la table des tables et de la table des figures est définie par la propriété document direction du document. Elle spécifie leur présentation (par exemple, les positions relatives des numéros de section, leurs noms et numéros de page) seulement. Le texte des noms d'une section, quelle que soit l'orientation de ces éléments, doit être identique à celui qui apparaît dans le corps du document.

L'orientation de la légende de table et de la légende de figure est définie par la propriété document direction du document. Elle spécifie leur présentation (par exemple les positions relatives des libellés et des contenus). L'orientation de base du texte de chaque partie des légendes est définie par la propriété text direction du document.

L'orientation des notes de bas de page est définie par la propriété document direction du document. Elle spécifie la présentation des contenus (par exemple, les positions relatives des numéros de note de bas de page, leur contenu et leur alignement). L'orientation de base du texte du contenu d'une note de bas de page est définie par la propriété text direction du document.

L'orientation des commentaires n'est pas définie. L'orientation de base du texte de leur contenu est définie par la propriété text direction du document.

L'orientation de l'en-tête et du pied de page est définie par la propriété document direction du document.

Traitement du texte enrichi (XHTML)

Le contenu de l'élément Texte peut être présenté par des fragments XHTML. Ces fragments sont analysés et traités en tant que collections d'éléments de canevas :
  • P, H1-H6 - en tant que paragraphes de différents styles
  • DIV - en tant que conteneur
  • TABLE - en tant que table
  • TD - en tant que cellule de table
  • OL,UL - en tant que listes
  • LI - en tant qu'élément de liste

Les valeurs de style direction et d'attribut dir trouvées dans les éléments html de niveau bloc tels que P, DIV, H1-H6, LI, TD, ainsi que dans TABLE, OL et UL, sont reconnues et converties en fonction de la propriété de formatage direction de Rational Publishing Engine. Si le style et l'attribut sont tous les deux définis pour l'élément html courant, la valeur de dir est utilisée.Définition du contenu pour l'élément courant

Le contenu des éléments html de niveau bloc est traité en tant que séquence d'éléments de texte avec différents styles. Vous pouvez utiliser des éléments SPAN html avec le style direction. Ces éléments SPAN sont traités en tant qu'élément de texte possédant la propriété de style direction. (Toutefois, ils ne doivent pas contenir de marquage supplémentaire. Les éléments SPAN contenant un marquage supplémentaire ne sont pas pris en charge et peuvent générer des résultats inattendus.)


Retour d'informations