XML管道处理新XProc规范:常见操作

日期: 2010-05-04 作者:William Brogden翻译:杨晓明 来源:TechTarget中国 英文

这里是XProc实现中要求的31个标准步骤的一部分。XProc标准也定义了10可选的步骤,我们也期望个别人实现的更多。   使用schema验证文档  像元素中田间一个属性来匹配XSLTMatch模式  重命名有XSLTMatch模式选中的属性或元素  在文档中应用一个XSLT脚本  在被XSLTMatch模式识别的输入文档中删除条目,输出修改的文档。  从输入文档中选择仅被XSLTMatch模式定位的条目,创建一个新文档。

  删除整个被XPath表达式选中的节点。  创建一个包含XPath表达式选中节点的新文档。  根据XPath的规定比较两个XML文档是否一致。  在XSLTMatch模式……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

这里是XProc实现中要求的31个标准步骤的一部分。XProc标准也定义了10可选的步骤,我们也期望个别人实现的更多。

  •   使用schema验证文档
  •   像元素中田间一个属性来匹配XSLTMatch模式
  •   重命名有XSLTMatch模式选中的属性或元素
  •   在文档中应用一个XSLT脚本
  •   在被XSLTMatch模式识别的输入文档中删除条目,输出修改的文档。
  •   从输入文档中选择仅被XSLTMatch模式定位的条目,创建一个新文档。
  •   删除整个被XPath表达式选中的节点。
  •   创建一个包含XPath表达式选中节点的新文档。
  •   根据XPath的规定比较两个XML文档是否一致。
  •   在XSLTMatch模式定位点上向另一个插入文档。

  通过用它们的子节点替换匹配的元素来使文档的层级结构扁平化,用含有新元素的包装匹配节点做一下颠倒。

  实现

  XProc处理模型必然要复杂,文档的测试套件中有一千个以上的测试和想要的结果。这个测试套件是由需要的和可选的特性组成。两个实现都实现了高度符合要求的测试。

  • Calabash XML Calabash实现是一个基于java的由Norman Walsh维护的开源应用,他是XProc标准的作者之一。Calabash目前的版本0.9.19要求Java1.5,Saxon XSLT工具集,和一些额外的库。
  • Calumet EMC内容管理XProc引擎对Jeroen van Rotterdam的开发目的而言是个可以免费下载商业产品。采取的这种方法是为了解析XProc文档和编译由“管道运行者”用来操作输入数据的Java对象代表。现在的版本是1.0.10,它要求Java 1.6和附带的扩展文档。插件允许集成用有名的诸如ApacheFOP处理器这样的XML工具来创建pdf文档。

  总结

  为了将诸如XSLT和XPath这样的标准工具应用到更复杂问题集中,你或许考虑用XProc提供更广阔的扩展能力。既然XProc步骤要求内存中有个DOM(文档对象模型),XProc在文件总大小方面有基本的限制。注意,既然某些语言中的DOM除了内存要求的文本存储外还加入了很多对象,特别大的文档可能不得不按片处理。由于创建XProc XML管道的复杂性,我怀疑许多潜在的用户会为它们喜爱的IDE寻找XProc编辑器插件。

相关推荐

  • 解开XML未来的一元二次方程组

    1998年,当XML获得W3C批准后,一举摘得“当年突然涌现的技术”的称号,然而发展到现在,开发人员开始对XML的灵活性感到不满……

  • 整理数据的XML主题地图

    统上,XML为着两个重要的目的服务(事实上,做的非常好):XML为定义和加强文档的组织结构,以及在文档内部演示内容提供了奇妙的工具……

  • XQuery查询例子

    当XQuery查询时,不能满足XML的需求?我应该怎样使用XQuery查询?举一些具体的例子,说明你需要做的与XML可能会更容易提供一个确切的答案,但这里是一个概括……

  • 用XSLT进行WSDL处理

    在先前几篇介绍Web服务描述语言(WSDL)和基于WSDL的RDF应用的基础上,本文演示一些以不同方式使用可扩展样式表变换语言(XSLT)处理WSDL的方法。