XSLT 与 XProc - 所需类型中的参数绑定

2023-12-09

我正在尝试将调用 Saxon(版本 8.9)的批处理文件转换为 XProc 管道(Calabash)。 这是我的批量调用:

java -jar saxon8.jar -o out.xml in.xml style.xsl +config=config-file.cfg

参数 config 在样式表中定义如下:

<xsl:param name="config" as="document-node()"/>

XProc 部分如下所示:

<p:load name="configLoad">
    <p:with-option name="href" select="'config-file.cfg'"/>
</p:load>
<p:xslt name="config">
    <p:input port="source">
        <p:document href="in.xml"/>
    </p:input>
    <p:input port="parameters">
        <p:inline>
            <c:param name="config">
                <p:pipe port="result" step="configLoad"/>
            </c:param>
        </p:inline>
    </p:input>
    <p:input port="stylesheet">
        <p:document href="style.xsl"/>
    </p:input>
</p:xslt>

错误信息是这样的:

变量$config的值所需的项目类型是document-node();提供的值具有项目类型 xs:string

我知道<p:exec>步骤,但我不想使用它,因为配置文件稍后将由其他 XSLT 转换生成。它还应被其他 XProc 步骤重用。

是否可以使用正确的参数类型调用 XSLT 样式表? 感谢您的帮助!


看来您对当前的 XProc 标准不走运。它指出参数是名称/值对,其中值的数据类型must是 untypedAtomic 的字符串。别问我为什么..

http://www.w3.org/TR/xproc/#parameters

如果您不会动态地编写配置的内容,而只是传递固定文件的内容,则可以仅传递相应配置文件的路径,并使用 fn:doc() 从XSLT 文件。

我建议不要即时编写配置文件。 XProc 中的执行顺序可能不像您预期​​的那样连续。

另一种方法是将每个配置设置作为单独的参数传递,但每个设置仍然必须遵守平面参数值类型。

HTH!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XSLT 与 XProc - 所需类型中的参数绑定 的相关文章

  • 将参数传递给 GWT bootstrap .nocache.js 脚本

    有没有办法将参数传递给 GWT 生成的 nocache js 脚本文件并在 onModuleLoad 函数中对其进行评估 就像这样 主机页 URL 应与内部工作的 GWT 内容完全分离 因此将 appId 参数作为主机页的查询参数传递并使用
  • 在 XSLT 中调用 Java 方法

    尝试借助 Java UUID 类生成随机数
  • (Python) 我应该使用参数还是将其设为全局参数? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有许多共享相同参数的函数 他们将多次输入和输出该参数 例如 a foo a fun a a bar a def fun a return a
  • WYSIWYG XML 编辑器(基于 DTD 或 RelaxNG 或 XSD 的语法)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要为自定义 XML 语法创建一个
  • 使用 XSLT 根据属性值合并 2 个 XML 文件?

    文件1 xml
  • 遍历/循环 XSL 键:如何?

    有没有办法遍历一个键并输出它包含的所有值
  • SqlCommand 参数与 String.Format [重复]

    这个问题在这里已经有答案了 我一直在互联网上搜索 但似乎找不到任何可以解释我的问题的内容 可能是我没有使用正确的搜索字符串 所以我在这里发帖希望有人可以帮助我有了这个 我的程序是使用Visual Studio 2010用C 编写的 我注意到
  • 在c中使用xslt创建xml文件

    我有 5 个不同的键 值对 并且我知道我的 xml 文件应该是什么样子 我怎样才能用它创建一个 xml 文件 1 我总是可以做 printf 不太好 2 我可以使用 xslt 样式表 xsl 文件 来执行此操作吗 而且 我还希望能够进行我刚
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值
  • 具有 java XSLT 扩展的数组

    我正在尝试使用 java 在 XSLT 扩展中使用数组 我收到以下错误 Caused by java lang ClassCastException org apache xpath objects XObject cannot be ca
  • 在 XSLT 中使用“<”而不是简单的“<”进行比较有什么大不了的?

    好的 在 XSLT 中我经常看到
  • xpath/xslt 确定上下文节点相对于所有同名节点的索引?

    给定下面的模式 以 查询 节点作为上下文 是否可以使用 xpath xslt 确定该 查询 节点相对于文档中所有 查询 节点的索引 而不是相对于其的position 直系兄弟姐妹 TIA Geoff section section
  • XSLT 将动态 XML 转换为 CSV 并且 XML 节点不完全重复 II

    我正在尝试创建 XSLT 将 XML 转换为 CSV 这里放置了我的 XML 和预期输出 任何人都知道如何获得以下输出 请优先分享我 我的 XML 是
  • 随机推荐

    • 排列矩阵的行和列

      假设我有以下矩阵 数组 array 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 0 我想应用以下排列 1 gt 5 2 gt 4 结果最终应该是 array 1 1 1 0 0 1 0 1
    • 如何确定文件、函数和行号?

      在 C 中 我可以像这样打印调试输出 printf FILE s FUNC s LINE d LOG s n FILE FUNCTION LINE logmessage 我怎样才能在Python中做类似的事情 有一个名为inspect它提供
    • CSS 悬停时更改颜色

      我试图用第二个来覆盖我的第一个 颜色变化 我希望在悬停文本时在图标上显示银色 在悬停图标时在图标上显示红色图标 I tried HTML ul li class liDoc a href My link a i class fa fa tr
    • 如何使用正则表达式 Java 将方括号内的破折号替换为下划线

      我试图用下划线替换方括号内的破折号 但它会用字符串中的下划线替换所有破折号 例如 我想替换 a a gamma with a a gamma 但它取代了all带有下划线的字符串中的破折号 您可以使用 String n a a gamma S
    • Task.WhenAny 和 SemaphoreSlim 类

      使用时WaitHandle WaitAny and Semaphore class像下面这样 var s1 new Semaphore 1 1 var s2 new Semaphore 1 1 var handles new s1 s2 v
    • 在调用所有 Promise 后循环遍历 jQuery Deferreds

      我目前正在尝试使用 HTML5 FileAPI 构建文件上传器 文件上传器应该处理多个文件并显示图像预览 如果文件是图像 由于 FileReader 类异步工作 我想等到所有文件都被读取 因此我正在使用 Deferreds 读取文件的方法返
    • Logstash:跨事件保持值

      我有一个日期在每个日志文件中只出现一次 并且我尝试在匹配一次后将该日期添加到所有后续事件中 使其在某些方面充当全局变量 日期位于文档顶部 我无法使用multiline或更改文件名或内容 为此 我的方法是使用grep过滤器drop gt fa
    • 使用 chrome.tabCapture.capture() 和 MediaRecorder() 时选项卡的原始音频被静音

      当我使用 chrome tabCapture capture 和 MediaRecorder API 来记录我正在捕获的选项卡的流原始音频时 该音频被静音 但音频在录制的流中正常 我希望选项卡中的音频正常运行 class Recorder
    • 我应该如何在 Java 中使用 getResource() ?

      这个问题在很多地方都有人提出 但也有很多细微的差别 例如Java getClassLoader getResource 让我发疯等等 我仍然无法让它发挥作用 这是一个代码片段 String clipName Chook wav ClassL
    • 为什么不可能覆盖仅 getter 的属性并添加 setter?

      为什么不允许使用以下 C 代码 public abstract class BaseClass public abstract int Bar get public class ConcreteClass BaseClass public
    • 如何并排放置两个jpanel

      我尝试将两个 jpanel 并排放置 但此时我无法执行我想要的操作 我有这个代码 this videoPanel new JPanel this videoPanel setBackground new Color 102 102 102
    • 在 Windows 批处理文件中访问剪贴板

      知道如何使用批处理文件访问 Windows 剪贴板吗 设置剪贴板的内容 如 Chris Thornton klaatu 和一堆其他人已经说过 使用 windir system32 clip exe 更新2 对于快速的一句台词 你可以这样做
    • 在Android中查看holder类

      这是一个基本问题 我正在浏览谷歌关于 Android 的官方视频 在其中他们使用 Viewholder 类作为 静态类Viewholder Image查看图像 文本视图文本 将此类声明为静态或将视图持有者用作静态内部类是否正确 我认为假设如
    • Python:运行时根据requirements.txt设置PYTHONPATH

      我有一个带有命令行脚本的 Python 应用程序 我通过公开脚本setuptools 入口点 功能 每当用户运行脚本时 我希望环境与包的一致requirements txt 这意味着环境必须包含与版本说明符匹配的每个依赖包的版本requir
    • SQLCMD:提示输入变量?

      来自 Oracle 的背景 Oracle 的 SQLPlus 可以让您指示一个变量 如果未设置该变量 系统会提示您提供一个值 我正在使用 SQLCMD 使用 var name 语法 在 SSMS SQLCMD 模式下 我得到 发生致命的脚本
    • Anaconda 更新后 Jupyter Notebook 内核失效

      我遇到了以下问题 更新 Anaconda 后 因为我将 skimage io 导入 Jupyter Notebook 中的项目时出错 出现了更大的错误 Dead Kernel 现在我无法启动一个项目 因为 Jupyter 给出以下错误 Co
    • 如何使用 iText\iTextSharp 创建圆角表格? [复制]

      这个问题在这里已经有答案了 我必须创建一个具有圆角的表格 如下所示 我可以用 iTextSharp 做到这一点吗 这是使用单元事件完成的 请参阅我的书中的日历示例 Java C 确保您没有向单元格添加任何 自动 边框 而是在单元格事件中自己
    • 防止浮动 div 换行到下一行

      首先 这是我的网站 您会注意到 在页面中间的分隔栏下方 有三列 一列包含表单 一列包含文本 一列包含链接 现在 将窗口大小调整为稍微小一些 右侧的 div 将下降到下一行 有没有办法不显示它 所以divs会调整 我有一个液体布局 到它们不适
    • 如何使用 CSS 来换行而不是用空格换行?

      使用以下标记 是否可以 以及如何 实现如预览中所示的换行 Markup div class filled box h2 Hi there h2 p I am just a text with some words that want to
    • XSLT 与 XProc - 所需类型中的参数绑定

      我正在尝试将调用 Saxon 版本 8 9 的批处理文件转换为 XProc 管道 Calabash 这是我的批量调用 java jar saxon8 jar o out xml in xml style xsl config config