0
我正在编写一个库,用于生成复杂的XQuery表达式,该表达式针对来自两个不同名称空间的文档。但是,当我生成查询时,我不知道每个元素的特定命名空间,因此我目前正在生成两种可能组合的分离:针对多个命名空间的XQuery
// * [ns1:foo/ns1:bar =“某些条件”或ns2:foo/ns2:bar =“某些条件”]
是否有任何方法可以更好地生成此表达式,并且在性能方面更优化?
的一种可能的解决方案,我发现是使用:
声明默认元素的命名空间 “*”
在这种情况下,我可以简单地生成:
// * [富/栏=“某些条件“]
但看起来像这可能会增加额外的性能开销,因为我无法枚举两个可能的名称空间,并使用通配符代替。
将沿东西''* [local-name()='foo']/bar [* condition here *]'的行就够了吗? – JWiley 2013-03-12 15:10:12