Quelle est la différence entre XSLT et XSL-FO?
Quelle est la différence entre XSLT et XSL-FO ?
De toutes les ressources dont j'ai lu les traiter comme si elles étaient de 1, ou au moins très étroitement lié..
- Voir aussi stackoverflow.com/q/10641667/287948
Vous devez vous connecter pour publier un commentaire.
Je me demandais à propos de la base de la question parce que je pensais que c'était facile de répondre, cependant dès que vous allez ici: http://www.w3.org/TR/xsl/ il devient clair que sa fait une bonne question - parce qu'à peu près la première chose sur la page est cette déclaration:
Cependant, de retour dans le monde réel, XSLT (c'est aussi ce que la plupart des gens vont penser que vous entendez par XSL) est un moyen pour transformer des documents XML en d'autre chose, ce quelque chose d'autre de plus souvent que de ne pas être un autre document structuré probablement aussi au format XML (si j'ai utilisé XSLT pour rendre XML csv et texte brut(ish) de texte).
XSL-FO sur l'autre main est sur la mise en forme - sur la disposition du contenu sur une page ou d'une séquence de pages dans un assez stricte de la mode. Utile car il vous permet de gérer le contenu est réparti sur plusieurs pages, son relativement simple de spécifier le format d'une page (ou les pages paires et impaires), y compris les en-têtes, pieds de page, des frontières, des colonnes, etc et vous avez votre flux de contenu en que. On pourrait donc prendre un chargement de données dans un format XML et ensuite utiliser XSLT pour convertir les données dans un document composé de XSL-FO, qui à son tour est rendu à l'aide d'un outil approprié, en PDF pour l'impression ou d'autres moyens de distribution.
Le cas d'utilisation que j'ai, c'est de prendre un tas de données tabulaires, exportation des données au format XML, un rendu en XSL-FO et à partir de là PDF, ce qui va à une imprimante qui se dit un PDF dans un 500 répertoire de la page. On précise dans le XSL-FO qu'on veut les numéros de page, les sauts de page dans des circonstances particulières, qu'il existe une table des matières et un index (chaque basée sur des éléments particuliers) et le processus de rendu (PDF) poignées de remplissage dans les numéros de page dans l'ensemble du conseil.
J'espère que vous êtes un peu moins confus maintenant..
À part les similitudes dans les acronymes les deux technologies utilisées pour faire partie de la même W3C spec(sous forme de projet). Il a ensuite été décidé de scinder XSL(XSL-fo) et XSLT dans deux spécifications.
Citation de W3Schools:
Une annotation détaillée de la chronologie peut être trouvé sur Dave Pawson la page d'Accueil de:
http://www.dpawson.co.uk/xsl/sect1/history.html
XSL est de la famille des langues utilisées pour transformer et de rendre les documents XML
XSLT(Transformations XSL) : est un langage pour transformer des documents XML en d' autres XML des documents ou d'autres formats tels que HTML pour les pages web, texte brut ou en Objets de Formatage XSL, qui peut ensuite être convertis en d'autres formats, tels que PDF, PostScript et PNG.
Transformation peut faire l'une des trois façons suivantes:
<xsl:processing-instruction>
Par exemple:
XSL-FO(Objets de Formatage XSL) : n'est pas pris en charge par les navigateurs web, car il est conçu pour l'impression de ne pas les consulter en ligne. (de @Hobbes)
Les formats de sortie pris en charge actuellement: PDF, PCL, PS, AFP, TIFF, PNG, SVG, XML (zone de l'arbre de la représentation), d'Impression, de AWT et TXT. Le principal objectif de production est de PDF. Soruce
Exemple de code:
Organigramme:
XSLT est utilisé pour transformer, XSL (qui est le même que XSL-FO) est utilisée pour le formatage.
http://www.w3schools.com/xslfo/xslfo_intro.asp
Ce sujet de la Définition de Wikipedia?
Cela peut être assez déroutant comme w3schools tutoriel site (non liée à w3.org) dit
qui signifie XSL-FO et XSL est la même chose, mais ils ne sont pas!
XSL est fondamentalement représentant des données XML dans un document HTML
XSL-FO est sur la mise en forme du document lui-même. Par exemple, si vous souhaitez transformer un fichier XML en un document word, vous souhaitez ajouter des numéros de page, de changer de marge ou de mise en page, ajouter des en-têtes et pieds de page, etc. Ces articles ne peuvent être adressées via XSL FO balises, XSLT n'a aucun moyen d'accéder au document properites. Dans le domaine technique, vous aurez très probablement trouver scénario où les données XML sont rendus dans le document word ou PDF. Il aurait besoin des numéros de page, format mise en page, en-tête, etc. Ces sont une part très importante du document.
D'une autre grande différence est XSL et XSL FO a différents moteurs. XSL ne peuvent pas rendre XSL-FO balises. Cette question parle de quel moteur utiliser pour XSL FO
Qui est le Meilleur commercial xsl fo moteur?
Typique XSL Fo avec lools comme ce
Avis qu'il n'y est fait aucune référence à des données XML. Il est tout sur le formatage d'un document lui-même. C'est un élément extrêmement important quand il s'agit de transformer des données XML dans les documents juridiques. Parce que vous avez besoin de numéro de téléavertisseur, numéro de document, mise en page etc si le document de sortie est un fichier pdf ou word. Avec cette information, il est très difficile à mettre en place des numéros de page ou en-têtes, etc.
La confusion arrive parce que ce document sera presque certainement contenir des balises XSL comme nous allons le tirant de données XML. Cependant, si il n'y a pas de XSL Fo moteur, le document ne sera pas rendu.
Donc, en bref, ils sont semblables, et de travailler ensemble, mais ils ne sont pas la même chose. Elles sont rendues par les différents moteurs.
Comme beaucoup d'autres choses, cela dépend de votre point de vue et votre histoire.
XSLT est un langage (écrit en XML) "pour transformer des documents XML en d'autres documents XML.", bien que l'actuel XSLT 3.0 CR (http://www.w3.org/TR/xslt-30/) modifications à "un langage conçu principalement pour transformer des documents XML en d'autres documents XML." (Italiques ajoutés.)
XSL-FO est "un vocabulaire XML pour spécifier la mise en forme de la sémantique." Il est défini dans la "XSL (Extensible Stylesheet Language) Version 1.1" Recommandation (http://www.w3.org/TR/xsl11/). Un module de formatage, comme de l'Antenne de la Maison, prend un document XML dans le FO vocabulaire et produit de style et paginé de sortie.
Où l'histoire vient c'est que d'abord il n'y avait qu'un spec - -- Extensible Stylesheet Language (XSL) - qui définit à la fois la transformation -- entrer votre code XML dans le FO vocabulaire XML -- et style -- obtenir la FO en style et paginé forme. La page de l'histoire de Dave Pawson (http://www.dpawson.co.uk/xsl/sect1/history.html) liés à partir de Mads Hansen répondre a tous les détails, mais le long du chemin pour XSL devenir une Recommandation, la transformation de la partie a été vu pour être généralement utile et a été rompu que "les Transformations XSL (XSLT)". La transformation de balisage balisage n'était pas nouveau, mais d'avoir une norme pour plusieurs (pour la plupart) compatible implémentations était une bouffée d'air frais.
La façon dont XSLT pourrait parties de l'adresse d'un document XML a également été vu pour être généralement utile, et il a été brisé comme "XPath (XML Path Language) afin qu'il puisse être utilisé par d'autres spécifications. (XPath est utilisé par exemple par les, XQuery et XLink.)
Où le point de vue, il faut que le XSL 1.1 Recommandation définit toujours un processus de transformation plus la mise en forme, mais de la transformation de la partie arrive juste à être définis dans un document distinct. Voir http://www.w3.org/TR/xsl11/#d0e386
Tandis que l'officiel XSL 1.1 PoV est que XSLT et XSL-FO sont les deux parties de XSL, et, probablement, chaque FO formateur peut faire la transformation de la partie, dans la pratique, la plupart des gens à transformer leurs données XML en XML dans le FO vocabulaire à l'aide d'un processeur XSLT et à nourrir que FO XML pour leur formateur.
Où l'histoire rencontre le point de vue est que XSLT 1.0 (http://www.w3.org/TR/xslt) a défini lui-même comme faisant partie d'une feuille de style XSL système:
Mais ce point de vue n'est pas présent dans XSLT 2.0 (http://www.w3.org/TR/xslt20/) et est loin le temps de XSLT 3.0.
La partie finale de point de vue est que quand beaucoup de gens disent "XSL" ils veulent juste dire XSLT, à l'exception de ceux qui quand ils disent "XSL" ils signifient XSL-FO, tandis que la plupart oublier que leur FO formateur peut faire les deux.
XSL-FO signifie Extensible Stylesheet Language Objets de mise en forme et sur la mise en forme et est maintenant connu comme XSL pour éviter toute confusion. Donc, ne vous inquiétez pas à propos de XSL-FO plus.
XSLT est cependant sur la transformation de xML. Il est donc très clair. XSL est sur la mise en forme et XSLT est de le transformer.
XSLT est un format de modèle qui peut être utilisé pour générer toutes sortes de documents, y compris le texte brut documnent.
XSL-FO désigne l'utilisation de XSLT pour produire des documents de FO.