Working with XML using standard Unix tools
Classified in : Homepage, Debian, Command line, To remember
Like it or not, XML has been used everywhere, even in cases where text-based formats would have been sufficient. Unfortunately, standard tools such as grep, sed or awk are not really adapted to work with XML. Let us take the following example:
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0"> <title>The Debian distribution</title> <para>Debian is a free operating system, describing itself as “the universal operating system”. It is mostly known as a GNU/Linux distribution, but it also exist in other variants such as GNU/Hurd and GNU/kFreeBSD…</para> </chapter>
PluXml, a file-based, database-free blog
The blog engine PluXml is now available as a Debian package:
Package: pluxml Version: 5.2-2 Description-en: Light blog engine using XML files PluXml is a light and simple blog and CMS engine that uses simple XML files to store its data and requires no database. It has all the usual features (static pages, comments, categories, tags, medias, RSS feed...) and supports multiple users, customizable themes and plugins. Homepage: http://www.pluxml.org/ Section: web Priority: extra
Structure d'un document EPUB 2
J'ai détaillé dans un autre billet l'intérêt du format EPUB. Comme on me pose souvent des questions sur la nature technique de ce format, et que je m'en pose moi-même de temps en temps, voici quelques explications concernant la version 2 de cette norme. Je n'ai pas encore eu le temps ni l'occasion d'étudier le format EPUB 3 pour le moment.
Objectif de conception
Le format EPUB a été conçu pour les publications électroniques, en utilisant autant que possible des technologies existantes :
- les textes utilisent le format XHTML 1.1 ;
- la table de navigation utilise le format NCX défini précédemment pour les livres numériques parlants ;
- la description du livre avec ses méta-données utilise un format spécifique, OPF, qui intègre la sémantique Dublin Core ;
- le point d'entrée utilise un format XML ultra-simple qui provient visiblement d'OpenDocument, quoiqu'il ne soit pas mentionné dans cette dernière norme ;
- le tout est empaqueté dans un conteneur ZIP, une idée récupérée d'OpenDocument, qui la tient vraisemblablement de StarOffice et de Java.
Cette volonté de réutilisation comporte quelques inconvénients, parmi lesquels un certain manque d'homogénéité et un recoupement partiel entre les formats NCX et OPF qui implique la duplication de certaines informations. Bref, c'est à mon avis un peu plus compliqué que si ça avait été conçu de zéro, mais on ne peut pas dire que ça réinvente la roue, bien au contraire.
Le format EPUB est donc défini par l'International Digital Publishing Forum (IDPF), sous le forme de trois volets :
- Open Container Format, qui définit ce qu'on appellerait naturellement la structure d'empaquetage ;
- Open Packaging format, qui définit les formats de structuration qui font qu'un livre n'est pas seulement une série de documents HTML en vrac ;
- Open Publishing Structure, qui définit les formats internes des fichiers qui constituent le contenu d'un livre, en se référant aux formats XHTML et CSS, pour l'essentiel.