최근처럼 XML이 각광을 받는 적은 없는 것 같습니다. 이후 모든 구조적 데이터 형태가 XML의 형태를 따르지 않을까... 생각될 정도입니다. 하지만 다른 모든 기술이 그렇듯(단독으로는 효용이 크지 않는) XML은 단순히 구조적으로 데이터를 표현하는 기술 중에 하나일 뿐입니다. 이 책은 XML 데이터를 원하는 형태로 변환시키는 XSLT(Extensible Stylesheet Transformations)를 자세히 설명하여 XML의 가능성을 더욱더 높여 주고 있습니다.
이 책의 저자 더그 티드웰은 오랫동안 IBM의 프로그래머였고 우연인지는 모르겠지만 『XSLT』는
IBM Certification 141 XML Exam을 보기 위한 3가지 공식추천 교재 중 한 권으로 포함되어 있습니다. 그만큼 XSLT 분야에 있어서는 이 책 만한 것이 없다라는 뜻일 겁니다.
실제 이 책을 보면 XSLT의 모든 내용을 자세하게 담았습니다. 원서의 제목은 『XSLT』인데 반해 국내서의 제목은 『소스코드로 배우는 XSLT』 입니다. 처음 몇 개의 챕터를 보면서 다른 책에 비해 소스가 더 많은 것도 아닌데? 라고 생각하며 의아한 마음을 품었습니다. 하지만 부록을 펴는 순간 마음이 놓이더군요. 4개의 구성을 가진 부록은 책 구성의 반을 차지하고 있습니다.
다른 책과 비슷한 레퍼런스의 일반적인 나열이 아닌 모든 요소에 대해서 철저한 설명과 풍부한 예제가 있습니다. 보통 책의 레퍼런스 부분은 API에 대한 설명은 자세히 나와있긴 하지만 이 책처럼 하나의 요소(기능)마다 각 예제를 둔다는 것은 쉽지 않습니다. 이렇게 든든한 부록 때문에 책의 본문에서 부족한 부분을 더욱 보완해 주고 있습니다.
사실 1장부터 9장에 이르는 내용들 중 약간은 부연설명이 더 필요하다 싶은 곳이 많습니다. 이런 부족한 부분을 부록에서 충분히 채워주고 있습니다. 실제로 3장 XPath를 읽으면서 범위에 비해 내용 설명이 부실한 것이 아닌가 라고 생각했지만 부록 XPath에서 노드, 축, 연산자, 함수 등 너무나 자세하게 설명을 하고 있습니다. 다만 XPath의 경우 XSLT의 구성요소 이기 때문에 예제가 분리되어 나오진 않습니다. 또한 쉽게 실수 할 수 있는 부분을 저자는 부록을 할애하여 팁으로 구성해 놓았습니다. 예를 들어 속성 값 안에 따옴표를 넣으려면? if문, for문은 어떻게 구성할까? 라는 식입니다. 마지막으로 용어 정리 부록을 통해서 책 전반에서 사용되고 있는 용어들을 명확히 정리하고 있습니다. 정말 뜻하지 않게 마음에 드는 부분 이였습니다.
좀더 자세히 살펴보면 1장~2장은 XML의 기본개념과 XSLT의 구조를 간단한 예(정말 많이도 나오는 Hello World 예제)를 들어 설명하고 있습니다. 3장은 XPath에 관한 내용입니다. 앞서 말했지만 부록에서 많은 부분을 보충해 주고 있습니다. 4장~7장까지는 XSLT의 실제적 사용 방법(분기요소, 제어요소, id(), key(), 정렬, document() 함수 등)을 다루고 있으며 이 또한 부록에서 부족한 부분을 보완해 주고 있습니다. 8장은 XSLT의 기능을 좀더 확장하기 위한 함수라던가 몇 가지 예제를 통해서 JPEG파일을 생성하거나 데이터 베이스 연결과 같은 내용을 다루고 있습니다. SQL 문과 JScript의 내용이 포함되어 약간 복잡했습니다.
마지막 9장에서는 1장부터 8장까지의 모든 내용을 포함하는 사례연구를 설명하고 있습니다. 보통 Wrox책들이 사례연구로 책을 끝을 맺곤 합니다만 한빛 책에서는 처음 봤습니다.
하지만 Wrox와는 약간 달리 실제 사용되고 있는 내용을 설명함으로서 가상의 사례연구 보다는 좀더 실무적인 내용으로 접근했습니다. 실제로 사례 연구에 사용된 툴을 가지고 IBM의 많은 튜토리얼 페이지를 만들었다고 합니다. 내용이 쉬운 편은 아니지만 9장을 차근차근 이해해 나가면 이전 내용들의 완벽한 복습이 되고 있습니다.
마지막으로 필수적인 것은 아니지만 XML DTD, 스키마에 대한 이해가 약간 필요합니다. 물론 이 책을 읽을 정도면 DTD, 스키마는 아실 듯 싶습니다. 또한 이 책은 XSLT 엔진으로서 Xalan을 선택하였고 주된 설명이 이루어지기는 하지만 8장 곳곳에서 다른 툴도 다루고 있습니다. 저 같은 경우에는 XSLT의 약간의 지식만 있었고 도대체 XSLT가 어떻게 유용하게 쓰일 수 있을까? 란 생각을 가지고 있었습니다. 다른 책에 비해(그다지 많은 책을 보지는 못했지만)
이 책은 XSLT가 어떻게 실무에서 사용되는가에 대해 이해를 돕는 목적을 충실히 이행하고 있습니다. 번역도 매끄러운 편이며 항상 참고하기 좋게 책장에 꼽아두셔도 좋을 것 같습니다.
덧붙이는 말
빠르게 XML에 관해 이해하시고 싶다면
『XML 포켓 레퍼런스』(한빛미디어)를 추천해 드립니다. 가격도 싸고 포켓형이라 휴대하기가 간편하더군요.