我对xProc和xPath相当新,但我已被要求解决以下问题:
步骤2通过辅助端口从步骤1接收数据。步骤2包含p:for-each
,它将文档保存到每个传递for-each的元素的文件夹中。
(A部分)
这些文件(假设我从for-each收到6份文件)位于同一目录中,并由p:directory-list
过滤,最终存储在一个文件中,包含每个文件的完整路径记录for-each创建的。 (B部分)
到目前为止,非常好。
问题是A部分似乎太慢了。 B部分已经尝试读取数据步骤A. 目录仍为空时存储。这意味着,我遇到了性能/同步问题。
现在问题是: 是否有可能让管道等待并在某个事件发生后立即让它继续?
这就是我想象的:
步骤B在必要时等待,直到步骤A存储数据的目录不再为空。我读了一些关于
dbxml:breakpoint
,但遗憾的是,我无法找到比名称更多的信息
它似乎做的简短描述:
根据条件设置断点,这将导致管道操作在断点处暂停,可能需要用户干预才能继续和/或发出消息。
如果你对它有更多的了解并且可以举例说明它是如何使用的话,那就太棒了。如果您知道解决方法或解决此问题的其他方法,它也会有所帮助。
更新
搜索谷歌半个月后,我发现SMIL的时间表似乎可以解决问题。有没有人将XML / xProc和SMIL一起投入使用?
答案 0 :(得分:0)
回到2009年底,我提出了使用SMIL'编排XProc的概念。 http://broadcast.oreilly.com/2009/09/xproc-and-smil-orchestrating-p.html在O' Reilly网络的博文中。{/ p>
但是,我不确定这个(XProc + Time)是解决问题的方法。对我来说,从你描述发生了什么事情并不完全清楚。您是暗示您是否正在尝试将某些内容写入磁盘,然后在后续步骤中阅读它?您需要将管道中的内容保留在管道中,以确保您可以将输出连接到后续输入。