Soporte bidireccional avanzado

Existen muchas propiedades que puede establecer para habilitar el soporte bidireccional en los documentos.

Propiedades bidireccionales en las plantillas

Algunos de los elementos de plantilla tienen la propiedad dirección. El valor de esta propiedad puede establecerse en ltr (de izquierda a derecha), rtl(derecha a izquierda), contextual o vacía (el valor predeterminado). Si el valor de esta propiedad es vacía, la dirección del elemento correspondiente se hereda o tiene un valor predeterminado para el valor del documento actual.

Los siguientes elementos de plantilla tienen la propiedad dirección:
  • Contenedor, Párrafo, Celda de tabla, Elemento de lista: la propiedad afecta a cada párrafo lógico del texto para el que no se ha definido explícitamente la dirección.
  • Tabla: la propiedad define el modo de visualización de columnas (de izquierda a derecha o en la dirección opuesta) y afecta a cada celda para la que no se ha definido explícitamente la dirección.
  • Lista: la propiedad afecta a cada elemento de lista para el que no se ha definido explícitamente la dirección.
  • Texto: la propiedad sólo afecta al contenido del elemento actual. No puede heredarse de o por otros elementos.

Puede establecer la propiedad dirección en la vista Propiedades de Document Studio.

Propiedad dirección establecida en la vista Propiedades

Propiedades bidireccionales en las especificaciones de documento

Las siguientes propiedades específicas de la bidireccionalidad de los metadatos de tiempo de ejecución se utilizan para controlar el diseño del documento generado y la dirección base de su contenido de texto.

Tipo Valor Descripción
bidi true, false (valor predeterminado) Se utiliza como desencadenante para activar o desactivar las funciones específicas de bidireccionalidad.
dirección de documento ltr, rtl Define el diseño del documento. Si las propiedades de metadatos de dirección de documento y de entorno local de salida están vacías, la dirección del documento se establece en ltr. Si la dirección del documento está vacía, su valor de tiempo de ejecución real depende del valor de la propiedad entorno local de salida. Para entornos locales bidireccionales, este valor es rtl. Para otros entornos locales, este valor es ltr.
dirección del texto ltr, rtl, contextual, vacía (valor predeterminado) Define la dirección de texto base. El valor vacía significa que la dirección de texto predeterminada es la misma que la dirección del documento.

En el Lanzador, puede establecer propiedades en la vista Propiedades o en la ventana Configurar propiedades de metadatos:

Establecer propiedades bidireccionales en la vista Propiedades para especificaciones de documento

Las propiedades bidireccionales pueden referenciarse desde plantillas de Rational Publishing Engine mediante la variable interna _sessionInfo:

Session info en una expresión de script

En los productos que utilizan el motor RRDG incorporado, las propiedades bidireccionales pueden establecerse mediante programación. Por ejemplo, en el caso de Rational DOORS Next Generation, el código puede ser parecido al siguiente:
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"));
Nota: la versión anterior de Rational Publishing Engine utilizaba la propiedad bidi de la salida de Microsoft Word para activar o desactivar las funciones específicas de bidireccionalidad. Esta propiedad ya no está soportada, aunque se sigue mostrando en la vista de propiedades de salida de Word.

Determinar los elementos y la dirección de texto base de su contenido en tiempo de ejecución

La dirección del elemento especifica la alineación, el diseño y la dirección de texto base de su contenido.

Contenedor, Párrafo, Tabla, Celda de tabla, Lista y Elemento de lista tienen su propia propiedad dirección. Si el valor de esta propiedad es vacía, la dirección real del elemento correspondiente se hereda del ascendente más próximo que tenga una propiedad de dirección no vacía. Si resulta que no hay nada que heredar, la dirección del elemento se define por la propiedad dirección de documento del documento.

Si Contenedor, Párrafo, Tabla, Celda de tabla, Lista o Elemento de lista tienen su propiedad de dirección contextual propia o heredada, la dirección real de estos elementos está determinada por su contenido de texto. Sin embargo, si esto no es posible (el texto no se coloca en el elemento actual directamente o contiene sólo caracteres neutrales), la dirección real se hereda del ascendente más próximo que tenga una propiedad de dirección no vacía y no contextual. Si resulta que no hay nada que heredar, la dirección del elemento se define por la propiedad dirección de texto del documento.

Si Contenedor, Párrafo, Tabla, Celda de tabla Lista o Elemento de lista tienen un elemento de texto con una propiedad de dirección no vacía como su primer hijo directo, la dirección real de tales elementos se determina a partir de la dirección resuelta de este elemento de texto.

Si Tabla o Lista tienen su propiedad de dirección contextual propia o heredada, la dirección real de estos elementos se hereda de ascendente más próximo que tenga una propiedad de dirección no vacía y no contextual. Si resulta que no hay nada que heredar, la dirección del elemento se define por la propiedad dirección de documento del documento.

Si la dirección del elemento de texto no está vacía, el contenido de este elemento (que puede ser sólo la parte del párrafo lógico) aparece en el documento generado como un segmento aislado del texto, formateado de acuerdo con esta propiedad. Si el elemento de texto tiene su propia propiedad de dirección contextual, la dirección base del segmento de texto correspondiente se determina a partir de su contenido. Si el segmento de texto sólo contiene caracteres neutrales, la dirección de texto base se define mediante la propiedad dirección de texto del documento.

La dirección de Tabla de contenido, Tabla de tablas y Tabla de figuras está definida por la propiedad dirección de documento del documento. Especifica sólo su diseño (por ejemplo, las posiciones relativas de los números de sección, sus nombres y números de página). El texto de los nombres de una sección, para cualquier dirección de estos elementos, debe ser el mismo que aparece en el cuerpo del documento.

La dirección de Título de tabla y Título de figura está definida por la propiedad dirección de documento del documento. Especifica su diseño (por ejemplo, las posiciones relativas de las etiquetas y contenido). La dirección del texto base de cada parte de los títulos está definida por la propiedad dirección de texto del documento.

La dirección de Nota a pie de página está definida por la propiedad dirección de documento del documento. Especifica el diseño del contenido (por ejemplo, las posiciones relativas del número de nota a pie de página, su contenido y su alineación). La dirección del texto base del contenido de la nota a pie de página está definida por la propiedad dirección de texto del documento.

La dirección de Comentario no está definida. La dirección de texto base de su contenido está definida por la propiedad dirección de texto del documento.

La dirección de Cabecera y Pie de página está definida por la propiedad dirección de documento del documento.

Manejar texto enriquecido (XHTML)

El contenido del elemento Texto puede representarse mediante fragmentos XHTML. Estos fragmentos se analizan y manejan como colecciones de elementos de plantilla:
  • P, H1-H6 - como párrafos con estilos diferentes
  • DIV - como Contenedor
  • TABLE - como Tabla
  • TD - como Celda de tabla
  • OL,UL - como Listas
  • LI - como Elemento de lista

Los valores de estilo dirección y atributo dir que se encuentra en los elementos HTML de nivel de bloque como P, DIV, H1-H6, LI, TD, así como en TABLE, OL y L, se reconocen y convierten a la propiedad dirección del formato de Rational Publishing Engine. Si tanto el estilo como el atributo están definidos para el elemento HTML actual, se utiliza el valor de dir.Establecer contenido para el elemento actual

El contenido de elementos HTML a nivel de bloque se maneja como una secuencia de elementos de texto con estilos diferentes. Puede utilizar elementos html SPAN con el estilo dirección. Estos elementos SPAN se manejan como un elemento de texto que tiene la propiedad dirección de estilo. (Sin embargo, estos elementos no deben contener ninguna marcación adicional. Los elementos SPAN con marcación adicional no están soportados y pueden provocar resultados inesperados).