我正在使用 xquery 来搜索和比较源 xml 文件中的值与 svg 文件。这是我的xquery:
for $xval in $figure/graphic/sheet/doc(@svgsrc)//*[text() = $rdi/text()],
$line in $figure/graphic/sheet/doc(@svgsrc)/svg/line
where functx:between-inclusive($xval/@x, $line/@x2, $line/@x1)
return $line/@class
当所有 $xval(svg 文本元素)都具有 @x 属性时,上面的 xquery 运行良好。但是,一些 $xval 具有 @transform="matrix(0 -1 1 0 248.402 118.972)" 其中 x 值是矩阵的第 5 位。
functx:between-inclusive 的第一个参数是否可能来自 2 个不同的属性值?
有没有更好的办法?