|
Egon Willighagen <egonw/at/linuxfocus.org> L'autore: Ha conseguito il master in chimica all'Università di Nijmegen, e sta facendo il suo dottorato di ricerca sulla rappresentazione molecolare alla stessa Università. Gioca a basket e programma applicazioni in Java. Tradotto in Italiano da: AlessandroPellizzari <alex/at/neko.it> |
Scrivere documenti con DocBook XMLPremessa:
Questo articolo descrive l'uso di Kate e del suo plugin XML come tool per la scrittura di documenti DocBook XML. |
La scrittura di documenti XML con strumenti OpenSource è stato un problema a lungo. Le persone hanno bisogno di un editor che produca codeci XML valido, e preferibilmente vorrebbero vedere direttamente l'output. Ci sono editor che possono farlo, ma sono proprietari. Nel mondo OpenSource ci sono alcuni programmi che non vi danno una bella preview grafica, ma che possono produrre documenti XML validi e che vi possono avvisare riguardo elementi non consentiti in specifiche posizioni del documento.
Naturalmente c'è Emacs con la sua modalità DocBook che funziona bene (vedi il precedente articolo su DocBook). Questa particolare modalità rende possibile scegliere elementi figli da inserire nel documento dipendentemente dagli elementi già inseriti in precedenza. E questo consente il completamento col tasto Tab in base a questa conoscenza.
Ma in questo articolo non discuterò di questo, ma piuttosto vi introdurrò Kate come editor DocBoox XML.
./configure --prefix=/path/dove/avete/installato/kde3 make sudo make install
Una volta che il plugin è installato, dovete ancora renderlo noto a Kate. Per farlo, selezionate "Configura Kate" nel menu "Impostazioni". Nel pannello dei "Plugins" potete impostare il plugin XML tra quelli da caricare:
Le Meta DTD vengono generate con il dtdparser di Normal Walsh, i cui pacchetti possono essere scaricati da SourceForge.net.
Ho usato una versione leggermente adattata della 2.0beta6. Per esempio ho dovuto correggere il path nel programma dtdparse nella prima linea per dargli la posizione esatta del mio interprete perl. Lanciando il programma dovreste ricevere un output come il seguente:
> ./dtdparse /path/a/docbookx.dtd Public ID: unknown System ID: /usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd SGML declaration: unknown, using defaults for xml and namecase Loading dbnotnx.mod Loading dbcentx.mod Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsa.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsb.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsc.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsn.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamso.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOamsr.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISObox.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOcyr1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOcyr2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOdia.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk3.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOgrk4.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOlat1.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOlat2.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOnum.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOpub.ent Loading /usr/share/sgml/entities/xml-iso-entities-8879.1986/ISOtech.ent Loading dbpoolx.mod Loading calstblx.dtd Loading dbhierx.mod Loading dbgenent.mod Parse complete. Writing docbookx.dtd.xml... Done.
Notate il grande numero di entità che vengono caricate. Questa è la parziale causa delle dimensioni delle Meta DTD generate, 1.63 Mibibytes. Ma con un processore XSLT come xsltproc possono essere ridotti fino a 0.96 MiB con il foglio di stile simplify_dtd.xsl presente nel pacchetto kde-addon:
> xsltproc simplify_dtd.xsl docbookx.dtd.xml > docbook-xml-4.1.2.dtd.xml
Il file risultante, docbook-xml-4.1.2.dtd.xml, può essere copiato in /path/a/kde3/share/apps/katexmltools/ dove /path/a deve essere cambiato con il path dove avete installato KDE 3. Ma anche la vostra dome andrà bene, visto che il plugin XML vi chiederà un nome di file quando dovrà assegnare una nuova Meta DTD (vedi sotto).
Quando iniziate un nuovo documento DocBook XML, dovete assegnargli una Meta DTD. Questo viene fatto scegliendo "Assegna Meta DTD" nel menu "XML Plugin". Apparirà una finestra per la richiesta del file da cui potrete selezionare la DTD che volete usare. In questo caso, è la Meta DTD DocBook XML 4.1.2 che abbiamo appena creato. Una nuova finestra vi mostrerà la progressione del processo:
Nel nuovo documento vuoto scriveremo "<book>". Per chiudere l'elemento premiamo F11. Se l'evidenziazione della sintassi non è ancora attiva, la potremo attivare manualmente selezionando "Modo evidenziazione" nel menu "Documento". L'evidenziazione della sintassi XML è nel sottomenu "Markup".
Abbiamo dimenticato quali attributi un elemento abbia, posizioniamo il cursore alla fine della parola book nel primo tag e premiamo Ctrl+Invio. Apparirà un popup che mostra la lista di tutti i possibili attributi per l'elemento corrente:
Posizionando il cursore tra le " e premendo Ctrl+Invio vi darà anche i possibili valori per l'attributo, se sono definiti nella DTD. Non è il caso dell'attributo id.
Dopo aver inserito gli attributi avremo questo codice DocBook XML:
<book id="QualcheID"> </book>
Posizionando il cursore tra il tag iniziale e quello finale dell'elemento book e premendo Ctrl+Invio in quella posizione avremo un'altra lista popup, ma ora con tutti i possibili elementi figli per l'elemento book. Possiamo scegliere, per esempio, l'elemento title:
Un difetto di questo plugin è che conosce solo quali sono gli elementi figli, e non l'ordine o il numero di volte che è consentito usarli. Per esempio, la DTD non consente due o tre elementi title, ma il plugin XML non avverte di questo. Dato che il plugin inoltre non ha ancora una opzione di validazione (ancora), è ancora abbastanza facile avere documenti non validi.
Un riassunto delle funzionalità del plugin viene dato nella tabella sottostante:
Funzione | Comando |
Inserire XML (elementi e attributi) | Ctrl+Return |
Inserire Entità | F10 |
Chiudere i Tag | F11 |
Il progetto KDE stesso usa DocBook come formato per la sua documentazione. Perciò il plugin XML viene fornito di default con una versione personalizzata per KDE di DocBook. Assegnare tale Meta DTD per DocBook è preferibile rispetto alla Meta DTD per DocBook XML 4.1.2 se si sta scrivendo documentazione per KDE.
DocBook al giorno d'oggi supporta MathML per l'inclusione di equazioni matematiche nei documenti. Una DTD mista per validare documenti DocBook con MathML può essere trovato in questo messaggio e-mail.
le DTD per SVG sfortunatamente non sono state scritte in maniera tale da poter essere incluse nei DocBook. Ma si stanno compiendo degli sforzi per renderlo possibile.
L'uso nel plugin XML di Kate richiede che un Meta DTD venga generato con dtdparse sui DTD combinati.
Il plugin XML per Kate vi può aiutare molto nell'editing di documenti DocBook XML. Non è perfetto, ma ripeto, è stato sviluppato di recente. Con KDE 3.0 è disponibile per moltissime persone.
Webpages maintained by the LinuxFocus Editor team
© Egon Willighagen "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2005-01-14, generated by lfparser_pdf version 2.51