본문 바로가기
Single Sourcing/DITA

OAXAL: Open Architecture for XML Authoring and Localization

by N.ex.T™ 2009. 8. 4.

OAXAL: Open Architecture for XML Authoring and Localization

by Andrzej Zydron February 21, 2007


XML은 기술문서 저작의 최상의 포맷으로 인정되고 있다. 호환성, 확장성, 프레젠테이션과 컨텐츠의 분리, 다양한 형식에 대한 출판 지원 등의 강력한 기능을 고려할 때 XML의 선택은 자연스러운 것처럼 보인다. 게다가, XML 솔루션 값이 점점 내려가고 있다. 하지만 XML을 사용할 때 Coping with Babel에서 언급한 것처럼, 해야 할 것과 반드시 하지 말아야 할 요소들이 있다.

XML은 확장성과 엄격한 문법을 이용하여 다른 시스템과 조직 간의 이종 정보를 교환 할 수 있게 함으로서 기존 정보의 전환, 재구성, 재활용을 가능하게 한다.
출판과 번역에 대해서도 OAXAL 이라고 하는 문서 자산과 번역자산을 재활용 하는 방법이 생겼다.

OAXAL
은 아래와 같은 핵심 XML 관련 표준의 장점을 이용한다.

DITA (Darwin Information Typing Architecture from OASIS)
xml:tm (XML-based text memory from LISA OSCAR)


DITA
는 객체 지향 개념을 문서 구조에 접목한 여러모로 많은 부분이 고려된 방법이다. XML vocabulary를 통해 출판과정에 재사용과 모듈레이션 방법을 제공하고 있습니다. 이를 통해 도큐먼트 출판 산업에 큰 힘을 발휘하고 있다.

xml:tm은 OAXAL환경의 로컬라이즈 부분을 담당하는 또 다른 표준이다. OAXAL을 이용하여 도큐먼트 생성과 로컬라이즈를 위한 통합된 환경을 구축할 수 있다.

Figure 1. Object 1

W3C ITS XML 문서 형식에 따라 번역성에 대한 규칙을 정의하는 XML vocabulary다. 즉, 어떤 엘러먼트가 번역 가능한 텍스트를 가지고 있는지, 어느 엘리먼트가 인라인인지를 구분한다. 그렇게 함으로서 세그먼트 규칙과 서브 플로우, 그리고 번역해야 할 속성(Attribute)등이 명확해진다

Unicode TR29
는 단어와 문장의 경계를 구분하기 위한 유니코드 규격의 일부이다.

SRX (Segmentation Rules eXchange)
은 언어별 세그멘테이션 규칙을 정의하기 위한 vocabulary다.

GMX (Global Information Management Metrics Exchange)
는 LISA에서 발표한 신규 규격으로서 단어, 문자의 카운트 뿐 아니라 카운트 기준 정보를 호환시키기 위한 규격이다. 이는 복잡도와 품질에 관한 세가지 규격 중 하나이다.

XLIFF (XML Localization Interchange File Format)
는 OASIS에서 제정한 XML vocabulary로 된 로컬리제이션 데이터 교환 포맷이다.

TMX (Translation Memory eXchange)
는 LISA OSCAR에서 제정한 번역 메모리 교환 규격이다.

DITA
OASIS
DITA (Darwin Information Typing Architecture) 는 저작에 관련된 XML 규격 중에 최근 뜨고 있는 것이다. 인기 있는 이유는 아래와 같다:

여러 기술 문서의 출판과 저작에 대해서 여러모로 잘 고려되어 있다.
컨포넌트 기반의 출판 시스템을 가능케 하므로 관련 비용을 실질적으로 절감 시킬 수 있다.

DITA의 최초 설계자들은 기술 문서 저작에 대한 실무를 잘 파악하고 있고, 토픽 기반의 저작 방법이 기술 문서를 저작하는 최고의 방법이라는 결론을 내렸다. 챕터의 세트로 저작 하는 것 보다는 토픽으로 분해해서
저술하고 이를 조합하는 방법이 더 유용하다는 것을 알게 되었다. 이것은 저자들이 서로를 방해하지 않고 자신의 토픽에 집중할 수 있다는 것을 의미한다. 또 토픽은 다른 목적의 문서에 재사용 될 수 있다. DITA는 도움말과 같은 웹 기반 또는 여러 형식의 전자문서를 저작하는데 아주 유용한 방법이다. DITA의 주요 핵심은 세분화재활용이다.
Figure 2. Topics


DITA라는 빌트인 컴포넌트 모델은
"한번 쓰고, 한번 번역하고, 여러 번 사용한다"라는 쉬운 개념을 제공한다. 자동차 산업의 경우에서 이런 경우를 많이 찾아 볼 수 있다. 자동차는 특히 많은 모델에 많은 컴포넌트가 재활용되는 경우이다.
 각 모듈의 가용성이 높아지고 비용이 절감된다. 엔진 종류에 따라 실린더를 분해하는 과정과 같은 독립적인 운용방법에 대한 DITA 도큐먼트는 같은 엔진을 사용하는 다른 모델에 그대로 적용될 수 있는 부분이다.

DITA는 그 자체가 확장 될 수 있는 구조로 만들어졌다. 최초 DITA 설계자는 토픽은 서로 다른 포맷을 가질 수 있다는 것과 모든 토픽이 같지 않다는 것을 파악했고, 그래서 사용자가 각 토픽을
세분화 할 수 있는 확장 기법을 DITA에 포함 시켰다. 일반적으로 표준 DITA의 토픽은 아래의 3가지 형태가 있다.

Reference
Task

Concept


위 요소는 더 세분화 될 수 있다. Task는 Maintenance Task와 Repair Task, Disassembly Task, Assembly Task의 형식으로 DITA 확장 매커니즘을 이용하여 세분화 할 수 있다.

Figure 3. Ob ject 2


출력 또는 타이포그래픽의 관점에서 볼 때 세분화 된 것과 아닌 것은 별다른 차이점이 없어 보일지 모르겠으나 이들은 명백히 다른 엘러먼트이고 다른 속성을 가지게 된다.

Figure 4. Inheritance


DITA
는 기술 도큐먼트에 대해서 이미 준비된 툴 키트를 제공하므로 이를 도입하는데 비용이 많이 들지 않는다. DITA Open Toolkit - SourceForge 사이트에서 이미 복잡한 구조의 웹, 또는 다른 매뉴얼 또는 책의 구조를 출판할 수 있는 툴 키트를 무료로 배포하고 있다.


DITA는 각 토픽을 모아 퍼블리케이션 하기 위해 bookmap 개념을 사용한다. Bookmap은 사용자가 어떤 토픽을 퍼블리케이션에 넣을 지를 결정할 수 있게 해 준다.

Figure 5. Bookmap


DITA는 모델명과 같은 아이템을 이용한 환경 설정으로 조건부 처리(conditional processing)를 하기 위한 강력한 매커니즘을 가지고 있다. 아래는 어떻게 조건부 처리가 사용되는지에 대한 예이다.

<p audience="administrator">Set the configuration options for administrators:
  <ul>
    <li product="extendedprod">Set foo to bar for extended product support</li>
    <li product="basicprod extendedprod">Set your blink rate for basic and extended products</li>
    <li>Do some other stuff just for administrators</li>
    <li platform="unix">Do a special thing on Unix systems</li>
  </ul>
</p>


DITA에서는 엘러먼트의 속성 값에 따라 조건부 처리가 가능하다. 위의 에서 속성 "audience" "administrator" 값을 가지면 엘러먼트만 출력될 것이다. 마찬가지로 속성 "product" "platform" 역시 해당 값을 가지면 이 출력될 것이다.

DITA의 또 다른 장점은 이미 XML 스키마가 정해져 있다는 것이다. 이는 예전처럼 자신의 스키마를 가지기 위해서 컨설팅과 개발의 전문가를 고용하는데 많은 돈을 쓸 필요가 없다는 것을 의미한다. DITA는 저작과 출판에 사용될 수 있는 이미 만들어진 일반XML 환경을 제공한다. DITA 오픈 소스 툴키트는 HTML, PDF, RTF 뿐 아니라 다양한 다른 유틸리티에 대한
예를 제공한다.

 또 다른 장점 중에 하나는 DITA를 지원하는 XML 에디터와 CMS가 출시되고 있다는 것이다. 이들의 기능은 간단해졌으며 가격은 저렴해졌다. 개발, 교육, 실행에 대한 리소스 역시 많이 늘고 있기때문에 DITA의 도입이 점점 쉬워지고 저렴해 지고 있다.

만약 지금 사용하고 있는 도큐먼트가 Topic, Task와 같이 객체지향적으로 구성되어 있다면 DITA의 엘러먼트와 mapping하는 방식으로 간단하게 DITA로 플랫폼을 옮길 수 있다. DITA의 세분화 기능을 이용하여 현재 사용하고 있는 엘러먼트와 속성으로 DITA를 구성할 수도 있을 수 있다. 만약 현재 도큐멘트가 DITA가 지원하는 CALS 테이블 모델을사용한다면 훨씬 더 쉬워질 것이다.

DITA는 기술 문서를 위한 것 만은 아니다. eLearning이나 보증서 또는 업무 공시 간행물 같은 출판물에도 적용할 수 있다.

장점도 있지만 고려해야 할 사항도 있다. DITA는 간과할 수 없는 아래와 같은 주요한 이슈를 가지고 있다.

엘러먼트 네스팅. 불행히도 DITA는 거의 모든 엘러먼트가 다른 엘러먼트에서 사용될 수 있는 HTML과 같은 원리를 따르고 있다. 이것은 출판과 번역에 심각한 문제를 야기할 수 있다. 세그멘테이션이 불완전 할 수 있고, 타이포그래피가 이상하게 보일 수 있다.

텍스트 내에 많은
인라인 엘러먼트가 포함될 수 있다. 그래서 저작과 번역 모두 동일한 형식으로 한정되지 않고 다양하게 표현 될 수 있다는 단점이 있다.

조건부 텍스트에 대한 링크 매커니즘
이 로컬리제이션에서 문제를 야기할 수 있다.

토픽 기반 출판은
컨텐츠 관리 시스템 이 있어야 한다. 특히 다른 언어로 번역을 할 경우에는 더욱 필요하다. 그렇지 않으면 다른 언어 버전과 동기화 하기가 매우 복접하다.


XML-based Text Memory—xml:tm

X
ml:tm은 LISA에서 발표한 신규 표준이다. 이는 DITA와 직접 호환된다. DITA의 재활용 원리를 이용하여 이를 문장 수준에서 적용하였다. DITA와는 별도의 과정 없이 통합된다.

전통적인 TM이 문서의 라이프 사이클 중에 번역에 대한 부분에만 집중되어 있다고 하면 xml:tm은 프로세스에 좀 더 깊이 관여하여 텍스트 메모리라는 컨셉을 구체화 하고 있다. 문서 내에 각 문장은 고유 식
별자를 가지게 됩니다. 이 식별자는 문서가 사라지기 전까지 남아 있다. Xml:tm은 XML 네임스페이스 메커니즘을 이용하여 데이터를 축적하게 된다.

xml:tm은 두개의 핵심 개념으로 구성됩니다:


저작 메모리

번역 메모리

그림 6은 어떻게 xml:tm 네임스페이스가 XML 문서 내에 공존하는 지를 보여준다.

Figure 6. xml:tm tree

XML 네임스페이스는 텍스트 메모리를 문서와 매핑하기 위해 사용된다. 이 과정을 세그멘테이션이라고 한다. 텍스트 메모리를 문장단위로 세분화 시키게 되는데 이를 텍스트 유닛이라고 한다. 각각의 xml:tm 텍스트 유닛은 고유 식별자를 갖는다. 이 고유 식별자는 문서가 없어지기 전까지는 변하지 않는다. 문서가 그 라이프사이클에 맞춰 흘러가도 식별자는 변하지 않고, 문서가 신규로 생성되면 식별자가 새로 생성된다. 이 상태의 텍스트 메모리를 저작 메모리(Author Memory)라고 한다. 이를 이용하여 저작 단계에서 문서의 일관성과 스타일을 단순화 시키는 저작 메모리 시스템을 구성할 수 있다. Xml:tm에 대한 자세한 내용은 xml.com에서 찾아 볼 수 있다.

xml
:tm를 사용하면 기존의 번역 공정을 개선할 수 있다. 문서의 각 텍스트 유닛은 고유 식별자를 가지게 된다. 번역을 하게 되면 번역된 버전은 동일한 식별자를 가지게 된다. 즉, 원문과 번역문이 텍스트 유닛 레벨에서 얼라인되게 된다. 그림 7은 완전 매칭이 어떻게 이뤄지는지를 설명하고 있다.
Figure 7. Matching

xml :tm 용어에서 이 완전 매칭을 ICE(context exact )이라고 한다. xml :tm의 컨셉은 대규모 기술 문서 어플리케이션에 성공적으로 입증되었다.

xml:tm은 저작에 사용될 수 있도록 이전에 쓰여진 문장을 식별하고 저장하는 방법을 제공한다. 이 데이터는 색인이 가능하고 저작 툴에 포함되어 저작자가 기존에 쓴 문장을 재활용할 수 있도록 해
준다.
Figure 8. Author Memory


키워드 검색을 통해서 적절한 문장을 찾을 수 있다. 만약 문장이 이미 사용되었다면, 그것은 이미 번역되어 있을 수도 있다. 즉 메모리에 있을 것이고, 이를 매칭해서 사용할 수 있으므로 번역 비용이 절감되는 효과가 있다.


DITA and xml:tm

DITA와 xml:tm은 완전히 통합된다. DITA는 토픽 수준에서 문서를 재활용하고 xml:tm은
문장 수준에서 재활용 할 수 있게 한다. xml:tm 네임스페이스는 DITA 문서에서 완전히 재활용된다. 문서의 라이프사이클에 따라 각 텍스트 유닛의 고유 식별자는 유지된다. 그렇기 때문에 xml:tm은 문서의 변경 추적을 가능하게 한다. 이를 구현하기 가장 간단한 방법이 CMS(Content Management System)이다. DITA를 사용한다는 것은 적절한 CMS에 투자하는 것을 의미한다.

DITA를 기반으로 한 OAXAL 문서 라이프사이클은 아래와 같다.

편집할 문서를 체크 아웃. xml:tm 네임스페이스가 있는지를 확인, 없다면 별도의 인스턴스 필요 없음

저작하는 동안, 라이터는 번역 메모리 데이터베이스에 있는 저작 메모리를 사용할 수 있다.

문서를 체크인, 기존의 버전과 비교하여 xml:tm을 업데이트하고 식별자를 변경
한다. 신규 텍스트 유닛의 경우 식별자를 추가한다.

번역할 문서를 체크 아웃,
이전의 원문, 번역문을 체크아웃하고 xml:tm을 완전 매칭 실시, 남은 부분은 번역 메모리 매칭, 매칭 결과를 XLIFF 파일과 DITA 파일로 내보냄

문서를 체크인, Xliff 파일에서 번역된 부분을 통하여 번역문서를 생성, 신규로 번역된 텍스트를 번역 메모리에 추가.


Xml:tm 네임스페이스는 아주 단순한 기술만으로도 편집, 프린트, 변환시킬 수 있다.

xml:tm and the Other Open Standards
OAXAL에서 xml:tm은 중추적인 역할을 한다. 이를 중심으로 모든 다른 관련된 규격들이 멋진 하나의 아키텍처로 구성되고 있다.


Figure 9. xml:tm


xml :tm은 어떤 엘러먼트가 번역할 텍스트를 가지고 있고, 어떤 엘러먼트가 인라인이며, 어떤 엘러먼트에서 세그먼트를 해야 하고 어떤 속성을 번역해야 하는가에 대한 것은 W3C ITS의 정의를 따른다. xml:tm은 DITA 문서로 네임스페이스를 시딩(seeding) 할 때 W3C ITS 문서 규칙을 사용한다.

X
ml:tm은 텍스트를 워드로 토큰화하기 위해 Unicode TR29를 권고한다. 이는 워드, 캐릭터 카운트와 세그멘테이션을 위한 전제 조건이다.

X
ml:tml은 LISA OSCAR SRX 세그멘테이션 규칙을 이용하여 세그멘테이션 한다. Heartsome, XML-INTL의 지원 아래 LISA OSCAR는 SRX 규칙을 해당 언어에 대해 적용했다.

X
ml:tm은 LISA OSCAR의 GMX를 이용하여 캐릭터, 워드 카운팅과 편집, 번역 물량 산출의 표준으로 삼는다.

X
ml:tm은 OASIS XLIFF 규격을 이용하여 실제 번역 프로세스에 필요한 내용을 추출한다. 문서는 효과적인 번역 텍스트 추출을 위해서 xml:tm 네임스페이스를 시딩하게 된다. XLIFF를 사용하면 번역가들이 공개 표준인 XLIFF를 지원하는 많은 프로그램을 골라서 사용할 수 있다.

X
ml:tm을 사용하면 LISA OSCAR의 TMX를 간단히 생성해 낼 수 있다. 즉, 번역 서비스 제공자와 고객 사이에 메모리 교환이더원활해 진다. TMX는 번역 메모리에 대한 표준으로서 특정 벤더 또는 사용자가 독점적으로 TM 포맷을 사용하는 것을 방지한다.


The Benefits of OAXAL
저작의 관점에서 OAXAL은 다음과 같은 장점을 가진다.


DITA는 저작 프로세스, 시스템을 도입하는데 비용을 대폭 절감 시킬 수 있는 훌륭한 프레임워크를 제공한다.

다수의 저작자가 동시에 다른 토픽을 저작할 수 있기 때문에 생산, 배포 시간을 단축 한다.

각 토픽은 다수, 다종의 출판물에 재활용 될 수 있다.

Xml:tm 저작 메모리를 통해 문장 수준에서 재활용 할 수 있다.

저작자는 일관성에 대한 장점을 가진다. 검색 결과에 있는 문장을 더 자주 사용하게 된다. 여러 명의 저자를 하나의 프로젝트에 편성할 수 있게 된다.

문장이 재사용된다는 것은, 이미 다른 언어에 대해 번역 메모리에 입력되어 있다는 것을 의미한다. 즉 번역 비용이 절감될 수 있다는 것을 의미한다.


Figure 10. DITA benefits


번역의 관점에서 볼 때 OAXAL은 다음과 같은 장점을 가진다.

토픽이 한 번 번역되었다면, 오래도록 소스 문서가 변경되지 않는 한 여러번 재활용할 수 있다.

이렇게 토픽을 세분화 하면 번역을 위해서 완성된 퍼블리케이션이 되기까지 기다리지 않아도 된다. 이미 개개의 토픽은 각각 별도로 로컬라이즈 할 수 있는 상태다.

xml:tm으로 TM의 적용 영역과 효과가 늘어나는 장점이 있다.

Xml:tm은 ICE 매칭이 가능하다. 완전 일치는 감수의 필요가 없음을 의미한다.

Xml:tm 문서 구조는 레버리지와 퍼지 매칭에 더 많이 집중할 수 있게 한다:

문서내 레버리지 매칭: xml:tm은 문서 내에서 일치하는 문장 매칭을 가능하게 한다. 매칭은 같은 문서내에 있을 지라도 더 높은 순위를 같게 된다.

문서내 퍼지 매칭: xml:tm으로 문장의 수정된 부분을 찾아 낸다. 이는 데이터베이스 레버리지 매칭보다는 더 높은 순위를 같게 된다.

데이터베이스 소스 레버리지 매칭: 기존의 번역 메모리를 통해서 매칭된 부분이다.

번역 안 할 텍스트: xml:tm은 번역 안 할 텍스트에 대한 플레그 처리를 할 수 있어 다른 CAT에서 쉽게 처리할 수 있도록 되어 있다.

그림 11은 xml:tm을 통한 여러 가지의 번역 메모리 매치가 가능한 것을 나타낸다.
Figure 11. xml:tm focused matching


OAXAL이 번역 프로세스에서 주는 가장 큰 장점은 기존에 수동으로 처리했던 부분을 자동화 한다는 것이다. 그림 12는 로컬리제이션에서 사용하는 전통적인 접근 방법을 도식화 한 것이다.

Figure 12. Traditional translation process


위와 같은 프로세스는 비용에 효율적이지 못하다. 모든 붉은색 화살표는 잠재적으로 프로세스가 끊길 수 있다는 것을 표시한다. 위와같은 프로세스는 관리에 많은 공수가 투여될 뿐 아니라 수동으로 해야하는 복잡한 단계들이 존재한다. 프로세스에서 발생하는 비용은 그림 13과 같다.

Figure 13. Traditional translation process financial model


OAXAL의 모델은 1/3 정도로 단축된다. 비용은 그림 14에서 처럼 거의 절반 정도로 줄게 된다.

Figure 14. OAXAL-based translation process


OAXAL 모델은 번역가에게 매치 파일을 전달하는 단계까지 모든 프로세스를 자동화한다. 자동화는 프로젝트 관리와 수동으로 처리해야하는프로세스의 비용과 관련된다. 데이터는 보다 빠르고, 보다 효율적으로 처리되고 추가적인 비용없이 기존의 로컬라이즈 프로세스와 잘 조합된다.


원본 출처 : http://www.xml.com/pub/a/2007/02/21/oaxal-open-architecture-for-xml-authoring-and-localization.html

번역본 출처 : http://hardtype.co.kr/entry/oaxal-1

** 일부 누락된 내용의 추가와 매끄럽지 않은 부분의 감수가 있었습니다. **