Jukka Zitting wrote:
Alexandru Popescu wrote:
Isn't JCR-247 (chid axis support for XPATH predicates) a requirement of
JSR170?
I don't think so, even if the XPath grammar in JSR 170 defines
predicates quite generally as "[" Expr "]". The wording of JSR 170
indicates that XPath predicates need only be allowed for the last
location step and seems to indicate that only properties and the few
XPath functions are required. See the sections 6.6.3.3 and 6.6.4.7 of
the JSR 170 specification for details.
this is correct. the reason basically is, that the two specified query
syntaxes needed to be semantically interoperable. that means we had to
limit the required set of expressions that are allowed in predicates.
SQL is just not built to handle hierarchies.
I also believe that implementing JCR-247 is by no means a trivial task.
(Marcel, what do you think?) Thus even if JCR-247 was required by JSR
170, I think it would make sense to release 1.0 (or 0.9) without full
XPath support to make the release happen. There aren't that many (if
any!) RDBMs that support the full SQL standard...
there is one advantage with the xpath<->sql equivalence. with the
current specified scope nearly all queries can take full advantage of an
index and run quite fast even with extensive data.
adding support for arbitary xpath expressions will probably slow down
query processing. but still, count me in to support such extensions to
the current implementation.
jcr-247 is not trivial because the implementation currently only does
select operations whereas jcr-247 requires match operations.
regards
marcel