我正在使用xproc、XML和http://xmlcalabash.com/。我想找到一个大型xml文档流的例子。例如,给定以下巨大的 xml文档:
<Books>
<Book>
<title>Book-1</title>
</Book>
<Book>
<title>Book-2</title>
</Book>
<Book>
<title>Book-3</title>
</Book>
<!-- many many.... -->
<Book>
<title>Book-N</title>
</Book>
</Books>我应该如何在x->N个文档上循环(流),比如
<Books>
<Book>
<title>Book-x</title>
</Book>
</Books>然后用xslt来处理每个文档?有可能用xproc吗?
发布于 2011-09-02 12:24:47
您应该看看QuiXProc ( http://code.google.com/p/quixproc ),它是一个基于Calabash的XProc实现,它添加了流和并行处理希望,这很有帮助。
发布于 2012-12-06 09:44:30
下面是如何使用将与XProc一起流的QuiXProc来实现的方法
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" version="1.0">
<p:load href="hugedocument.xml"/>
<p:for-each>
<p:iteration-source select="/Books/Book"/>
<p:xslt>
<p:input port="stylesheet">
<p:document href="book.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
</p:for-each>
<p:wrap-sequence wrapper="Books"/>
<p:store href="hugedocument.res.xml"/>
</p:declare-step>发布于 2009-06-07 08:38:47
我还记得最近关于XProc开发列表中与流相关的讨论。似乎卡拉巴斯没有尝试流,请参阅Norman消息这里。
Saxon,支持XSLT和XQuery的流,详细信息请参阅:http://www.saxonica.com/documentation/sourcedocs/serial.html。
https://stackoverflow.com/questions/878591
复制相似问题