Le W3C a publié le XML 1.0 comme recommandation le 10 février 1998 !
Un peu en retard donc, 5 ans déjà.
Avec un réel succès d'un format ouvert et structuré, qui donne de nombreux "dialectes" et outils (XSLT, XHTML, DocBook, vCard, iCal, RSS,...).
XML n'est pas en retard, j'aurai même tendance à dire qu'il est plutôt en avance.
En effet, entre le moment ou une nouvelle technologie existe, et le moment ou elle est vraiment utilisée, il s'écoule généralement 10 à 20 ans ...
quelques exemples : le C++, la généralisation des ordinateurs dans la société, les téléphones portables, ...
J'embraye sur la news pour parler d'un sujet conexe, XSL-FO.
XML et tout ce qui va autour m'interesse beaucoup, et j'aimerai en savoir un peu plus. Comme XSL-FO est encore un peu jeune, c'est pas toujours facile de trouver de la doc dessus.
Donc, d'apres ce que j'en ai entrapercu, XSL-FO peut etre comparé à TeX... mais existe t'il une surcouche à XSL-FO qui permettent de travailler plus facilement ? Un peu comme LaTeX à TeX, comme une panoplie de feuilles de style XSLT qui prendrait un XML particulier en entrée, pour sortir un PDF ?
De plus, j'ai cherché en vain un processeur XSL-FO pour PHP, afin de proposer sur mon site pas seulement le format XHTML, mais aussi le format PDF, pour toutes mes pages.
Enfin, je sais qu'il existe FOP comme processeur XSL-FO, mais comme le java n'est pas du tout ma tasse de thé (essayez apt-get install libfop-java sur une debian outofthebox pour voir), j'ai également cherché en vain un autre processeur libre.
Si vous avez des pistes sur ces sujets... ca m'interesse énormément.
Abiword exporte vers XSL-FO et XHTML je crois. Si ça se trouve en réutilisant ses librairies on pourrait faire un XHTML2XML-FO :)
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
La comparaison avec TeX ne tient pas la route. TeX est turing équivalent. En termes moins techniques, c'est un véritable de langage de programmation. De ce fait, LaTeX n'est pas une surcouche de TeX, mais un ensemble de macros qui sont interprétées par le moteur TeX.
Au contraire, FO est un dialecte XML correspondant à un langage de bas niveau pour décrire des documents imprimés. Il n'y possibilité de programmation et donc de macro. Comme tu l'as remarqué, cela rend l'utilisation de FO assez difficile à la main.
Par contre, il existe effectivement des feuilles de style qui permettent de convertir des dialectes XML connu (comme par exemple docbook) vers du FO, puis vers du pdf avec un moteur de rendu. Ceci dit, je ne vois pas comment tu pourrais trouver un processeur FO pour php. Je dirais plutôt un processeur FO externe que tu pourrais appeler avec pdf. Je dois dire que contrairement à toi, Java est ma tasse de thé et donc je n'ai pas cherché plus loin que FOP. Il existe cependant d'autres moteurs, comme par exemple PassiveTeX. Tu trouveras peut être ton bonheur sur la page XSL du w3 (http://www.w3.org/Style/XSL/).
XSL est aussi Turing complet. En fait, c'est XSLT qui l'est FO est le langage de formatage à insérer grace à une transformation (XSLT) dans un document XML.
globalement, on travaille pas en ecrivant du FO à la main, c trop riche et trop complexe.
on travaille avec un langage XML plus "abstrait", plus facile à lire, typiquement, docbook, ou xhtml .
via du xsl (fourni par des gens , packages etc) on transforme en FO . on obtient du XSL:FO , le FO contient tellement de possibilités, que generalement on a pas besoin de garder toutes les info. mais il utilise des outils qui transforme FO vers PDF ou RTF ou autre chose.
les feuilles de style xsl autour de docbook sont tres bien pour faire du PDF propre.
par la suite, on peut apprendre a se faire sa propre feuille de style XSL de customisation (qui va "s'ajouter" aux feuilles XSLT fournie ) pour pondre du PDF personnalisé (avec de la traduction automatique, du formatage automatique, l'ajout d'image selon ses criteres etc etc ) , faut apprendre le XSL la.
il y' a de bons livre o'reilly sur le XSL
je ne sais pas trop comment utiliser XSL dans php, je sais que mozilla est un moteur XSLT (on peut lui balancer un fichier XML qui specifie la feuille XSL a utiliser et mozilla va generer la transformation et afficher le résultat, reste plus qu'a prier que cela soit du xhtml :) )
en moteur XSL libre non java, xsltproc de libxsl est bien, il existe de par le net des jeux de feuilles XSL pour toute sorte de besoin utilisable avec xsltproc. je m'en sers pour faire des pdf depuis docbook.
il existe un livre o'reilly XSL:FO pour expliquer a quoi sert FO
et enfin, ce petit PDF presente les forces et défauts de la generation de XSL-FO , (pour du pdf ou non) depuis docbook
N'empêche que du coup moi j'ai un problème avec XSL-FO ...
en pratique, on est censé convertit du XML, en utilisant XSL, vers XSL-FO.
Et ensuite, on doit convertir à l'aide d'un moteur XSL-FO (comme FOP) vers un affichage (écran, imprimante, etc.).
XSL-FO est complètement imbitable à écrire à la main, d'ou l'utilisation de XSL. Mais de toute façon, on utilise en final XSL-FO->(TeX)->DVI pour imprimer à ce que j'ai vu (avec FOP) ...
Bref je ne vois pas trop l'intérêt ... sachant qu'il faudra différentes feuilles XSL pour convertir vers un XSL-FO orienté écran ou papier si l'on veut rester propre, il me paraît plus simple d'avoir des feuilles XSL->XHTML+CSS et XSL->(La)TeX ou ce qu'on veut d'autre. Ok, on doit connaitre du coup les différentes cibles au lieu théoriquement de se restreindre à un seul "langage" (XSL-FO), mais si c'est là le seul avantage, c'est léger (Je trouve que batir du XHTML+CSS/LaTeX est un chouilla plus simple et efficace que batailler avec XSL-FO et FOP) ...
Y'a un truc que j'ai complètement loupé avec XSL-FO ou dans les grandes lignes c'est ce que je décris ? (ne parlons pas non plus d'une petite redondance entre CSS2/3 et XSL-FO)
> ne parlons pas non plus d'une petite redondance entre CSS2/3 et XSL-FO
oui, enfin il n'y a pas redondance totale.
si j'ai hello
en css je peux avoir :
p { directive1:xxxxx }
*[attrib] { directive2:yyyy }
En xsl (xslt + xsl-fo) il m'est dur d'avoir une regle qui s'applique à tous les p et une qui s'applique à tous les éléments ayant une propriété "attrib" (seule la premiere regle applicable sera appliquée), ou alors il faut prévoir une liste hexaustive de tous les cas (ce qui est possible ici mais si on met 5 attributs possibles et combinables ca devient un peu complexe)
# Re: XML a 5 ans !
Posté par budlapin . Évalué à 1.
[^] # Re: XML a 5 ans !
Posté par XHTML/CSS inside (site web personnel) . Évalué à 1.
# Re: XML a 5 ans !
Posté par Guillaume B. . Évalué à -6.
En effet, entre le moment ou une nouvelle technologie existe, et le moment ou elle est vraiment utilisée, il s'écoule généralement 10 à 20 ans ...
quelques exemples : le C++, la généralisation des ordinateurs dans la société, les téléphones portables, ...
[^] # Re: XML a 5 ans !
Posté par budlapin . Évalué à 5.
# Re: XML a 5 ans !
Posté par icyfemur . Évalué à 5.
[^] # Re: XML a 5 ans !
Posté par Infernal Quack (site web personnel) . Évalué à 1.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: XML a 5 ans !
Posté par boubou (site web personnel) . Évalué à 6.
[^] # Re: XML a 5 ans !
Posté par Mes Zigues . Évalué à 1.
[^] # Re: XML a 5 ans !
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Re: XML a 5 ans !
Posté par - - . Évalué à 2.
tu peux aussi faire du docbook
ensuite, armé d'une feuille XSLT xhtml -> fo ou docbook -> fo
(avec le moteur xsltproc de libxml, en C ) tu transforme en fo
et avec un "xmlpdf" tu transforme le fo en PDF
feuille XSLT pour docbook :
http://docbook.sourceforge.net/projects/xsl/(...)
exemple d'utilisation de moteur xsl vers pdf ou html
http://docbook.sourceforge.net/release/xsl/current/doc/index.html(...)
globalement, on travaille pas en ecrivant du FO à la main, c trop riche et trop complexe.
on travaille avec un langage XML plus "abstrait", plus facile à lire, typiquement, docbook, ou xhtml .
via du xsl (fourni par des gens , packages etc) on transforme en FO . on obtient du XSL:FO , le FO contient tellement de possibilités, que generalement on a pas besoin de garder toutes les info. mais il utilise des outils qui transforme FO vers PDF ou RTF ou autre chose.
les feuilles de style xsl autour de docbook sont tres bien pour faire du PDF propre.
par la suite, on peut apprendre a se faire sa propre feuille de style XSL de customisation (qui va "s'ajouter" aux feuilles XSLT fournie ) pour pondre du PDF personnalisé (avec de la traduction automatique, du formatage automatique, l'ajout d'image selon ses criteres etc etc ) , faut apprendre le XSL la.
il y' a de bons livre o'reilly sur le XSL
je ne sais pas trop comment utiliser XSL dans php, je sais que mozilla est un moteur XSLT (on peut lui balancer un fichier XML qui specifie la feuille XSL a utiliser et mozilla va generer la transformation et afficher le résultat, reste plus qu'a prier que cela soit du xhtml :) )
en moteur XSL libre non java, xsltproc de libxsl est bien, il existe de par le net des jeux de feuilles XSL pour toute sorte de besoin utilisable avec xsltproc. je m'en sers pour faire des pdf depuis docbook.
il existe un livre o'reilly XSL:FO pour expliquer a quoi sert FO
et enfin, ce petit PDF presente les forces et défauts de la generation de XSL-FO , (pour du pdf ou non) depuis docbook
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/DocBo(...)
il est vrai que pour le moment, la majorité des gens utilisent docbook depuis emacs pour le transformer en FO avec saxon ou xsltproc.
[^] # Re: XML a 5 ans !
Posté par Nicolas Roard (site web personnel) . Évalué à 2.
en pratique, on est censé convertit du XML, en utilisant XSL, vers XSL-FO.
Et ensuite, on doit convertir à l'aide d'un moteur XSL-FO (comme FOP) vers un affichage (écran, imprimante, etc.).
XSL-FO est complètement imbitable à écrire à la main, d'ou l'utilisation de XSL. Mais de toute façon, on utilise en final XSL-FO->(TeX)->DVI pour imprimer à ce que j'ai vu (avec FOP) ...
Bref je ne vois pas trop l'intérêt ... sachant qu'il faudra différentes feuilles XSL pour convertir vers un XSL-FO orienté écran ou papier si l'on veut rester propre, il me paraît plus simple d'avoir des feuilles XSL->XHTML+CSS et XSL->(La)TeX ou ce qu'on veut d'autre. Ok, on doit connaitre du coup les différentes cibles au lieu théoriquement de se restreindre à un seul "langage" (XSL-FO), mais si c'est là le seul avantage, c'est léger (Je trouve que batir du XHTML+CSS/LaTeX est un chouilla plus simple et efficace que batailler avec XSL-FO et FOP) ...
Y'a un truc que j'ai complètement loupé avec XSL-FO ou dans les grandes lignes c'est ce que je décris ? (ne parlons pas non plus d'une petite redondance entre CSS2/3 et XSL-FO)
[^] # Re: XML a 5 ans !
Posté par Éric (site web personnel) . Évalué à 1.
oui, enfin il n'y a pas redondance totale.
si j'ai hello
en css je peux avoir :
p { directive1:xxxxx }
*[attrib] { directive2:yyyy }
En xsl (xslt + xsl-fo) il m'est dur d'avoir une regle qui s'applique à tous les p et une qui s'applique à tous les éléments ayant une propriété "attrib" (seule la premiere regle applicable sera appliquée), ou alors il faut prévoir une liste hexaustive de tous les cas (ce qui est possible ici mais si on met 5 attributs possibles et combinables ca devient un peu complexe)
Du coup pour moi XSL a encore un gros manque
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.