|
|
por Egon Willighagen <egonw(at)linuxfocus.org> Sobre o autor: Obteve o seu mestrado em química na Universidade de Nijmegen, e vai fazer a sua tese doutoramento acerca da representação molecular, na mesma Universidade. Joga basketball e programa aplicações Java. Traduzido para Português por: Bruno Sousa <bruno(at)linuxfocus.org> Conteúdo: |
Abstrato:
Este artigo descreve o uso do programa Kate e do seu plugin XML como um utilitário para editar documentos DocBook XML.
A edição de XML no OpenSource tem sido uma grande dor de cabeça. As pessoas precisam de um editor que possa produzir XML válido e, preferencialmente, que permita ver o output ao mesmo tempo. Existem editores que podem fazer isto, mas são proprietários. No Mundo do OpenSource existem programas que não lhe fornecem um aspecto gráfico muito bom, mas podem produzir documentos XML válidos, e aconselhá-lo acerca dos elementos que são permitidos numa determinada posição do documento.
Claro que existe o Emacs e seu pequeno modo DocBook, que trabalha bem (veja o artigo acerca DocBook anterior). Este modo especial, torna possível a escolha dos elementos filhos a serem colocados no documento tendo por base os elementos já existentes. E permite assim a completação através do tab, baseado neste conhecimento.
Mas neste artigo, não discutirei isto, em invés introduzirei o Kate como um editor de DocBook XML.
./configure --prefix=/path/where/your/kde3/is/installed make sudo make install
Quando o plugin está instalado, precisa ainda de o dar a conhecer ao Kate. Para fazer isto, seleccione "Configure Kate" no menu "Settings". No administrador de "Plugins" pode por o plugin XML na lista dos plugins carregados:
As Meta DTDs são geradas com o dtdparser de Norman Walsh, cujos pacotes podem ser obtidos a partir de SourceForge.net.
Eu utilizei a versão 2.0beta6 ligeiramente alterada. Por exemplo, eu tive de corrigir o caminho no programa dtdparser, na primeira linha, para apontar para a localização correcta da minha instalação do Perl. Correndo o programa, produziria uma saída mais ou menos assim:
> ./dtdparse /path/to/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.
Note no grande número de entidades que são carregadas. Parcialmente, devido a isto a Meta DTD resultante tem 1.63Mibibytes Mas com um processador XSLT como o xsltproc isto pode ser diminuído para 0.96 MiB com a folha de estilo simplify_dtd.xsl do pacote kde-addon:
> xsltproc simplify_dtd.xsl docbookx.dtd.xml > docbook-xml-4.1.2.dtd.xml
O docbook-xml-4.1.2.dtd.xml resultante pode ser copiado para /path/to/kde3/share/apps/katexmltools/ onde /path/to é alterada para a localização onde o KDE3 está, actualmente, instalado. Mas o seu directório de trabalho também serve, visto que o plugin XML lhe pedirá por um nome de ficheiro ao atribuir uma nova Meta DTD (veja abaixo).
Ao criar um novo documento DocBook XML é preciso atribuir uma Meta DTD. Isto é feito escolhendo "Assign Meta DTD" no menu "XML Plugin". Uma caixa de diálogo de ficheiros aparecerá e pode seleccionar a DTD que quer utilizar. Neste caso, é a DocBook XML 4.1.2 Meta DTD que acabámos de construir. Um novo diálogo indicará a progressão:
No documento novo e vazio, digitamos "<book>". Para fechar o elemento carregamos no F11. Se sintaxe highlighting ainda não estiver activada , pode activá-la seleccionando "Highlight Mode" no menu "Document". A sintaxe XML highlighting está no submenu "Markup".
Porque nos esquecemos dos atributos que o elemento book tem, pomos o cursor no fim da palavra book na tag de abertura e premimos Ctrl+Return. Aparecerá um menu pop up com uma lista de todos os possíveis atributos para o elemento corrente:
Colocando o cursor entre os "'s e premindo Ctrl+Return dá-lhe mesmo os valores possíveis para o atributo, se estiverem definidos na DTD. O que não é o caso para o atributo id.
Depois de termos inserido o atributo temos o seguinte código DocBook XML:
<book id="SomeID"> </book>
Colocando o cursor entre o inicio e o fim da tag do elemento book e premindo Ctrl+Return, nessa posição obtemos uma nova lista pop up, mas agora com todos os possíveis elementos filhos do elemento book. Por exemplo, podemos seleccionar o elemento title:
Um senão deste plugin é que só tem conhecimento dos elementos filhos e não tem conhecimento da ordem ou do número de vezes que pode ocorrer. Por exemplo, a DTD não permite dois ou mais elementos title, mas o plugin XML não o avisa acerca disto. Como o plugin não tem (ainda) uma opção de validação, é muito fácil obter documentos inválidos.
Um resumo da funcionalidade do plugin é dado na tabela abaixo:
Tarefa | Comando |
Inserir (elementos e atributos) XML | Ctrl+Return |
Inserir Entidade | F10 |
Fechar a Tag | F11 |
O próprio projecto do KDE também utiliza o DocBook como um formato para a sua documentação. Logo que o plugin de XML venha por omissão com uma versão personalizada do DocBook, atribuir a Meta DTD para o DocBook passa a ser preferível sobre a Meta DTD para DocBook XML 4.1.2, se considerarmos a escrita de documentação KDE.
Nos dias de hoje o DocBook também suporta a MathML para incluir equações matemáticas nos documentos. Uma DTD remisturada para validar documentos DocBook com o código MathML pode ser encontrado neste mensagem de email.
As DTD do SVG, infelizmente, foram escritas de um modo que não é possível incluí-las no DocBook. Mas estão a ser feitos esforços para o tornar possível.
A utilização do plugin XML do Kate requer que se faça uma nova Meta DTD baseada na combinação do DTD com o dtdparse.
O plugin de XML para o Kate pode ajudá-lo imenso na edição de documentos DocBook XML. Não é perfeito, mas mais uma vez, foi desenvolvido recentemente. Com o KDE 3.0 está disponível para muito gente.
|
Páginas Web mantidas pelo time de Editores LinuxFocus
© Egon Willighagen, FDL LinuxFocus.org Clique aqui para reportar uma falha ou para enviar um comentário para LinuxFocus |
Informação sobre tradução:
|
2002-05-22, generated by lfparser version 2.27