0

我有一个包含数百个 XML 文件的文件夹,我想将其转换为 HTML 文件的文件夹。我创建了一个在 w3schools.com 的 XSLT 测试器中工作的 XSLT,但我不确定如何在数百个 XML 文档中应用该样式表。我的 XML 看起来像这样(我感兴趣的唯一节点是标题、作者和歌词):

<?xml version='1.0' encoding='utf-8'?>
<song xmlns="http://openlyrics.info/namespace/2009/song" version="0.8" createdIn="OpenLP     2.0.1" modifiedIn="OpenLP 2.0.1" modifiedDate="2012-03-14T02:21:52">
  <properties>
    <titles>
      <title>Amazing Grace</title>
    </titles>
    <authors>
      <author>John Newton</author>
    </authors>
  </properties>
  <lyrics>
    <verse name="v1">
      <lines>Amazing grace, how sweet the sound<br/>That saved a wretch like me<br/>I once was lost, but now am found<br/>Was blind but now I see</lines>
    </verse>

关于这个的几个问题:

1) 使用 XQuery 会不会更好,因为我只对每个 XML 文件中提取几行感兴趣?

2) 无论 XSLT/XQuery 是什么,我如何实现转换 XML 文件文件夹的解决方案(无需手动编辑每个文件以调用 XSL 样式表)?我正在运行 OS X 10.8.4。

提前致谢。

4

2 回答 2

0
  1. 我认为如果您将所有 XML 都放在数据库中,XQuery 会更方便,但在文件系统上 XSLT 可能更简单。

  2. 我只会使用Saxon-PE,然后从 shell 脚本中调用它。您也可以使用 Automator。

于 2013-07-23T16:32:23.373 回答
0

xsltproc只需使用该命令编写您自己的 shell 脚本。这就是我成功用于 XSLT 批处理的方法。

或者只是打开一个 shell,cd进入包含 XML 文件的文件夹,然后输入以下两个命令:

mkdir results
xsltproc -o results/ path/to/stylesheet.xslt *.xml
于 2013-08-09T23:48:57.110 回答