java xsl模板匹配

标签 java xml dom xslt

有谁知道 java 或任何包中的一种简洁方法可以让我检查 DOM 中的节点是否与 xsl 样式表中的模板匹配。

例如;

<xsl:template match="elem/child/item">
   ...
</xsl:template>

将是一个模板,我正在寻找一个匹配的使用类似的东西;

Node n = getNode();
String pattern = "elem/child/item"
boolean match = PatternMatcher.isMatch(n, pattern);

当然,所使用的模式可以是任何类型的 XPath 表达式,可以用作 xsl 样式表中的模板匹配。

如果有人知道可以通过包等实现这一点的好方法,我将不胜感激。谢谢

最佳答案

Saxon 的 XPathCompiler 对象:

http://www.saxonica.com/documentation/javadoc/net/sf/saxon/s9api/XPathCompiler.html

有一个compilePattern()方法,允许您编译XSLT模式。它以 XPathExecutable 的形式返回,可以通过以下方式进行评估:(a) 提供目标节点作为评估的上下文节点,以及 (b) 评估表达式以返回一个 boolean 值,如果模式与节点匹配,则该 boolean 值为 true 或否则为假。

关于java xsl模板匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807014/

相关文章:

java - 如何在新线程中返回值?

c# - NLog 自定义目标 XSD 警告

java - 722MB xml 文件的字符串最大大小

javascript - 从 jQuery 列表中的特定元素获取数据

java - 比正则表达式更好的系统

java - 使用 Gradle 时停止 IntelliJ IDEA 中的 Debug模式

JavaScript:构造函数可以创建 documentElement 对象吗?

javascript - JavaScript 函数能否检测调用它的 Flash DOM 对象?

java - 有没有办法在不到 O(n) 的时间内连接 Java 字符串?

javascript - 使用 jQuery 解析 XML