Production de PDF : CSS Vs XSL~FO,
Le retour de la revanche ?

Le , par Erwy, Rédacteur
Le PDF, c'est LE format de document imprimable (même s'il n'est pas le seul) et c'est sur ce terrain que s'affronte depuis plus de 8 ans le couple HTML/CSS et XSL, et c'est avec un working draft 2.0 tout chaud que XSL~FO semble vouloir reprendre le combat

Petit retour aux origines du « mal »:
Au milieu des années 90, le WEB s'étend. Il s'appuie pour cela sur deux technologies d'affichage, le HTML et les CSS.
Malgré son succès, une limite va rapidement apparaître .Si le HTML est très pratique pour présenter des données, elles deviennent difficilement exploitables .De ce constat en 1997 va naître le XML , un format dédié aux données .
De ce nouveau métalangage, et de l'idée de séparer présentation et données, deux autres fils vont naître:XSLT 1.0 en 1999, un langage de transformation pour le XML, et XSL~FO 1.0 en 2001, un langage de présentation, on réunira les deux sous l'appellation XSL 1.0.
Le processus voulu est celui-ci : un XML contient les données, on lui applique un XSLT contenant les balises XSL~FO (XSL) pour la production d'un document ne contenant plus que des balises XSL~FO qu'on pourra alors interpréter pour afficher ou imprimer dans le format souhaité .
En effet, le plus gros point fort de XSL~FO sur HTML est la présentation d'un format « imprimable » gérant pagination,note de bas de page, index et autres. Il profitera en plus de la norme SVG 1.0, sortit aussi en 2001, permettant de coder des images ou graphiques en XML .

Le premier round commence par l'assaut de XSL 1.0.
Il ne sera pas au final très profitable à XSL~FO, qui n'ébranlera en rien le HTML, et se verra même trahi par son grand frère XSLT qui loin de le soutenir finit vite par être plus utilisé pour produire d'autre format , en particulier du HTML...

XSL~FO va néanmoins investir le domaine des documents imprimables, en particulier dans le domaine professionnel de l'édition. Soit avec des outils payant comme RenderX ou celui de antennahouse soit avec un outil libre comme FOP .
En 2006 il évoluera dans une version 1.1 http://www.w3.org/TR/xsl/ , mais il est alors peut être déjà trop tard.

Avec CSS 2.0, la notion de média paginé était déjà entrée dans le concept, et au fur et à mesure de son implémentation on a vu HTML/CSS grignoté peu à peu la niche de XSL. En effet, si lce couple souffre de certains manques , il compense par une très grande popularité et un vaste public. Il est bien plus aisé de trouver quelqu'un formé à HTML/CSS qu'à XSL-FO. Enfin, en 2006 CSS , avec le CSS 3.0 , sort une partie de sa norme spécialement dédié au média paginé . Dès le début sortira une implémentation de celle-ci sous la forme du logiciel prince xml créer par les fondateurs du CSS.
Le deuxième round à commencer subrepticement mais semble se terminer par un K-O net de XSL.

Pourtant ce dernier ne s'annonce pas vaincu. Après quelques sursaut en 2008,le 29 septembre 2009, XSL semble vouloir reprendre sérieusement le combat sous la forme de ce working draft 2.0
Le troisième round semble commencer et le combat n'est peut être pas si déséquilibré qu'il y paraît au premier abord.
En effet, si CSS 3.0 est en avance du point de vue du travail réalisé, si il concentre beaucoup d'énergie de par sa place sur le web, ses point fort sont aussi ses points faibles. La cible qu'il vise est désormais beaucoup plus large, et demande plus de travail; plus de monde à travailler avec de fortes attentes, cela veut dire aussi plus de temps en discussion et enfin, les efforts d'implémentations seront principalement mené sur les navigateurs web ou les précédents ont prouver que les choses ne sont pas simples.
A contrario, la niche plus ciblé et la réactivité d'un outils gratuit et open source comme FOP , réactivité qu'il a prouvé lors du passage à XSL 1.1, peuvent peut être redonner du souffle à cette technologie, à condition bien entendu que les changements apportés par cette nouvelle version en valent la peine.

Quel sera le résultat de ce troisième round : un simple baroud d'honneur ou XSL saura trouvé l'«oeil du tigre» ?

Lire aussi :

La rubrique XML/XSL et SOAP (actu, forum, tutos) de Développez

Et vous ? :

Pensez-vous qu'il y a encore une place pour un XSL~FO ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de alain.couthures alain.couthures - Membre éprouvé https://www.developpez.com
le 16/10/2009 à 22:49
Je suis, comme d'habitude, pour l'usage de formats XML, un point c'est tout!

Ni HTML5 ni CSS ne sont des formats XML bien formés.

Par contre, tout est toujours affaire d'implémentations. FOP n'a jamais vraiment été rapide (du Java, quoi!). Rien pour .Net ou pour PHP !

Il ne suffit pas d'une recommandation pour que cela évolue!
Avatar de Erwy Erwy - Rédacteur https://www.developpez.com
le 18/10/2009 à 20:32
Citation Envoyé par alain.couthures  Voir le message
Ni HTML5 ni CSS ne sont des formats XML bien formés.

Pour ce qui est de HTML 5 , comme il reprend aussi XHTML 1.0, il ya deux formats possibles: HTML "classiques" et un format strictement XML
Avatar de *alexandre* *alexandre* - Inactif https://www.developpez.com
le 18/10/2009 à 20:41
si ca peut nous éviter de faire appel à des processus de find et replace ou de reporting
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique CSS : Xavier Lecomte -