Transformació de documents en format DocBook a PDF i HTML Accessible mitjançant XSL.

Boluda Soler, Adolf

Resum

Partint del format XML DocBook dissenyat per a crear tot tipus de documents, aquest projecte pretén establir un mecanisme per transformar aquest format en un document més apte per a la seva presentació: el PDF per a la impressió o visualització com a llibre electrònic i el HTML per a la seva publicació al web.

En el cas de l'HTML s'han configurat les ferramentes, i s'han fet els canvis i ajustaments necessaris en les fulles d'estil encarregades de la transformació per a que el codi generat compleixca amb les Directrius d'Accessibilitat definides pel W3C almenys en el seu nivell AA. Per a tal propòsit el codi generat ha d'estar degudament etiquetat amb els elements HTML pertinents i evitar utilitzar elements d'estil HTML, deixant el disseny i maquetació de la pàgina per a les fulles d'estil CSS.

Com a cas pràctic s'ha transformat aquesta memòria i la documentació de la plataforma de teleformació que s'utilitza actualment a la Universitat de València, dotLRN.


Sumari

1. Introducció
1.1. Justificació del projecte.
1.2. Objectius del Projecte.
1.3. Contingut de la memòria.
2. Metodologia.
3. Conceptes previs.
3.1. Llenguatges i Estàndards.
3.1.1. El llenguatge XML.
3.1.2. El llenguatge DocBook.
3.1.3. El procés de transformació.
3.1.4. La família de llenguatges XSL.
3.1.5. La publicació de documents DocBook.
3.2. El procés de transformació, una visió més a fons.
3.2.1. Transformant arbres, no documents.
3.2.2. Actors que intervenen al procés de transformació.
3.2.3. El model de publicació de DocBook.
4. Selecció i instal·lació de les ferramentes.
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.
5. Accessibilitat
5.1. L'Accessibilitat i el seu context.
5.1.1. Què és l'Accessibilitat
5.1.2. Legislació sobre Accessibilitat
5.1.3. Directrius i Normes sobre Accessibilitat
5.2. L'Accessibilitat en el procés de transformació a HTML
5.3. Validar l'accessibilitat
6. Anàlisi i modificació de les Fulles d'Estil.
6.1. Com modificar el comportament de les Fulles d'Estil
6.1.1. La capa de Personalització.
6.2. Anàlisi de les Directrius d'Accessibilitat.
6.2.1. Directriu 1
6.2.2. Directriu 2
6.2.3. Directriu 3
6.2.4. Directriu 4
6.2.5. Directriu 5
6.2.6. La resta de directrius.
7. Conclusions i treball futur.
Bibliografia.
A. Recomanació W3C sobre accessibilitat web i codi generat
A.1. Directrius per a l'accessibilitat al contingut de pàgines web, versió 1.0.
A.2. Codi XSLT de la capa de personalització.
A.3. Codi CSS.

Índex de figures

2.1. Diagrama de Gantt: planificació del projecte.
3.1. Cadena simplificada de transformació
3.2. Cadena de transformació XSLT, amb API, Parser i arbres lògics.
3.3. Transformació XSLT, amb la representació en forma d'arbre
3.4. Model de publicació de DocBook.
6.1. Exemple del Element <mediaobject>

Índex d'exemples

4.1. Catàleg XML per a mapejar les referències al DTD de DocBook
4.2. Catàleg XML per a mapejar les referències a les fulles d'estil
4.3. Sintaxi general de la utilització de Saxon a la línia de comandaments
4.4. Sintaxi general de la utilització de Xalan a la línia de comandaments
4.5. Validar un document XML amb Xalan.
4.6. Exemple de declaració DOCTYPE per a un document DocBook.
4.7. Comandament per a transformar DocBook a HTML amb Saxon i Xerces.
5.1. Ley 51/2003 - Disposición final séptima.
5.2. Ley 51/2003 - Disposición final décima.
6.1. Capa de personalització simple amb un paràmetre.
6.2. Codi DocBook accessible per a la inclusió d'una imatge
6.3. Ús de l'element <revhistory> i la seva transformació.
6.4. Ús de l'element <productionset> amb notació EBNF i la seva transformació.
6.5. Utilització de l'element <segmentedlist> i la seva transformació.
6.6. Ús de l'element <qandaset> i la seva transformació
6.7. Ús de l'element <funcsynopsis> i la seva transformació.
6.8. Modificació de la plantilla que genera la capçalera de navegació.
6.9. Modificació de la plantilla que genera el peu de navegació
6.10. Modificació de la plantilla que transforma l'element <blockquote>
6.11. Modificació de la plantilla que transforma l'element <productionset>