고급 bidi 지원

문서에서 양방향 지원을 사용하기 위해 설정할 수 있는 여러 특성이 있습니다.

템플리트의 Bidi 특성

일부 템플리트 요소는 방향 특성을 가집니다. 이 특성의 값은 ltr(왼쪽에서 오른쪽으로), rtl(오른쪽에서 왼쪽으로), 컨텍스트 또는 비어 있음(기본 설정)으로 설정될 수 있습니다. 이 특성의 값이 비어 있는 경우 해당 요소의 방향은 상속되거나 현재 문서 값의 기본값을 가집니다.

다음 템플리트 요소는 방향 특성을 가집니다.
  • 컨테이너, 단락, 테이블 셀, 목록 항목: 특성은 방향이 명시적으로 정의되지 않은 텍스트의 각 논리적 단락에 영향을 줍니다.
  • 테이블: 특성은 열을 표시하는 방법(왼쪽에서 오른쪽으로 또는 반대 방향으로)을 정의하고 방향이 명시적으로 정의되지 않은 각 셀에 영향을 줍니다.
  • 목록: 특성은 방향이 명시적으로 정의되지 않은 각 목록 항목에 영향을 줍니다.
  • 텍스트: 특성은 현재 요소의 컨텐츠에만 영향을 줍니다. 다른 요소에서 또는 다른 요소를 통해 상속될 수 없습니다.

Document Studio의 특성 보기에서 방향 특성을 설정할 수 있습니다.

특성 보기에서 설정된 방향 특성

문서 스펙의 Bidi 특성

런타임 메타데이터의 다음 bidi 고유의 특성은 생성된 문서의 레이아웃 및 해당 텍스트 컨텐츠의 기본 방향을 제어하는 데 사용됩니다.

유형 설명
bidi true, false(기본값) bidi 고유의 기능의 설정 또는 해제를 전환하기 위한 트리거로 사용됩니다.
문서 방향 ltr, rtl 문서의 레이아웃을 정의합니다. 문서 방향 및 출력 로케일 메타데이터 특성이 모두 비어 있는 경우, 문서 방향은 ltr로 설정됩니다. 문서 방향이 비어 있는 경우 실제 런타임 값은 출력 로케일 특성의 값에 따라 달라집니다. bidi 로케일의 경우 이는 rtl입니다. 기타 로케일의 경우 이는 ltr입니다.
텍스트 방향 ltr, rtl, 컨텍스트,비어 있음(기본값) 기본 텍스트 방향을 정의합니다. 비어 있음은 기본 텍스트 방향이 문서 방향과 동일함을 의미합니다.

실행기에서 특성 보기 또는 메타데이터 특성 구성 창을 사용하여 특성을 설정할 수 있습니다(

문서 스펙의 특성 보기에서 bidi 특성 설정
).

Bidi 특성은 내부 변수 _sessionInfo(

스크립트 표현식의 세션 정보
)를 사용하여 Rational® Publishing Engine 템플리트에서 참조될 수 있습니다.

기본 제공 RRDG 엔진을 사용하는 제품에서 bidi 특성은 프로그래밍 방식으로 설정될 수 있습니다. 예를 들어, 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 출력 특성 보기에서 여전히 표시되기는 하지만 더 이상 지원되지 않습니다.

런타임 시 요소 및 해당 컨텐츠의 기본 텍스트 방향 판별

요소의 방향은 해당 컨텐츠의 기본 텍스트 방향과 레이아웃 및 맞추기를 지정합니다.

컨테이너 ,단락, 테이블, 테이블 셀, 목록목록 항목은 고유의 방향 특성을 가집니다. 이 특성의 값이 비어 있는 경우 해당 요소의 실제 방향은 비어 있지 않은 방향 특성을 갖는 가장 가까운 인접 요소에서 상속됩니다. 상속할 특성이 없는 경우 요소의 방향은 문서의 문서 방향 특성에 의해 정의됩니다.

컨테이너, 단락, 테이블, 테이블 셀, 목록 또는 목록 항목이 고유 또는 상속된 컨텍스트 방향 특성을 갖는 경우, 이러한 요소의 실제 방향은 해당 텍스트 컨텐츠에 따라 판별됩니다. 그러나 이를 수행할 수 없는 경우(텍스트가 현재 요소에 직접 배치되지 않았거나 중립 문자만 포함하는 경우) 실제 방향은 비어 있지 않고 컨텍스트가 아닌 방향 특성을 갖는 가장 가까운 인접 요소에서 상속됩니다. 상속할 특성이 없는 경우 요소의 방향은 문서의 텍스트 방향 특성에 의해 정의됩니다.

컨테이너 ,단락, 테이블, 테이블 셀, 목록 또는 목록 항목이 비어 있지 않은 방향 특성을 가진 텍스트 요소를 첫 번째 직접 하위로 갖는 경우, 이러한 요소의 실제 방향은 이 텍스트 요소의 해석된 방향에서 판별됩니다.

테이블 또는 목록이 고유 또는 상속된 컨텍스트 방향 특성을 갖는 경우, 이러한 요소의 실제 방향은 비어 있지 않고 컨텍스트가 아닌 방향 특성을 갖는 가장 가까운 인접 요소에서 상속됩니다. 상속할 특성이 없는 경우 요소의 방향은 문서의 문서 방향 특성에 의해 정의됩니다.

텍스트 요소의 방향이 비어 있지 않은 경우, 이 요소의 컨텐츠(논리적 단락의 일부만일 수 있음)는 생성된 문서에서 이 특성에 따라 형식화된 텍스트의 분리된 세그먼트로 표시됩니다. 텍스트 요소가 고유 컨텍스트 방향 특성을 갖는 경우, 해당 텍스트 세그먼트의 기본 방향은 해당 컨텐츠에서 판별됩니다. 텍스트 세그먼트가 중립 문자만 포함하는 경우, 기본 텍스트 방향은 문서의 텍스트 방향 특성에 의해 정의됩니다.

목차, 테이블 목차그림 목차는 문서의 문서 방향 특성에 의해 정의됩니다. 이는 해당 레이아웃(예를 들어, 섹션 번호, 이름 및 페이지 번호의 상대 위치)만 지정합니다. 섹션의 이름에 있는 텍스트는 이러한 요소의 모든 방향에 대해 문서 본문에 나타나는 것과 동일하게 표시되어야 합니다.

테이블 캡션그림 캡션의 방향은 문서의 문서 방향 특성에 의해 정의됩니다. 이는 해당 레이아웃(예를 들어, 레이블 및 컨텐츠의 상대 위치)을 지정합니다. 각 캡션 파트의 기본 텍스트 방향은 문서의 텍스트 방향 특성에 의해 정의됩니다.

각주는 문서의 문서 방향 특성에 의해 정의됩니다. 이는 컨텐츠의 레이아웃(예를 들어, 각주 번호, 컨텐츠 및 맞추기의 상대 위치)을 지정합니다. 각주 컨텐츠의 기본 텍스트 방향은 문서의 텍스트 방향 특성에 의해 정의됩니다.

주석의 방향은 정의되지 않습니다. 해당 컨텐츠의 기본 텍스트 방향은 문서의 텍스트 방향 특성에 의해 정의됩니다.

머리글바닥글의 방향은 문서의 문서 방향 특성에 의해 정의됩니다.

서식있는 텍스트(XHTML) 처리

텍스트 요소의 컨텐츠는 XHTML 단편으로 표시될 수 있습니다. 이러한 단편은 템플리트 요소의 콜렉션으로 구문 분석되고 처리됩니다.
  • P, H1-H6 - 다양한 스타일을 가진 단락으로
  • DIV - 컨테이너로
  • TABLE - 테이블로
  • TD - 테이블 셀로
  • OL,UL - 목록으로
  • LI - 목록 항목으로

블록 레벨 HTML 요소(예: P, DIV, H1-H6, LI, TD)와 TABLE, OL 및 UL에 있는 스타일 방향 및 속성 dir의 값은 Rational Publishing Engine 형식화 특성 방향으로 인식되고 변환됩니다. 스타일과 속성이 모두 현재 HTML 요소에 대해 정의되어 있는 경우 dir의 값이 사용됩니다.현재 요소에 대한 컨텐츠 설정

블록 레벨 HTML 요소의 컨텐츠는 다양한 스타일을 가진 일련의 텍스트 요소로 처리됩니다. 스타일 방향을 갖는 HTML SPAN 요소를 사용할 수 있습니다. 이러한 SPAN 요소는 스타일 방향 특성을 갖는 텍스트 요소로 처리됩니다. (그러나 이러한 요소는 내부에 추가 마크업을 포함하지 않아야 합니다. 추가 마크업이 있는 SPAN 요소는 지원되지 않으며 예상치 않은 결과를 일으킬 수 있습니다.)


피드백