'Office Open XML'에 해당되는 글 1건

  1. 2007.09.03 OOXML은 아직... 11
개발2007. 9. 3. 00:22
OOXML의 ISO 표준 통과 여부에 대한 논쟁이 한참이다. 지금까지 내가 접한 내용들은 대부분 반대여론이었는데, 주로 기존 표준(ODF)과의 양립에 따른 혼란, 구현 가능여부에 대한 불확실함, 특허권이나 라이센스 문제 등 여러가지 이유가 있었다. 사실 나도 반대서명운동에 참여하기는 했으나, 복잡한 정황을 다 이해한 것은 아니고, 단지 그들의 표준안이 기술적으로 불만스럽기 때문이었다.

내가 개발에 참여하고 있는 ThinkFree Office는 MS Office와의 호환성이 핵심 과제이기 때문에 OOXML 지원은 필수요소라고 할 수 있다. 언젠가 ODF도 지원을 하겠지만, 그보다는 OOXML이 우선이었다. 그런 정책 덕분에 현재 ThinkFree Office는 WordprocessingML 읽고 쓰기가 지원이 되고 있고, SpreadsheetML과 PresentationML도 조만간 지원이 될 예정이다. 사실 OOXML 지원 업무에 많은 관여를 한 것은 아니지만, 일부 파트를 담당하면서 OOXML 스펙 문서(download)를 끼고 살다시피 했는데, 이 스펙 문서는 뭐랄까, 반쪽짜리 문서라는 느낌이 들었다. 얼핏 봐서는 모두 공개하는 것처럼 보이지만, 그렇지 않은 경우가 많다. 실제 이 스펙만 보고 문서를 정확하게 표현하는 것은 불가능하다. 몇가지 예를 들어보면 다음과 같다.

- 5.1.11.18 prstGeom(Preset Geometry), DrawingML-Main (p.3672)
Preset shape의 경우 '<a:prstGeom prst="heart"></a:prstGeom>"처럼 해당 shape의 preset name만 문서에 기록되며, path 정보가 없기 때문에, 해당 path를 알고 있는 MS Office만이 preset shape을 정확하게 표현할 수 있다.

- 5.1.11.11 gd(Shape Guide), DrawingML-Main (p.3660)
Shape path를 결정짓는 변수인 adjust value의 경우, shape guide로 그 값이 기록되는데, coordinate space가 정의되어 있지 않아 그 값의 의미를 파악할 수가 없다. 역시 MS Office만이 정확한 coordinate space를 알고 있다.

- 4.6.7 attrName(Attribute Name), PresentationML-Animation (p.3080)
애니메이션의 경우 특정 개체의 속성을 시간에 따라 변화시켜줘야 하는데, 그 속성이름을 attrName element에 기록한다. 그런데 실제로 PowerPoint 2007로 pptx 문서를 만들어보면 'style.color', 'style.rotation' 등 스펙에 정의된 이름 말고도 'fillcolor', 'r' 등 그네들만이 사용하는 이름이 문서에 기록된다. 심지어는 특정 vendor를 지칭하는 속성 이름들('ppt_x' 등)도 버젓이 기록된다. 만약 스펙에 근거한 개발을 한다면, 저런 속성 이름들은 처리가 불가능해진다.

- 4.6.92 val(Value), PresentationML-Animation (p.3158)
attrName과 마찬가지로 '0-#ppt_y/2'와 같은 말도 안되는 변수를 수식에 넣고 있다.

위의 예처럼 OOXML 스펙은, XSD를 통해 data type의 제한 정도만 정의하고 실제 data가 가지는 의미가 불확실한 부분들이 다수 존재한다. 이런 식으로 일부 문서 정보의 의미를 공유하지 않으면서 마치 모두 공개하는 양, 이름까지 Office Open XML이라고 지은 그네들은 정말... 가증스럽다. 만약 이런 상태의 스펙으로 OOXML이 전자 문서의 표준이 된다면, 그 스펙에 공개되지 않은 세세한 내용들까지 100% 지원해주는 Office 툴은 MS Office가 유일할테고, 결국 사용자 입장에서는 조금 비싸더라도 문서를 정확하게 표현해줄 수 있는 MS Office를 선호하게 될 것이다.

개인적인 생각으로는 OOXML은 표준으로 승격되기에 아직 무리가 있다. 다른 문제 다 제쳐두고 일단 스펙 자체가 불만스럽다. 이미 표준으로 확정된 ODF는 직접 다뤄본 적이 없어서 모르겠는데, 역시 부족한 접이 많다고 들었다. 바램이 있다면, 아직 문서표준을 확정짓지 말고, 어떤게 더 나은가 충분한 시간동안 검증을 한 다음에 표준을 정했으면 좋겠다. OOXML이건 ODF건 아직 나온지 몇년 되지도 않았는데, 벌써부터 표준으로 받아들이면 어쩌자는 건지...

Posted by roguebean