草庐IT

Saxon-HE

全部标签

java - 关于使用 Saxon 对具有默认命名空间的 xml 进行 xpath 解析

我想要一些与使用saxon对默认命名空间进行xpath解析相关的信息。我正在使用Saxon-HE-9.5.1-3.jar在我的代码中使用xpath2功能。在类路径中包含saxon库后,我在为具有默认命名空间的XML文档解析xpath时遇到问题。示例XML我正在使用:100有效的XPATH:/RESPONSE/HEADER/HITS以下是它有效和无效的情况:"XPATHWorks":当没有指定命名空间时示例:"XPATHWorks":当给定带有前缀的命名空间时示例:“XPATH不起作用”:当给出带有out前缀的默认命名空间时示例:你能帮我解释一下为什么撒克逊人以不同的方式对待无命名空间和

xml - 来自命令行的 Saxon-HE 9.6 的换行符分隔输出

有没有办法在Saxon-HE9.6的多个匹配节点上获取换行符分隔的输出?我使用这个名为saxon-lint的包装器:#!/bin/bashjava-cp/path/to/saxon9he.jarnet.sf.saxon.Query-s:"$2"-qs:"$1"!method=text示例:文件.xmlhairballsDillyNamelessKatie命令行:$saxon-lint'/house_pet_hazards/hazard/guilty_party'file.xml输出:DillyNamelessKatie预期输出:DillyNamelessKatie编辑I'vefound

xml - 我如何使用 Saxon 以高效的方式对值进行多次搜索/替换

我使用saxonv9分析了一个将XML转换为JSON的XSL转换。探查器告诉我,转义某些字符的函数大约占总处理时间的70%。转换很重要,否则创建的JSON文件将因字符中断字符串而无效。java-jarsaxon9he.jar-xsl:jsontransform.xslt-s:input.xml-o:output.json-TP用于转义值的“方法”如下所示:我已经在thisotherpost中收到RolfLear@rolfl的宝贵建议并减少替换调用的次数:...replace('\n| ','\\n'),replace('\r| ','\\r'),replace('\t|

xml - 如何在 Java 中使用不编码的 Saxon XPath 处理器

我想我可以制作一些XSL样式表,然后将其用作带有参数选项的模板,以在命令行上使用SaxonXSLT处理器评估XPath表达式,例如:另外一种可能性是使用他们的JavaAPI:http://www.saxonica.com/documentation/xpath-api/intro.xml但我不懂Java有没有办法让Saxon从命令行计算XPath表达式?如果可能,Shell脚本也足够了更新:浏览撒克逊documentation,我发现了有关XPathExample示例的信息。不幸的是我不能使用它 最佳答案 您可以从命令行运行Saxo

java - 如何使用 Saxon java 库命令行工具执行 schematron 验证?

非常基本的问题-我有一个xml文件,我想根据schematron文件验证它。我如何使用撒克逊命令行来做到这一点?根据commandline引用我没有看到任何指定schematron文件的选项。 最佳答案 扩展之前的答案,因为我需要这样做,但它没有提供足够的信息(而且因为我的脚本已经在做十几个XSL转换-还有四个吗?)基于thiswebsite可以通过一系列XSL转换针对schematron验证XML文件。由于我还需要有关如何与saxon结合的信息-这里是saxon的修改,在Windows框上,带有目录文件。下面是我如何通过计算机上的

xml - xsl :result-document from within Altova XML with Saxon 的奇怪行为

我的输入文件:我的样式表:它不会创建两个结果文档。这是为什么?(使用saxon9he)这不应该创建两个名为a.xml和b.xml的XML文档吗? 最佳答案 如果您从oXygen或Altova运行样式表,这实际上是一个已知功能(或错误,如果您愿意)。我不确定现在的版本是否还有这个“特性”,但它的工作原理如下:如果没有主要结果文档(即生成一个空序列)还有一个次要结果文档(即带有xsl:result-document)在用户界面中显示第一个这样的结果文档让任何其他结果文档正常创建我相信这是因为这些工具使用某种UriResolver来重定向

c# - 从 Saxon 9.4he 中的嵌入式资源加载 xml 和 xslt

我正在使用Saxon9.4家庭版(Saxon-HE9.4.NET)来获得对XSLT2.0和XPath2.0以及.NET中的XQuery1.0的支持。当我加载没有URI的文件时,我的代码崩溃了。是否可以在没有与所加载文档相关的URI的情况下加载xml/xsl文档?如果没有,是否有任何方法可以为嵌入在dll文件中的元素定义URI?任何其他解决方案也将受到赞赏,我唯一的术语是文件必须从dll文件中加载。只要我从文件加载xml/xsl,我的代码就可以完美运行:conststringsourcePath=@"C:\test\TestInvoiceWithError.xml";conststrin

java - 如果 Saxon 在 CLASSPATH 上,命名空间未知的 XPath 表达式失败

我有以下示例XML文件:使用XPath表达式/foo:a/foo:b('foo'在NamespaceContext)我可以正确计算b节点的数量,当Saxon-HE-9.4.jar在CLASSPATH上和不在CLASSPATH上时,代码都有效。但是,当我使用namespace解析同一个文件时-不知道DocumentBuilderFactory,XPath表达式“/a/b”正确计算了的数量b节点仅当Saxon-HE-9.4.jar不在CLASSPATH上时。代码如下:importjava.io.*;importjava.util.*;importjavax.xml.xpath.*;impo

java - 如何在 Saxon 的 XQuery 中动态引用 XML 文件

我正在使用XQuery处理器Saxon。现在我们将XQuery写在一个“.xqy”文件中,我们引用将在其上执行XQuery的XML文件。请看下面的例子:for$xindoc("books.xml")/books/bookwhere$x/price>30return$x/title现在我想使用未存储在某些路径中的动态生成的XML。比方说,我想在下面引用以字符串形式提供的XML。该怎么做?Stringbook=LearnJavain24HoursRobert200530.00Learn.Netin24hoursPeter201140.50LearnXQueryin24hoursRobert

xml - XSLT 3.0 流式传输 (Saxon)

我有一个很大的XML文件(6GB),其中包含这种树:EJohnSmith[...][...][...]如果我在其上应用XSLT样式表,则会出现此错误:Exceptioninthread"main"java.lang.OutOfMemoryError:Javaheapspace所以我想尝试新的XSLT3.0功能:流式传输,使用Saxon9.6EE。我不想在文档中限制一次流式传输。我认为,我想做的事情非常接近此处描述的“突发模式”:http://saxonica.com/documentation/html/sourcedocs/streaming/burst-mode-streaming