高级双向支持

您可以设置很多属性来在文档中启用双向支持。

模板中的双向属性

部分模板元素具有 direction 属性。 可以将此属性的值设置为 ltr(从左到右)、rtl(从右到左)、contextualempty(缺省设置)。如果此属性的值为 empty,那么会继承对应元素的方向,或具有当前文档值的缺省值。

以下模板元素具有 direction 属性:
  • 容器表单元格列表项:此属性影响未显式定义其方向的文本的每个逻辑段。
  • :此属性定义显示列的方式(从左到右或以相反方向),并影响未显式定义其方向的每个单元格。
  • 列表:此属性影响未显式定义其方向的每个列表项。
  • 文本:此属性仅影响当前元素的内容。无法继承此属性或无法由其他元素继承。

您可以从 Document Studio 中的“属性”视图设置 direction 属性。

“属性”视图中设置的 direction 属性

文档规范中的 bidi 属性

运行时元数据的以下特定于 bidi 的属性用于控制生成的文档布局及其文本内容的基本方向。

类型 描述
bidi truefalse(缺省值) 用作打开或关闭特定于 bidi 的功能的触发器。
文档方向 ltrrtl 定义文档的布局。如果文档方向和输出语言环境元数据属性都为 empty,那么文档方向设置为 ltr。如果文档方向为 empty,那么其实际运行时值取决于 output locale 属性的值。针对双向语言环境,此值为 rtl。 针对其他语言环境,此值为 ltr
文本方向 ltrrtlcontextualempty(缺省值) 定义基本文本方向 empty,意味着缺省文本方向与文档方向相同。

在 Launcher 中,可以通过“属性”视图或“配置元数据属性”窗口设置属性:

在文档规范的“属性”视图中设置双向属性

可以使用内部变量 _sessionInfoRational® Publishing Engine 模板引用双向属性:

脚本表达式中的会话信息

针对使用内置 RRDG 引擎的产品,可通过编程方式设置双向属性。 例如,针对 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"));
注: Rational Publishing Engine 的先前版本,使用 Microsoft Word 输出的 bidi 属性打开或关闭特定于 bidi 的功能。不再支持此属性,尽管此属性仍显示在“Word 输出属性”视图中。

在运行时确定元素及其内容的基本文本方向

元素的方向指定其内容的对齐、布局和基本文本方向。

容器表单元格列表列表项具有其自己的 direction 属性。 如果此属性的值为 empty,那么会从最接近的祖代继承对应元素的实际方向,此祖代具有非 empty 的 direction 属性。如果没有要继承的内容,那么元素的方向由文档的 document direction 属性定义。

如果容器表单元格列表列表项具有其自己的或继承的 contextual direction 属性,那么这些元素的实际方向由其文本内容确定。但是,如果这不可行(文本未直接放在当前元素中或仅包含中性字符),那么从最接近的祖代继承实际方向,同时具有非 empty 和非 contextual 的 direction 属性。如果没有要继承的内容,那么元素的方向由文档的 text direction 属性定义。

如果容器表单元格列表列表项具有作为其第一个直接子代的文本元素(具有非 empty 的 direction 属性),那么从此文本元素的已解析方向确定此类元素的实际方向。

如果列表具有其自己的或继承的 contextual direction 属性,那么这些元素的实际方向继承自最接近的祖代,同时具有非 empty 和非 contextual 的 direction 属性。 如果没有要继承的内容,那么元素的方向由文档的 document direction 属性定义。

如果文本元素的方向不为 empty,那么此元素的内容(可仅为逻辑段的部分)会在生成的文档中显示为文本的独立段,且根据属性进行格式化。如果文本元素具有其自己的 contextual direction 属性,那么对应文本段的基本方向根据其内容进行确定。如果文本段仅包含中性字符,那么基本文本方向由文档的 text direction 属性定义。

目录表目录图目录的方向由文档的文档方向属性定义。此属性仅指定其布局(例如,节号、其名称和页码的相对位置)。 针对这些元素的任何方向,节中名称的文本应该与其在文档正文中显示的相同。

表文字说明图文字说明的方向由文档的 document direction 属性定义。它指定其布局(例如,标签和内容的相对位置)。文字说明的每个部分的基本文本方向由文档的text direction 属性定义。

脚注的方向由文档的 document direction 属性定义。它指定内容的布局(例如,脚注号、其内容及其对齐的相对位置)。脚注内容的基本文本方向由文档的 text direction 属性定义。

注释的方向未定义。其内容的基本文本方向由文档的 text direction 属性定义。

页眉页脚的方向由文档的 document direction 属性定义。

处理富文本格式 (XHTML)

文本元素的内容可由 XHTML 片段表示。这些片段作为模板元素的集合进行解析和处理:
  • P,H1-H6 - 作为具有不同样式的段
  • DIV - 作为容器
  • TABLE - 作为表
  • TD - 作为表单元格
  • OL,UL - 作为列表
  • LI - 作为列表项

将识别块级别 html 元素(例如,P、DIV、H1-H6、LI、TD、TABLE、OL 和 UL)中找到的样式 direction 和属性 dir 的值,并会将其转换为 Rational Publishing Engine 格式属性 direction。如果为当前 html 元素定义了样式和属性,那么会使用 dir 的值。设置当前元素的内容

块级别 html 元素的内容作为一系列具有不同样式的文本元素进行处理。您可以将 html SPAN 元素与样式 direction 配合使用。 这些 SPAN 元素作为具有样式 direction 属性的文本元素处理。 (但是,这些元素内部不应包含任何其他标记)。不支持具有其他标记的 SPAN 元素,这些元素可能会导致意外结果。


反馈