在XSLT和Java类之间共享XPath

时间:2012-11-06 22:42:11

标签: java xml xslt xpath

在XSLT(即网页,HTML报告等)和Java类(即Xml节点对象等)之间是否存在共享XPath的通用解决方案?例如,某种类型的独立XML配置文件包含所有XPath,然后可以由XSLT样式表和Java类读取它们用于各种目的?

当我从更改中解析数据的XML数据的模式(模式是许多经常更改的组织使用的模式)时,这将非常方便 - 然后我可以只更改这个单一的事实来源并在更新架构时反映在XSLT和Java类中。

我想我在这里展示了我对XSLT的有限经验。一个更好的问题可能是:您可以读取外部文件(如果是,哪些类型?)并将这些外部文件中的值作为XSLT中的变量分配?

谢谢!

1 个答案:

答案 0 :(得分:1)

许多XSLT处理器都有一个xx:evaluate()扩展,可用于从文件中读取XPath表达式并执行它们。如果XPath表达式封装了与样式表本身分开维护的业务规则(例如价格折扣的计算),那么它可能是一种有用的技术。

另一种技术是将XPath表达式封装在函数库(可能是Java,可能是XQuery)中,以便可以从Java或XSLT调用这些函数。细节取决于您使用的实际技术。