如何使用 saxon sql:query where db.id='value of xml attribute' 查询数据库

How to query database using saxon sql:query where db.id='value of xml attribute'

我有一个要求,我需要使用 saxon sql 查询数据库;通过应用 where 子句进行查询,其中 database_table.ProductID 应该与传入的 xml 输入 productId

这是我到目前为止尝试过的方法:

<sql:query connection="$sql.conn" table="table_name" column="Product_ID" row-tag="row" column-tag="col" where="Product_ID="<xsl:value-of select="ProductItem/ProductItemId/text()"/>"" />

我遇到以下异常:

SXXP0003:XML 解析器报告的错误:元素类型 "sql:query" 必须后跟属性规范“>”或“/>”。

我发现很难在 XPath 中格式化 where 子句,任何人都可以建议什么是正确的格式。提前致谢。

尝试使用属性值模板,将 XPath 表达式放在花括号中 {...},如

<sql:query connection="$sql.conn" table="table_name" column="Product_ID" row-tag="row" column-tag="col" where="Product_ID=&quot;{ProductItem/ProductItemId}&quot;"/>