问题标签 [saxon]

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 回答
672 浏览

xslt - 在撒克逊人中调用 exslt 时出错

我收到错误消息:

“找不到名为 { http://exslt.org/common }node-set() 的匹配 1 参数函数”

使用 Saxon 引擎运行 xslt 转换时。

我试过在 Windows XP 上使用 Saxon PE 和 EE,但它给出了同样的错误。EXSLT 应该与 Saxon 一起开箱即用。请问有没有人可以解决这个问题?

0 投票
2 回答
304 浏览

xml - 匹配多个输出文件的模板

我有一个输出到 html 的 XSL 文档。我想运行一个批处理,使用 filelist.xml 对多个 XML 输入文档执行此转换,并带有相应的 html 输出文件,如下所示:

然后如何将模板应用到这些文件中的每一个,就像我正在处理一个文件一样?IE:

其中“指导”是我的源 XML 的根节点。这是不正确的,因为我必须嵌套一个模板。解决这个问题的正确方法是什么?

谢谢。

0 投票
2 回答
2541 浏览

spring - Spring - XSLT,从 Xalan 切换到 Saxon

我有简单的课程:

我试图通过设置transformerFactoryClass来使用撒克逊

使用 Xalan 时一切正常,但使用 Saxon 时出现错误:

我使用 Tiles,所以我的 home.jsp 文件如下所示:

我有撒克逊依赖:

我应该以其他方式设置撒克逊人吗?比在 AbstractXsltView 中设置转换更好的解决方案吗?

0 投票
1 回答
665 浏览

spring - Spring - 使用 XSLT 的网页

我是 XSLT 的新手,我知道将 XSLT 集成到 Spring Web 应用程序的最佳解决方案是什么。我在这里找到了快速示例,但总而言之,我在正确的字符编码和切换到撒克逊处理器方面遇到了麻烦(我在这里这里参考了我以前的问题)。在书中:“Spring in Action”通过扩展 AbstractXsltView 来描述解决方案。比让我选择撒克逊处理器的 AbstractXsltView 更好的方法吗?比从 .jsp 文件执行转换更好的方法吗?

0 投票
1 回答
649 浏览

xslt - Saxon Transformerfactory 在变压器输出中放置了不必要的 xmlns:xsd="http://www.w3.org/2001/XMLSchema"

我正在使用 Sax 转换器工厂对大量 xsd 文件进行 XSLT 转换,因此 xslt 的特定行如下。

参考标记是文档的根,但结果有一个不需要的 xmlns:xsd 属性,如下所示。

这个附加属性导致使用转换后的 xml 的解析器出现问题。这是 XSLT 还是 SAXON api 的问题,我该如何避免这种情况?

0 投票
1 回答
188 浏览

c# - C#:循环调用外部进程的目录

我有下面的 C# 代码,用于输入目录中的每个文件,在其上运行 XQuery 进程,并将每个文件输出为 XML 文件。该代码调用 SAXON XQuery 处理器。注意:代码现在可以工作,但它只处理目录中的第一个文件。输入目录中的第二个、第三个等输出文件作为空 XML 文件返回。问题:如何修改代码以处理输入目录中的所有文件(不仅仅是第一个文件)?

0 投票
3 回答
5473 浏览

java - Java XSLT 转换中 newTransformer 和 newTemplates 的区别

在 Java 中,从TransformerFactory用于创建对象到处理 XSLT,它具有以下方法:

  • newTransformer它创建 Transformer对象,该对象可以将 XML 转换为结果。
  • newTemplates它创建了Templates可以创建Transformer.

文档Transformer明确指出:

一个 Transformer 可以多次使用。

我的应用程序使用相同的 XSLT 处理各种不同的 XML。在程序开始时,我newTransformer用来创建一个Transformer然后为所有 XML 重新使用它(确保它是同步的,所以我只从一个线程中使用它;并reset()在每次处理之前调用它的方法。)。

这样我就不会为我处理的每个 XML 重新编译 XSLT 的成本。

那么对象newTemplatesTemplates对象有什么意义呢?我应该改用它,并Transformer为每个 XML 创建一个新对象吗?

0 投票
2 回答
609 浏览

xml - 递归地对 XML 进行排序 - 仅对内部节点进行排序

我需要以首先对所有 ShippingPoints 进行排序的方式对示例 XML 进行排序,然后是 Cargos 根据其第一个 ShippingPoint 进行排序,最后是 Transports 根据其第一个 Cargo 中的第一个 ShippingPoint 进行排序。所以基本上我正在尝试根据它们应该开始的日期对所有传输进行排序。

现在,我找到了一个使用 XSL 递归的解决方案,除了只有 Cargos 和 ShippingPoints 按预期排序 - 最外部的 Transport 节点没有。我想知道我在这里做错了什么。MSXML (VS2008) 和 Saxon 解析器都给了我完全相同的结果。

示例 XML 代码:

XSLT 代码:

0 投票
1 回答
236 浏览

saxon - saxon:重用 XsltTransformer 对象的问题

使用 Saxon-B,我正在尝试遵循 javadoc 并连续重用 XsltTransformer 对象。

我受挫于:

0 投票
2 回答
83 浏览

xslt-2.0 - 与复制某些元素相关的 xslt namspace

因此,我有一个样式表,它大部分时间都在将元素从“命名空间 a”转换为 xhtml 命名空间。

然而,在一种特殊情况下,我希望允许输入词汇表包含任何 xhtml 元素。从模式的角度来看,我<xs:any namespace="...."/>为 xhtml 命名空间添加了一个。

看起来像:

样式表用于xsl:copy-of将 passthrough 元素的子元素复制到输出中。

我正在使用的 Saxon-B(最新版本)似乎对命名空间有点愚蠢。尽管整个输出文档的目标命名空间是 xhtml 命名空间,但输出看起来像:

注意无意义的前缀,而不是仅仅放出<div ...>. 请注意,整个业务的文档元素 ('html') 定义了xmlns="ttp://www.w3.org/1999/xhtml".

有什么办法可以整理一下吗?