【发布时间】:2015-12-06 00:41:23
【问题描述】:
我浏览了各种关于从外部属性文件中读取属性的帖子。看起来有一个函数 - getProperty,它可以使用键从属性文件中读取值。我正在使用带有弹簧集成的撒克逊解析器。我正在尝试这样的事情,如帖子中所述:-
弹簧上下文文件:
<int-xml:xslt-transformer id="xsltTransformer" input-channel="bulkStringInboundChannel"
output-channel="toBridgeChannel" result-type="StringResult" **transformer-factory-class="net.sf.saxon.TransformerFactoryImpl"**
xsl-resource="classpath:/META-INF/spring/integration/intake/intake-flow/bulkTransformer.xsl" />
XSL 样式表:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
....
<xsl:variable name="props" select="document('prop.xml')" />
<xsl:value-of select="f:getProperty('query1')"/>
....
Prop.xml:
query1 = /Batch/RequestID/text()
错误描述: XPST0003:{f:getProperty('query1')} 中第 30 行 char 23 处的 XPath 语法错误: XTSE0650: 不存在名为 getProperty 的模板
我现在有两个问题——首先,我该如何摆脱这些错误?
其次,我可以将 xPath 查询存储在属性文件中吗?该帖子描述了一种方法,用于读取属性文件并使用与其键相关的值。但是,我认为 getProperty 只会打印查询的等效文本,而不是评估查询并处理它。有没有办法做到这一点?
【问题讨论】:
标签: xpath spring-integration xslt-2.0 saxon