Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 什么';XSLT和XSL-FO之间的区别是什么?_Xml_Xslt_Xsl Fo - Fatal编程技术网

Xml 什么';XSLT和XSL-FO之间的区别是什么?

Xml 什么';XSLT和XSL-FO之间的区别是什么?,xml,xslt,xsl-fo,Xml,Xslt,Xsl Fo,XSLT和XSL-FO之间有什么区别 我读过的每一篇资源都把它们当作1来处理,或者至少联系得非常紧密。XSLT是一种模板格式,可以用来生成各种文档,包括纯文本文档 XSL-FO表示使用XSLT来生成FO文档。如何 XSL格式化对象或XSL-FO是 XML文档的标记语言 最常用于 生成PDF。XSL-FO是XSL的一部分, 一组W3C技术设计用于 转换和格式化 XML数据。XSL的其他部分包括 XSLT和XPath。截至12月12日,, 2006年,XSL-FO的当前版本是 v1.1 XSL-FO

XSLT和XSL-FO之间有什么区别


我读过的每一篇资源都把它们当作1来处理,或者至少联系得非常紧密。

XSLT是一种模板格式,可以用来生成各种文档,包括纯文本文档

XSL-FO表示使用XSLT来生成FO文档。

如何

XSL格式化对象或XSL-FO是 XML文档的标记语言 最常用于 生成PDF。XSL-FO是XSL的一部分, 一组W3C技术设计用于 转换和格式化 XML数据。XSL的其他部分包括 XSLT和XPath。截至12月12日,, 2006年,XSL-FO的当前版本是 v1.1


XSL-FO代表可扩展样式表语言格式化对象,是关于格式化的,现在称为XSL以避免所有混淆。因此,不要再担心XSL-FO了


然而,XSLT是关于转换xML的。所以很清楚。XSL是关于格式化的,XSLT是关于转换的。

XSLT用于转换,XSL(与XSL-FO相同)用于格式化


我想知道这个问题的基础是什么,因为我认为它很容易回答,但是当你来到这里时:很明显,这实际上是一个好问题,因为这一页上的第一句话是:

本规范定义了可扩展样式表语言(XSL)的特性和语法,XSL是一种表示样式表的语言。它由两部分组成:

  • 一种转换XML的语言 文档(XSLT),以及
  • 用于指定 格式化语义
  • 然而,回到现实世界中,XSLT(这也是大多数人认为XSL的意思)是将XML文档转换为其他内容的一种手段——通常,其他内容也可能被格式化为XML(尽管我使用XSLT将XML转换为csv和纯文本)

    另一方面,XSL-FO是关于格式化的——关于以相当严格的方式在一个页面或一系列页面上布局内容。它很有用,因为它允许您管理分布在多个页面上的内容,它相对简单地指定页面(或偶数和奇数页面)的格式,包括页眉、页脚、边框、列等,并让您的内容流入其中。因此,我们将以XML格式加载数据,然后使用XSLT将该数据转换为包含XSL-FO的文档,然后使用适当的工具(例如PDF)呈现该文档,以便打印或以其他方式分发

    我的用例是获取一堆表格数据,将这些数据导出为XML,将其转换为XSL-FO,再从那里转换为PDF,然后将PDF转换成一个500页的目录。在XSL-FO中指定需要页码,在特定情况下需要分页符,有一个目录和索引(每个目录和索引基于特定元素),并且呈现过程(到PDF)处理所有页码的填充


    希望您现在少一点困惑。

    除了首字母缩写词的相似性之外,这两种技术曾经是同一个W3C规范(草案形式)的一部分。后来决定将XSL(XSL fo)和XSLT拆分为两个单独的规范

    :

    XSL-FO的正式名称是XSL

    为什么会出现这种混乱?是XSL-FO和XSL 同样的事情

    是的,但我们会给你一个 说明:

    设计风格既要改变也要改变 格式化信息。当世界 万维网联盟(W3C)做出了 第一个XSL工作草案,它包含 两者的语言语法 转换和格式化XML 文件

    后来,W3C的工作组分裂了 原稿分为两部分 建议:

    * XSLT, a language for transforming XML documents
    * XSL or XSL-FO, a language for formatting XML documents
    * XPath, a language for navigating in XML documents
    
    可以在Dave Pawson的主页上找到年表的详细注释

    正如(与w3.org无关)所说的,这可能会让人非常困惑

    XSL-FO现在正式命名为XSL

    这意味着XSL-FO和XSL是一回事,但它们不是

    XSL基本上是将XML数据表示为HTML文档 XSL-FO是关于文档本身的格式化。例如,如果要将XML转换为word文档,则需要添加页码、更改页边距或页面布局、添加页眉和页脚等。这些项目只能通过XSL FO标记进行处理,XSLT无法访问文档属性。在技术领域,您很可能会遇到XML数据以word或PDF文档形式呈现的场景。它需要页码、布局格式、页眉等。这些都是文档中非常重要的部分

    另一个很大的区别是XSL和XSL FO有不同的引擎。XSL无法呈现XSL-FO标记。这个问题讨论用于XSL FO的引擎

    一个典型的XSL-Fo-tempate-lools如下

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    
    <fo:layout-master-set>
      <fo:simple-page-master master-name="A4">
        <fo:region-body />
      </fo:simple-page-master>
    </fo:layout-master-set>
    
    <fo:page-sequence master-reference="A4">
      <fo:flow flow-name="xsl-region-body">
        <fo:block>Hello W3Schools</fo:block>
      </fo:flow>
    </fo:page-sequence>
    
    </fo:root> 
    
    
    学校好
    
    请注意,没有对XML数据的引用。这一切都是关于格式化文档本身。在将XML数据转换为法律文档时,这是一个极其重要的元素。因为如果输出文档是pdf或word,则需要寻呼机号、文档号、布局等。没有这些信息,很难实现页码或页眉等

    这种混淆是因为本文档几乎肯定会包含XSL标记,因为我们将提取XML数据。但是,如果没有XSL Fo引擎,则不会呈现文档


    简言之,它们是相似的,共同工作,但它们不是一回事。它们是由不同的引擎渲染的。

    像其他许多东西一样,这取决于你的观点和你的历史

    XSLT是一种语言(用XML编写),用于
    <fo:table-row height=".5cm">
                <fo:table-cell>
                    <fo:block></fo:block>
                </fo:table-cell>
            </fo:table-row>