- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
技巧:如何用 XSLT 组合文档
英文原文
内容:
示例
document() 函数
组合文档
其它应用
参考资料
关于作者
相关内容:
使用 XML: 完成 XM 版本 1
Suns Java API for XML Parsing, Version 1.1
developerWorks Toolbox 订阅
在 XML 专区还有:
教学
工具与产品
所有的文章
探索 XPath 功能
级别:入门
Benoit Marchal( bmarchal@)顾问,Pineapplesoft2003 年 8 月
本技巧文章说明了如何编写 XSLT 样式表来处理几个文档。这种方法有很多用途,比如可以组合书本中的各章节,将信件模板与一列地址合并,创建涉及几个文件的目录(TOC),或者按本技巧文章列举的示例那样,重用不同图库中的照片描述。
XSLT 不仅功能强大而且还具备了很高的灵活性,这着实吸引人。XSLT 不仅对发布网站有用,而且对转换或操作 XML 文档也很有用。既然 XSLT 处理器已随 Java 平台一起提供(通过 javax.xml.transform 包),那么您就不能忽略它。
XSLT 程序员总是面临的一个问题是,应该如何处理多个文档?Java API 只期望有两个参数:源文档(输入 XML 文档)和结果文档(用于保存输出的位置)。虽然该 API 适合于许多应用程序,但在某些情况下,您需要组合几个源文档。有这样一些示例:
邮件合并,譬如在直邮市场营销的活动中,人们用样式表将客户文件中的姓名和地址与信件模板合并起来。
转换代码列表,譬如产品引用。国家或地区代码常需要将目录文件与存储在一个单独文件中的代码列表相匹配。
为了出版而组合几个单独的文档。例如,当出版一本书时,可能希望将各章节文件合并起来,或者 — 正如您将在下一节看到的 — 将照片文件合并起来。
示例
下面这个示例展示了如何使用 XML 和 XSLT 来合并用于出版的多个文档。每幅照片有两个文件:照片本身(JPEG 格式)和带有标题、日期和位置的 XML 描述。描述文件可能类似于清单 1。
清单 1. geneva.xml — 有关照片的 XML 描述
?xml version=1.0?
ph:photo xmlns:ph=/2003/tips/photo
ph:titleThe Jet dEau fountain/ph:title
ph:locationGeneva/ph:location
ph:dateApril 2003/ph:date
ph:description
The Jet dEau fountain is the most recognizable symbol of Geneva.
The fountain reaches 140 meters (460 feet) high, roughly the same height
as the Embassy Suites hotel in Times Square.
/ph:description
/ph:photo
清单 1 中的标记很简单。不用花很长时间就可以编写一个用 HTML 发布该文档的样式表。更令人感兴趣的问题是,如何创建一个图库,使它将清单 1 以及其它照片描述(譬如清单 2 中的描述)组合起来?(在可下载的代码中,您会发现更多的照片描述,可以在 参考资料中找到这些代码。)
清单 2. london.xml — 另一个有关照片的 XML 描述
?xml version=1.0?
ph:photo xmlns:ph=/2003/tips/photo
ph:titleDouble-decker bus/ph:title
ph:locationLondon/ph:location
ph:dateOctober 2002/ph:date
ph:description
An inescapable symbol of London, the double-decker bus is much taller
than typical buses to carry many passengers through the citys overcrowded
streets.
/ph:description
/ph:photo
在继续之前,我想向您展示一些定义。通过 Java API 传递给样式表的 XML 文档被称为主源文档。由样式表装入的其它文档被称为辅助源文档。
document() 函数
由于
文档评论(0)