问题标签 [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.

0 投票
1 回答
237 浏览

xml - Xproc:将动态href传递给

我有一个在输入上运行 XSLT 的管道,然后通过一个<p:http-request>步骤将该结果放入数据库中。

这里棘手的一点是,我需要使用<p:xslt>XML 输出中的元数据来构建动态 href。

这里是我想要实现的伪代码:

正如您在该<p:variable>步骤中看到的,我正在尝试构建一个字符串并使用该<p:xslt>步骤的输出 XML 中的属性值构造它,并将其输入到我<c:request>的步骤的 href 选项中。

我尝试在<p:attribute match>之前添加一个更改 href 属性的步骤,<p:http-request>但它没有获取我需要的/*/@nameand/*/@number值:

0 投票
2 回答
433 浏览

xpath - XProc - 如何将子管道重复特定次数

我想重复 XProc 子管道给定的次数。(在我的用例中,子管道由一个执行步骤组成,它在先前创建的 .tex 文件上运行 LaTeX)

我的代码的简化版本如下所示,到目前为止没有结果:

我不知道 p:iteration-source 元素中的 XPath-2.0 表达式是否存在问题。但是,以下工作并给出正确的结果“消息:3”:

我的 exec-step 在 for-each 循环之外进行了测试并且可以工作。我在 Oxygen 16.0 下使用 Calabash。

0 投票
1 回答
145 浏览

xml - XProc 和 CDATA

我有一个 XSLT,可以在节点内创建一些 CDATA。

XML:

XSLT:

这个通过 Saxon 执行的转换返回:

我知道我将 XML 包装在 CDATA 中,这有点荒谬。但这是我正在使用的 API 所期望的,所以我别无选择,只能遵循这种模式。

现在我试图将此转换包含在更大的 XProc 管道中:

返回(使用最新版本的葫芦):

XProc 似乎不支持 disable-output-escaping 属性。

我继续尝试了一些 XProc 函数,包括 p:unescape-markup 和 p:string-replace 的各种组合,但我找不到不会对我的其余输出产生不利影响的解决方案。

有什么想法我可以尝试下一步吗?

0 投票
0 回答
47 浏览

ftp - XProc 从 FTP 访问 XML 数据(带身份验证)

我的目标是通过 XProc 访问位于 FTP 服务器上的 XML 文档。这个特定的 FTP 服务器需要身份验证。

我在 Java 8 上使用最新版本的 Calabash (1.1.6-96)。

当不需要身份验证时,以下 XProc 可以完美运行:

但是,如果您尝试访问需要身份验证的 FTP 服务器:

Calabash 将返回错误:

错误:如果 ap:document 元素引用的资源不存在、无法访问或不是格式良好的 XML 文档,则为动态错误。

表示它无法访问该文档。

奇怪的是,我安装了旧版本的 Oxygen (16.0),它带有旧版本的 Calabash (1.0.*),而第二个使用身份验证的 XProc 运行良好。因此,Calabash 内部要么发生了一些变化,要么与旧的 Oxygen/Calabash 配置相关的其他一些东西使它工作。

我也对访问此文件的替代方法持开放态度。我已经尝试换掉了<p:document><p:http-request>但这并没有成功。

0 投票
3 回答
114 浏览

exist-db - 来自 eXist-db 中 XProcxq 模块的错误

我们正在运行 eXist-db 3.0 版并想尝试在其中运行 XProc。

我们发现 XProcxq 模块现在是 eXist 的一部分:http ://exist-db.org/exist/apps/doc/extensions.xml#module_xprocxq

然而,在尝试使用它时,我们得到了下面的错误,并想知道是否有人对我们可能出错的地方提出建议?

正如链接到的模块页面顶部所指定的,我们将模块添加到 conf.xml 文件并重新启动 eXist。(这可能是我们出错的地方,但这是我们的猜测)

这是我们添加的模块在 conf.xml 中的样子:

这是我尝试使用的简单启动 XQuery:

这是错误: 加载模块 xproc 时发现错误:从“ http://xproc.net/xproc ”加载模块“ http://xproc.net/xproc ”时出现 IO 异常

0 投票
0 回答
193 浏览

xml - 具有多个 http 请求步骤的 XProc 管道

我有一个包含两个http-request步骤的 XProc 管道。第一个http-request检索包含一系列 RDF/XML 文档的 XML 文档。一个xquery步骤仅提取 RDF/XML,然后我想将其发布到第二个中的 SPARQL 端点http-request。在最后一步中,我想再次从 SPARQL 端点检索数据,以便进行进一步处理。

我尝试按照类似问题的解决方案进行操作,但我收到一个错误(在 XML Calabash 中),说明Expression could not be evaluated: c:request/c:body: Prefix c has not been declared.这是当前管道,它正在通过 XForms 提交给 Calabash Piperack 服务:

如果我将step@match属性中的 XPath 更改为,则前缀错误消失并且 post 提交正常工作。但是有没有办法用前缀做到这一点?p:insert/*[local-name() = 'request']/*[local-name() = 'body']

最后,该rdf-load步骤在其他步骤完成之前执行,但我需要它始终最后执行。rdf-load鉴于该步骤没有从其他步骤直接输入,我该怎么做?

0 投票
1 回答
122 浏览

xquery - xproc: p:xquery 具有多个输入文档

根据XProc:W3C 建议p:xquery 只获取一个输入文档和参数(只能是原子的,对吗?)

如果我的查询有多个输入文档(来自前面的步骤),我真的必须先存储它们并将它们加载到查询中吗?

0 投票
2 回答
71 浏览

xquery - xproc 和 XQuery 3.1

来自XProc:W3C 推荐/ p:xquery

p:xquery 步骤应用 [XQuery 1.0] 查询

我可以将 xproc 与 XQuery 3.1 一起使用吗?

0 投票
2 回答
410 浏览

xslt - 将 document() 参数传递给 XProc 管道中的 xslt

我已经建立了一个 XProc 管道,其中我有一个<p:xslt>步骤。在这个样式表的参数中,我有一个参数是 document() 节点:

这是 km_to_dita.xsl 样式表:

因此,我通过以下步骤在我的管道中调用此 XSLT(出于演示目的,它使用 a 进行设置,<p:inline>但旨在绑定到步骤的结果端口):

但是在使用 XML Calabash(在 oXygenXML 中)运行它时它会失败,引发的错误是(对不起,这是我所拥有的所有信息)但是已经确定它<p:with-param name="graphics-reference-names">是导致此错误的原因):

无效的

任何想法?

0 投票
0 回答
140 浏览

pipeline - 如何在 BaseX 中实现 XProc

我正在开展一个项目,在将数据摄取到 BaseX 数据库时,我必须执行多个步骤。为了方便起见,我想在 XProc 中定义这些步骤。特别是我们需要 DOCX 到 DocBook 和 DocBook 到 DOC 的转换。

我的 BaseX 版本是 8.6.44。我试过https://github.com/fgeorges/calabash-basex-steps但不支持。我试图将一些 jar 导入 BaseX 但无法正常工作。

请帮助我在 BaseX 上启动 XProc。