Capítol 4. Selecció i instal·lació de les ferramentes.

Sumari

4.1. Les ferramentes de transformació.
4.1.1. L'esquema DocBook.
4.1.2. Les fulles d'estil.
4.1.3. Seleccionar els processadors XSLT i XSL:FO.
4.2. Instal·lar el software necessari.
4.2.1. Instal·lar l'esquema DTD de DocBook.
4.2.2. Instal·lar les fulles d'estil XSLT.
4.2.3. Instal·lar el processador XSLT.
4.2.4. Instal·lar el processaodr XSL:FO Fop.
4.3. Transformant DocBook
4.3.1. Validar el document DocBook.
4.3.2. Transformant a codi HTML.

4.1. Les ferramentes de transformació.

En aquesta secció s'explica com instal·lar el software necessari per a la transformació. També s'indica la URL d'on es pot baixar el software. Les versions utilitzades en aquest projecte també estan al CD que acompanya la memòria, en la carpeta /programari.

Ara que coneixem tots els elements que calen per a publicar un document DocBook, cal escollir les ferramentes necessàries:

  • L'esquema DocBook.

  • Les fulles d'estil XSLT per a DocBook.

  • El processador XSLT.

  • El processador XSL:FO.

4.1.1. L'esquema DocBook.

Com que el processador XSLT accedeix a l'esquema associat al document XML a transformar, podem fer més ràpid aquest procés si tenim una còpia local d'aquest esquema. De la web de OASIS podem baixar la última versió en http://www.oasis-open.org/docbook/xml/ . En aquest projecte hem utilitzat la versió 4.5 en format DTD.

4.1.2. Les fulles d'estil.

Per a transformar DocBook existeix un conjunt de fulles d'estil desenvolupades per Norman Walsh que compleixen amb la recomanació XSLT 1.0 del W3C i transformen DocBook a multitud de formats, entre ells HTML i XSL:FO. Norman Walsh és membre de W3C als grups de treball de Models de Procés XML i al de l'estándar XML, també és membre del Comité Tècnic de DocBook a OASIS i autor del llibre DocBook: The Definitive Guide [NWal] que és la documentació oficial de DocBook.

Tant les fulles d'estil com la documentació es poden baixar a http://sourceforge.net/projects/docbook/ i estan a la carpeta /programari del CD que acompanya la memòria.

Les fulles d'estil de Norman Walsh presenten una sèrie de ventages que faciliten el seu ús (vore [DDXS]):

  • Disseny modular: el codi és molt extens i està dividit en diversos arxius i plantilles de manera que resulta fàcil localitzar la part de les fulles d'estil que s'encarrega de transformar un determinat element de DocBook. Facilita la modificació.

  • Suport complet per a DocBook.

  • Estándar XSLT 1.0: poden ser utilitzades per qualsevol processador XSLT que compleixca aquest estándar i en qualsevol plataforma.

  • Parametritzables: El seu comportament està definit per multitud de paràmetres que fan que el resultat de la transformació es puga adaptar quasi per a qualsevol necessitat. Una referència completa de tots els paràmetres, tant per a HTML com per a XSL:FO es pot trobar en la documentació de les fulles d'estil que es pot vore en línia a http://docbook.sourceforge.net/release/xsl/current/doc/

  • Accessibilitat: Han estat dissenyades tenint en compte les directrius d'accessibilitat definides pel W3C. Hi han molts paràmetres que ajuden a generar un codi accessible, encara que com es vorà després s'han de modificar algunes coses.

  • Suport per a la internacionalització: Segons el llenguatge en que està escrit el document a transformar (s'especifica amb l'atribut lang que admiteixen moltes de les etiquetes de DocBook) té suport per a moltes llengües, entre elles el castellà i el català, posant en l'idioma escollit el text que puguen generar, com ara els enllaços per a la navegació (Següent, Anterior, Inici...) que es generen el l'HTML.

Les fulles d'estil es distribueixen comprimides en un fitxer que conté una sèrie de carpetes, cadascuna amb les fulles d'estil per a transformar a un determinat format. Les que utilitzarem en aquest projecte són la carpeta /html que conté les fulles d'estil per a transformar a HTML, en un sol fitxer tenim l'arxiu docbook.xsl i per a dividir-lo en vàris fitxers HTML navegables utilitzarem l'arxiu chunk.xsl, a la carpteta /fo estan les fulles d'estil per a transformar a XSL:FO, l'arxiu principal és docbook.xsl.

4.1.3. Seleccionar els processadors XSLT i XSL:FO.

Existeixen molts processadors al mercat, i cada dia més, pel que s'ha d'establir una série de requisits per reunir una llista de possibles candidats. Les principals característiques que ha de reunir processador XSLT o XSL:FO:

  • Que siga de codi obert i gratuït.

  • Que siga independent de la plataforma. Principalment aquells escrits en llenguatge Java.

  • Que compleixca per complet amb l'estándar XSLT 1.0 o XSL 1.0 (XSL-FO). La majoria compleixen amb l'estándar XSLT 1.0 però la recomanació per a XSL va tardar més en publicar-se i ha sofert alguns canvis, publicant a febrer del 2006 la versió 1.1.

  • Que tinguen suport. Amb una bona documentació i un ampli ús per la comunitat, sempre serà útil per a resoldre els problemes que puguen sortir.

  • Suport de la majoria de API's: SAX, DOM i JAXP.

En les següents direccions podem trobar un llistat de software relacionat amb els llenguatges XSL i XSLT: Web del W3C sobre la tecnologia XSL i XSLT i web de recursos sobre llenguatges de marques de OASIS.

D'entre totes les opcions els processadors XSLT que més s'adecuen als requisits són:

  • Saxon: processador XSLT desenvolupat per Michael Kay, podem trobar tota la informació a la web del projecte Saxon. Existeix una versió per a l'estándar XSLT 2.0 i una altra per a la XSLT 1.0 que actualment està en la versió 6.5.3. Les principals característiques són:.

    • Implementa la versió 1.0 de les recomanacions W3C XSLT i XPath i algunes de les noves característiques de la versió 1.1 de XSLT.

    • Piones en l'ús d'extensions EXSLT, una iniciativa per a definir un conjunt estàndard de funcions i elements per al seu ús amb el processadors XSLT

    • Escrit en llenguatge Java pel que és necessari tindre instalat una màquina virtual Java per a fer funcionar el processador.

    • Implementa les API SAX2, DOM Level 2 i JAXP 1.1

    • Inclou una versió millorada de l'analitzador o parser Ælfred, però es pot utilitzar amb qualsevol analitzador que compleixca alguna de les API que soporta, com per exemple l'analitzador Xerces .

    • L'autor, Michael Kay és membre del W3C i editor de la especificació XSLT en la seva versió 2.0.

  • Xalan: processador XSLT desenvolupat per Apache Xalan Projcet. Disposa de versió en Java i en C++. Les principals característiques són:

    • Implementa la versió 1.0 de les recomanacions W3C XSLT i XPath.

    • Implementa les API SAX2, DOM Level 3 i JAXP 1.3

    • Inclou l'analitzador Xerces .

    • Implementa gran nombre d'extensions.

  • XT: processador XSLT desenvolupat per James Clark, es pot baixar de la seva web http://www.blnz.com/xt/index.html. Està escrit en Java i incorpora un analitzador. Va ser el primer processador en implementar per complet l'estándar XSLT 1.0 però no ofereix tantes ventajes com Saxon o Xalan.

Com que l'estándar XSL:FO va eixir dos anys després del XSLT, i és molt més gran i complicat hi han pocs processadors que implementen per complet l'estándar. Dels processadors de codi obert que hi han, el que pareix ser que està més desenvolupat i amb més suport és FOP, de l' Apache XML Project.