有谁知道 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/