在 Debian 操作系统中,我们可以使用各种工具和库来处理 XML 数据。扩展标记语言 Extensible Markup Language (XML) 是一种标记语言,用于含有结构化信息的文档,广泛用于数据交换和存储。
一、XML基本提示
XML 文本看起来有些像 HTML.它能够使我们管理一个文档的多个格式。一个简单的 XML 系统是 docbook-xsl 软件包,在这里使用。
1、每一个 XML 文件使用下面的标准 XML 声明开始。
<?xml version="1.0" encoding="UTF-8"?>
2、XML 元素的基本语法是按下面的方式标记。
<name attribute="value">content</name>
3、内容为空的 XML 元素,使用下面的短格式标记。
<name attribute="value" />
上面列子中的 “attribute=”value”” 是可选的。
4、XML 里面的注释部分,是按下面的方式标记。
<!-- comment -->
不同于增加标记,XML 至少要求使用预定义实体里的内容来转化下列字符。
XML 预定义实体列表:
预定义实体 | 转化的字符 |
---|---|
" |
" : 引号 |
' |
' : 撇号 |
< |
< : 小于号 |
> |
> : 大于号 |
& |
& :&号 |
注意:
- “<”或“&”不能在属性(attributes)或元素(elements)中使用;
- 当 SGML 式样的用户定义实体,比如 “&some-tag;”, 被使用的时候,第一个定义会覆盖其它的。实体定义在 “<!ENTITY some-tag “entity value”>”里表示;
- 只要 XML 标记是一致使用某一标签名集合(一些数据作为内容或属性值),使用 Extensible Stylesheet Language Transformations (XSLT) 来转换到另外一个 XML,是一个微不足道的任务。
二、XML处理
有许多工具可以用于处理 XML 文件,比如说: 可扩展样式表语言 Extensible Stylesheet Language (XSL).一旦创建了一个好的成形的 XML 文件,基本上来讲,就可以使用 可扩展样式表语言转换 Extensible Stylesheet Language Transformations (XSLT),将其转换成任何格式。
格式化对象的可扩展样式表语言 Extensible Stylesheet Language for Formatting Objects (XSL-FO) 是用来作为格式化的解决方案. fop 软件包比 Debian main 档案库要新,因为它依赖 Java 编程语言. LaTeX 代码通常是从 XML 使用 XSLT 生成,LaTeX 系统是用来创建 DVI, PostScript 和 PDF 这类可打印的文件。
XML 工具列表:
软件包 | 流行度 | 大小 | 关键词 | 说明 |
docbook-xml | I:397 | 2134 | xml | DocBook 的 XML 文档类型定义(DTD) |
docbook-xsl | V:13, I:144 | 14851 | xml/xslt | 使用 XSLT 将 DocBook XML 处理成各种输出格式的 XSL 样式表 |
xsltproc | V:16, I:80 | 162 | xslt | XSLT 命令行处理器 (XML→ XML, HTML, 纯文本,等等) |
xmlto | V:0, I:14 | 130 | xml/xslt | 使用 XSLT 将 XML 转换到任意格式的转换器 |
fop | V:0, I:12 | 285 | xml/xsl-fo | 转换 Docbook XML 文件到 PDF |
dblatex | V:2, I:10 | 4643 | xml/xslt | 使用 XSLT 将 Docbook 文件转换为 DVI, PostScript, PDF 文档 |
dbtoepub | V:0, I:0 | 37 | xml/xslt | DocBook XML 到 .epub 转换 |
由于 XML 是标准通用标记语言 Standard Generalized Markup Language (SGML)的一个子集,用于处理 SGML 的扩展工具,也能够处理 XML,比如说 文档式样语言和规范语言 Document Style Semantics and Specification Language (DSSSL).
DSSSL 工具列表:
软件包 | 流行度 | 大小 | 关键词 | 说明 |
openjade | V:1, I:26 | 2396 | dsssl | ISO/IEC 10179:1996 标准 DSSSL 处理器 (最新的) |
docbook-dsssl | V:0, I:13 | 2605 | xml/dsssl | 使用 DSSSL 处理 DocBook XML 到各种输出格式的 DSSSL 样式表 |
docbook-utils | V:0, I:10 | 287 | xml/dsssl | DocBook 文件的工具包,包括使用 DSSSL 的转换成其它格式 (HTML, RTF, PS, man, PDF)的 docbook2* 命令 |
sgml2x | V:0, I:0 | 90 | SGML/dsssl | SGML 和 XML 使用 DSSSL 样式表的转换器 |
GNOME 的 yelp 往往能够方便的直接读取 DocBook XML 文件,这是因为它可以从 X 获得适当的渲染。
三、XML数据提取
使用下面的方法能够从其它格式提取 HTML 或 XML 数据。
XML 数据提取工具列表:
软件包 | 流行度 | 大小 | 关键词 | 说明 |
man2html | V:0, I:1 | 142 | man 手册页→html | 从 man 手册页到 HTML 的转换器(支持 CGI) |
doclifter | V:0, I:0 | 451 | troff→xml | troff 到 DocBook XML 的转换器 |
texi2html | V:0, I:6 | 1847 | texi→html | 从 Texinfo 到 HTML 的转换器 |
info2www | V:1, I:2 | 74 | info→html | 从 GNU info 到 HTML 的转换器 (支持 CGI) |
wv | V:0, I:5 | 733 | MSWord→任何格式 | 从微软 Word 格式到 HTML, LaTeX, 等格式的文件转换器。 |
unrtf | V:0, I:3 | 148 | rtf→html | 从 RTF 到 HTML 等的转换器 |
wp2x | V:0, I:0 | 200 | WordPerfect→任意格式 | WordPerfect 5.0 和 5.1 文件到 TeX, LaTeX, troff, GML 和 HTML |
四、XML数据检查
对于非 XML 的 HTML 文件,能够转换它们为 XHTML,XHTML 是一个相当成型的 XML 实例,能够被 XML 工具处理。XML 文件的语法和在它们中发现的 URL 的完整性,能够被检查。
XML 美化打印工具列表:
软件包 | 流行度 | 大小 | 功能 | 说明 |
libxml2-utils | V:20, I:211 | 180 | xml↔html↔xhtml | 使用 xmllint(1) 的 XML 命令行工具 (语法检查,重新格式化,梳理, …) |
tidy | V:1, I:9 | 84 | xml↔html↔xhtml | HTML 语法检查和重新格式化 |
weblint-perl | V:0, I:1 | 32 | 检查 | 用于 HTML 的小巧的语法检查器 |
linklint | V:0, I:0 | 343 | 链接检查 | 快速的网站维护工具及链接检查器 |
一旦适当的 XML 生成,基于标记的内容等,能够使用 XSLT 技术提取数据。