首页 > 其他分享 >结构化文档开发笔记

结构化文档开发笔记

时间:2023-09-08 10:00:10浏览次数:29  
标签:XML 结构化 笔记 文档 样式表 PDF XSL FO

一些浅薄的见解有错误请指出

1.结构化文档编写和发布的基本流程

看了一些工具的文档,发现从编写xml到输出为pdf、html的步骤是固定的,从编写XML文件到输出为PDF文档的一般流程包括以下步骤:

  • 编写XML文件:根据需要的文档结构和内容,使用XML标记语言编写XML文件。XML文件应包含所需的数据和标签,以描述文档的结构和内容。

  • 设计XSL样式表:根据需要的输出格式和样式,设计XSL样式表。XSL样式表使用XSLT语言,定义了将XML文档转换为其他格式的规则和模板。

  • 运行XSLT转换:使用XSLT处理器(如XSLT解析器)加载XML文件和XSL样式表,并执行转换。XSLT解析器解析XSL样式表,并根据规则和模板将XML文档转换为中间格式(如FO格式)。

  • 设计FO样式表:根据需要的PDF输出样式,设计FO(Formatting Objects)样式表。FO样式表使用XSL-FO语言,定义了PDF文档的布局、样式和格式。

  • 运行FO转换:使用FO处理器(如Apache FOP)加载中间格式(由XSLT转换生成的FO文件)和FO样式表,并执行转换。FO处理器将FO文件解析并生成PDF文档。

  • 输出PDF文档:FO处理器生成PDF文档后,可以将其保存到指定的文件路径或直接输出到浏览器或其他目标设备。

需要注意的是,上述流程中使用的XSL样式表和FO样式表的设计和编写可能需要一定的学习和经验。同时,还可以根据具体需求和工具的选择,对流程进行适当的调整和扩展。
不同的结构化文档工具厂商会有自己的工具开发设计,比如ptc的Arbortext这个工具集里面editor就只负责编辑xml,这个editor软件的输出就只能是xml文件或者dita文件,必须买工具集中的另外一个软件styler才能存储成PDF或者html等格式的文件。Oxygen的editor就集成了styler,可以直接存储成PDF或者html等格式的文件。
对文档文件的管理和评审就需要用到工具集中的管理产品了,比如ptc的windchill。

2.xml结构的语言

顺便说一下所有xml架构的语言:
1.DTD(Document Type Definition)
2.XML Schema:XML Schema是一种更为强大和复杂的XML架构语言,它使用XML语法来定义XML文档的结构、元素的数据类型、约束和关系等。XML Schema支持数据类型验证、数据完整性和命名空间等功能。
3.RELAX NG(Regular Language for XML Next Generation):RELAX NG是一种简洁而灵活的XML架构语言,它使用正则表达式和简单的规则来定义XML文档的结构和约束。RELAX NG支持数据类型验证和模式继承等功能。
4.Schematron:Schematron是一种基于规则的XML架构语言,它允许用户定义自己的验证规则和约束,用于检查XML文档是否符合特定的业务规则和逻辑。
5.XSD(XML Schema Definition):XSD是W3C推荐的XML架构语言,它是XML Schema的一种具体实现,用于定义XML文档的结构、数据类型和约束等。XSD是目前应用最广泛的XML架构语言之一。
6.RNG(Relax NG Compact Syntax):RNG是RELAX NG的一种简化语法,它使用更为紧凑的语法来定义XML文档的结构和约束,比XML Schema更易于书写和阅读。

3.xsl介绍

注意:XSL(eXtensible Stylesheet Language)并不是XML架构语言。XSL是一种用于定义和转换XML文档的样式表语言。它包括两个部分:XSLT(XSL Transformations)和XPath(XML Path Language)。

XSLT是一种基于模板匹配和转换规则的编程语言,用于将XML文档转换为其他格式(如HTML、PDF等)或进行XML文档的重组和重排。它通过定义模板和规则来指定XML文档的转换过程。

XPath是一种用于在XML文档中定位和选择节点的语言。它提供了一组简洁而强大的语法和函数,用于在XML文档中进行节点的导航和查询。

虽然XSL可以用于处理和转换XML文档,但它并不用于定义XML文档的结构和约束。XML架构语言(如DTD、XML Schema等)用于描述XML文档的结构,而XSL用于处理和转换已有的XML文档。

标签:XML,结构化,笔记,文档,样式表,PDF,XSL,FO
From: https://www.cnblogs.com/jianjiana/p/17686733.html

相关文章

  • Go学习笔记3
    九、错误处理1.defer+recover机制处理异常错误展示错误:发现:程序中出现错误/恐慌以后,程序被中断,无法继续执行。错误处理/捕获机制:内置函数recover:2.自定义错误需要调用errors包下的New函数:函数返回error类型3.panic有一种情况:程序出现错误以后,后续代码就没有必要执......
  • 后疫情时代援助物资调度系统的设计与实现-计算机毕业设计源码+LW文档
    摘要新冠疫情的产生给人类社会产生了非常大的影响,通过管理系统来深化后疫情时代的援助物资调度管理是目前重要的工作。我国人口基数大,人员复杂,只有通过管理系统才能精确的进行人员和物资管理,为精准调度做出正确的操作。同时,利用数据库存储援助物资信息,改变传统的手工记录,有效提高......
  • Qemu源码分析(1)—Apple的学习笔记
    一,前言开始qemu源码学习之路。从简书切换到此,真的是一键导入,太快了。二,从某个点开始分析源码Type_new函数就是把TypeInfo内容复制到TypeImpl。1.总的来说type_register_internal就是创建一个TypeImpl类,然后添加到hash表中。staticTypeImpl*type_register_internal(constTypeInfo......
  • 课程教学质量评价系统设计与实现-计算机毕业设计源码+LW文档
    1.选题背景、意义教学质量评价是依照教学标准和数学目标、对教师教学能力进行价值评判,是教学活动进行的重要步骤之一。教师的教学质量越高,代表其教学能力越强。因此,需要建立十分合理的评价标准来对教师教学质量进行评判。现如今国内外教育评价标准多种多样,国外学者侧重于将学生学......
  • 基于web的宿舍管理系统-计算机毕业设计源码+LW文档
    一、研究的背景意义高校作为教书育人的场所,利用信息技术改变落后的教育方式是很有必要的事情。基于web的宿舍管理系统可以解决目前高校高校宿舍管理的问题,提高教师工作效率,快速的完成高校高校宿舍管理相关事宜,及时发布宿舍信息,使得学生可以第一时间查询到自己的宿舍信息。学生宿舍......
  • 测试文档
    测试发布packagecom.tang.consumptionRecord;importcom.tang.consumptionRecord.domain.Feedback;importcom.tang.consumptionRecord.util.JDBCUtils;importorg.apache.commons.dbutils.QueryRunner;importorg.apache.commons.dbutils.handlers.BeanListHandler;imp......
  • 代码随想录个人笔记——字符串篇
    344.反转字符串 题目链接#include<bits/stdc++.h>usingnamespacestd;classSolution{public:voidreverseString(vector<char>&s){intlen=s.size();for(inti=0,j=len-1;i<j;i++,j--){//第一种//i......
  • C++学习笔记
    练习打印金字塔goto跳转语句for循环for(表达式1;表达式2;表达式3)------外层循环{循环语句块1;for(表达式4;表达式;表达式6)-------内层循环{循环语句块2}//循环语句块1;}表达式1----->赋值语句---->用来初始化----->可......
  • 《Java编程思想第四版》学习笔记26
    //:Cleanup.java//Payingattentiontoexceptions//inconstructorsimportjava.io.*;classInputFile{privateBufferedReaderin;InputFile(Stringfname)throwsException{try{in=newBufferedReader(......
  • WorkPlus Meet白板和文档共享功能上线,私有化视频会议全新升级
    在迅猛发展的数字化时代,私有化视频会议成为企业高效沟通和协作的关键工具。WorkPlusMeet作为领先品牌,倾力打造私有化视频会议平台,并且最新上线了全新的白板和文档共享模块。本文将重点介绍WorkPlusMeet如何通过创新功能和稳定性,提供卓越的私有化视频会议体验,助力企业实现高效沟通......