0

我对 xProc 和 xPath 还很陌生,但有人要求我解决以下问题:

步骤 2 通过辅助端口从步骤 1 接收数据。步骤 2 包含一个p:for-each,它将文档保存到一个文件夹中,用于每个通过 for-each 的元素。(甲部分)

这些文档(假设我从 for-each 收到 6 个文档)位于同一目录中,并被过滤p:directory-list并最终存储在一个文档中,其中包含 for-each 创建的每个文档的完整路径。(乙部分)

到目前为止,一切都很好。

问题是 A 部分似乎太慢了。B 部分已经尝试在目录仍然为空时读取步骤 A 存储的数据。意思是,我遇到了性能/同步问题。

现在来了一个问题:是否可以让管道等待并在某个事件发生时让它继续?

这就是我的想象:步骤 B 会一直等待,直到步骤 A 存储数据的目录不再为空。我读了一些关于 的东西dbxml:breakpoint,但不幸的是,我找不到比名称和它似乎做什么的简短描述更多的信息:

设置断点,可选地基于条件,这将导致管道操作在断点处暂停,可能需要用户干预才能继续和/或发出消息。

如果您对它有更多了解并且可以举例说明它是如何使用的,那就太棒了。如果您知道解决此问题的解决方法或其他方法,这也会有所帮助。

更新:

在谷歌搜索了半天之后,我发现 SMIL 的时间表似乎可以解决问题。有没有人将 XML / xProc 和 SMIL 放在一起的经验?

4

1 回答 1

0

回到 2009 年底,我在一篇关于 O' 的博客文章中提出了“使用 SMIL 编排 XProc”的概念http://broadcast.oreilly.com/2009/09/xproc-and-smil-orchestrating-p.html赖利网络。

但是,我不确定这 (XProc + Time) 是否可以解决您的问题。对我来说,从你描述的情况来看,这并不完全清楚。您是否暗示您正在尝试将某些内容写入磁盘然后在后续步骤中读取它?您需要将内容保留在管道中,以确保您可以将输出连接到后续输入。

于 2014-11-02T19:20:02.220 回答