问题标签 [xproc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xproc - 具有默认后备值的源端口?
我有一个 XProc 步骤,我希望输入源像这样工作:
- 如果在命令行中使用 提供了 URL
-isource=foo.xml
,则使用该 URL 处的文档作为源文档; - 如果未提供 URL,
default.xml
则应使用该文档。
是否有可能在 XProc 中获得这种行为?
xproc - Xproc:如何在 href 中使用变量
我有一个变量,其中包含要应用的样式表的名称。
这不起作用:
我想我必须在 上做某种 URI 或 IRI 函数$filename
,但我无法弄清楚。
更新:我去了 grtjn 提供的链接并解除了<p:declare-step type="ut:xslt" name="current">
包装。
现在从变量应用 href 非常容易:
validation - 在 Calabash / xproc 中加载无效的 xml
我正在尝试创建一个用于验证 xhtml 文档的例程。我使用在 Calabash 中运行的 xproc。In 是一个 xhtml 文档。该文件可能无效。
为了测试,我编辑了一个 xhtml 文档。我只是删除了 a 并引入了一个错误。这是我希望在验证文档时检测到的错误。
为了验证我使用的 ,我提供了一个模式,并将验证结果输出到一个新文件中。
但是如果输入文件首先无效,xproc/Calabash 就会停止。错误消息基本上是来自撒克逊人的错误消息,指出缺少 。但我想要输出文件中的验证输出。我怎么做?
xproc - 具有默认后备值的输出端口?
我有一个 XProc 管道,我希望输出像这样工作:
- 如果在命令行中使用 提供了 URL
-oresult=foo.xml
,则管道的结果将写入该文档; - 如果未提供 URL,则应将结果写入
default.xml
.
是否有可能在 XProc 中获得这种行为?
与输入端口默认值的情况不同的是,<p:output>
元素的内容被用作输出端口的默认来源,而不是默认输出。
xproc - Xproc p:http-request 动态 href URI
我的 Calabash xproc 管道使用 p:http-request 来触发 GET 请求。服务器需要身份验证,所以我使用带有用户名/密码/身份验证方法属性的 ac:request。我正在努力解决如何动态填充 c:request 的 href 属性的问题。
葫芦似乎不喜欢:
这并不奇怪,因为动态设置 href 也不适用于 p:load。但在后一种情况下,添加 ap:with-option child 会有所帮助。使用 c:request,它不会。
所以这让我想知道是否有另一种解决方案?
pipeline - xProc - 暂停管道并在发生某些事件时继续它
我对 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 放在一起的经验?
rest - Exist-DB:REST GET 到存储的 XProc 文件(xpl 扩展名)返回错误
在 Exist 2.2 中,当我尝试使用 REST GET 访问任何 .xpl 文件时,我收到以下错误:
/db/beheer/pipe.xpl 错误:加载模块 xproc 时发现 XPST0003 错误:加载模块时出错 http://xproc.net/xproc:意外令牌:!(虽然期望元素构造函数的结束标记:null)[在第 1 行,第 2 列]
在我看来,Exist 正在处理 *.xpl,就好像它可以执行一样(如存储的 xquery),但它不能这样做并返回错误。
有没有一种简单的方法让它只返回 XML(XProc 原样而不是错误消息)?
apache-fop - Calabash 1.0.23 throws on xsl-formatter step: ERROR: Failed to instantiate FO provider
I'm trying to use XML Calabash 1.0.23 to run XSLT transformation and FO formatting in a single pipeline. Although the XSLT step works fine, I cannot get the xsl-formatter step to work with FOP.
Every time I run the pipeline, Calabash throws:
My call to Calabash from the command line is:
And the cfg.xml configuration file being referred to in the above line is:
For some reason, Calabash seems to ignore the config file setting, because regardless of the value of the class-name attribute on <cc:fo-processor>
, it always throws the same error message. For example, if I use com.xmlcalabash.util.FoAH
, the same happens; and if put a nonsensical value, the same occurs. It's always an exception on org/apache/fop/apps/FopFactory
.
Just for the sake of completeness, this is my XPL:
Of course, if I manually pass the generated FO from the XSLT step to FOP 1.1, it converts it to PDF with no problems. The issue only arises when trying to do the conversion within the pipeline.
I could really use some help to solve this. I'm clueless at this point.
xml - 进料输出进入Xproc 中的 HTTP PUT 请求
我在下面的 Xproc 管道的目标是接收一个源 XML 文档,运行 2 个带有<p:xslt>
步骤的 XSLT 转换,然后将第 2 个步骤之后的输出 XML 提供给第 2<p:xslt>
个<c:body>
步骤<p:http-request>
:
有没有办法做到这一点?当我尝试按原样执行此代码时,<p:http-request>
首先调用 (将一个空的 XML 文件放入数据库)。
xml - 将 xml 值评估为方程式
我正在尝试使用 Xquery、Xpath 或 Xproc 评估作为 xml 标记值插入的方程 - 用纯 XML 中的简单单词。我是这里的初学者,但在我看来它应该是可行的。为了更好地展示我想要实现的目标,请看这个例子:
现在会有一些魔法......结果我想得到类似的东西:
你能帮我解魔法吗?至少指出正确的技术——xquery、xpath 或 xproc 来做到这一点。谢谢。托多尔
编辑:为了避免指责我没有做任何研究——这是问题的一部分。我正在尝试确定要使用的 xml 系列中的最佳技术。这就是为什么我要寻求解决方案的方向而不是解决方案:)。谢谢。PS> 当然,我会感谢您的解决方案,但我不想占用您不必要的时间。