问题标签 [xalan]

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 投票
2 回答
639 浏览

java - ant - 试图复制到 /lib/endorsed,库在 Windows 7 中无法用于下一个任务

在 Windows 7 上,我有一个 ant 目标,它将 xalan 库复制到 jdk 认可的目录中,以便可以进行下一个 xslt 转换任务。

ant 目标第一次运行时,xslt 转换失败。第二次运行时,jar 文件已经在正确的位置,并且 xslt 转换成功。

ant 目标第一次运行时,看起来文件复制成功。这感觉像是一个时间问题,但我不知道我能做些什么来解决它。

这是我的复制任务:

有没有人见过这样的事情?

0 投票
1 回答
1812 浏览

java - 重用 xalan 变压器导致其扩展功能中断

我正在使用 xalan 2.7.1 使用 xslt 样式表验证我的 xml 文档。它适用于第一个文档,并通过使用 NodeInfo.lineNumber 和 NodeInfo.columnNumber 扩展名在出错的情况下返回错误消息以及 xml 源的正确行号和列号。

问题是当我尝试重用转换器来验证其他 xml 文档时,它成功地转换了文档,但对于所有错误总是返回 lineNumber=columnNumber=-1。
任何的想法?

编辑:这是我的代码::

编辑:这里是 myXslt.xsl 和 XML 源:

源1.xml:

和 source2.xml

0 投票
1 回答
1209 浏览

java - 如何从 CLASSPATH 中引用 XSD 来验证我的 XML?

作为我的 XML 转换(使用 XSL)的一部分,我正在为模式位置创建一个属性,以便可以验证转换的结果。但是,当我尝试将其作为独立测试运行时,我希望能够为架构位置设置适当的属性/值,使其脱离我的 CLASSPATH。

经过一番谷歌搜索后,我尝试了各种 schemaLocation 属性,最新的尝试是:

转换后的结果是:

当验证器运行时,我仔细检查了我的 emrException_1_0.xsd 文件是否在 CLASSPATH 中。它是一个 DOM 验证器,我使用的是 Xerces 2.9.1/Xalan 2.7.1,我得到的结果是:

但是,当我切换到使用从文件系统或外部 URL 读取 XSD 文件的模式位置时,验证器运行起来很有趣。

如何从我的 CLASSPATH 中读取 XSD?

0 投票
2 回答
3760 浏览

java - TransformerFactory.newInstance().newTransformer(streamSource) 返回 null

TransformerFactory.newInstance().newTransformer(streamSource) 怎么可能返回 null。根据javadoc,这是不可能的:http: //download.oracle.com/javase/6/docs/api/javax/xml/transform/TransformerFactory.html#newTransformer(javax.xml.transform.Source)

这是 groovy 代码示例

这是输出:

--Output from testTransformation--
java.io.BufferedInputStream@32999f10
javax.xml.transform.stream.StreamSource@399ed64
org.apache.xalan.processor.TransformerFactoryImpl@6eb04214
null

0 投票
2 回答
3906 浏览

xml - EXSLT:没有更多的 DTM ID 可用

我整天都在寻找这个问题的答案。我正在为中等大小的 XML 文档(~1.5MB,~1000 个元素)创建样式表,这给我带来了很多麻烦。它是关于为不同的加工厂设备创建事件时间线图。XML 通过 SAP MII QueryTempalte 生成,格式为 /Rowsets/Rowset/Row。所有这些数据都以 /Equipments/Equipment/Event 格式处理并存储在本地节点集中。然后将此节点集处理为 HTML,然后在浏览器中呈现。现在,我开始遇到一些麻烦。我可以轻松地提取过去 5 天的数据,从而从 MII 中提取约 900 行数据,并处理为我的节点格式,从而产生略低于 900 行的数据。但是第二次我从 MII 获取了 1017 行,样式表只会呈现大约一半,然后停止并出现“没有更多可用的 DTM ID”异常。现在,MII 服务器只运行 JDK 1.5.x,而且我读过,这可能是个问题——唯一的问题是,我对此无能为力。所以现在我在这里问:有没有办法优化我的代码?我为我的 XSL 和一个示例 XML 附加了一些链接。

XSL:http : //pastie.org/1566517 Samlpe XML:http ://pastie.org/1566522

现在,示例 XML 可能不会产生任何“有趣”的视觉结果,并且无法复制错误。但是,如果有人能发现一个明显的优化,我很想知道:) 我一直在想,替换/移动 startOffset、endOffset 等的计算会很好,但我不知道怎么做。

希望可以有人帮帮我!:)

0 投票
1 回答
1037 浏览

java - Xalan 扩展元素 - 无法选择变量

我编写了一个简单的 Xalan 扩展,它选择一个节点并返回它的文本。XPath 处理器工作正常,直到我尝试使用变量引用。IE:

产生正确的结果(节点内容),但是

生成错误:变量不可解析:var1。我需要的是解析变量(和模板参数)和其他 XPath 表达式。

有类似的问题(XALANJ-1136),但涉及扩展功能,而不是元素。我做错了什么,还是另一个错误?

代码如下:

XSLT:

以及生成的结果:

我正在使用 Xalan 2.7.1

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

xslt - 通过 XSLT-1.0 访问 Java 方法时出现问题

通过 XSL 访问 Java 方法时出现问题。'我有一个 java 类 DirectoryReader.java 和一个静态方法 totalPhotos,它返回一个 int。在我的 XSL 中,我定义了一个命名空间:xmlns:dirReader="xalan://com.mngi.eidos.util.DirectoryReader并且我正在尝试访问 totalPhotos 方法,例如:

有人可以告诉我我的方法有什么问题吗?

我仍然收到以下错误

ERROR: 'The first argument to the non-static Java function 'totalPhotos' is not a valid object reference

0 投票
1 回答
451 浏览

xslt - 本地 XML 命名空间定义未按预期工作

我正在处理从 ArgoUML 导出的 XMI 文档。它具有表单元素

<UML:DataType href='http://argouml.org/profiles/uml14/default-uml14.xmi#-84-17--56-5-43645a83:11466542d86:-8000:000000000000087C'/>

它指向表单的一个项目

我已经在 xslt 文件的顶部声明了 xmlns:UML="org.omg.xmi.namespace.UML" 。我想我应该使用类似的东西:

推断我的 UML 属性类型是整数,但这给了我

SystemId Unknown; Line #136; Column #94; A location step was expected following the '/' or '//' token.

如果我将 xmlns 更改为 AAA,那么我不会收到任何错误,而是一个空标签。我在 Debian 挤压上使用 Xalan2。我错过了什么?