-
Notifications
You must be signed in to change notification settings - Fork 3
Formal definition of the evaluation of EXISTS expressions #325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
rubensworks
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also make sure that this update to the definition of EXISTS is also mentioned in the changelog. (fine for me if you prefer doing that in the final PR for #302)
Co-authored-by: Thomas Tanon <thomas@pellissier-tanon.fr>
TallTed
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More consistent code fencing
| No additional binding of variables occurs. The <code>NOT EXISTS</code> form | ||
| translates into <code>fn:<a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS {...})</code>.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| No additional binding of variables occurs. The <code>NOT EXISTS</code> form | |
| translates into <code>fn:<a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS {...})</code>.</p> | |
| No additional binding of variables occurs. The `NOT EXISTS` form | |
| translates into <code>fn:<a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS {...})</cde>.</p> |
| <p><code>NOT EXISTS { pattern }</code> is equivalent to <code><a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS { pattern | ||
| })</code>.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p><code>NOT EXISTS { pattern }</code> is equivalent to <code><a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS { pattern | |
| })</code>.</p> | |
| <p>`NOT EXISTS { pattern }` is equivalent to <code><a data-cite="XPATH-FUNCTIONS-31#func-not">fn:not</a>(EXISTS { pattern | |
| })</code>.</p> |
| <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ</var>) is not empty, | ||
| and</li> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ</var>) is not empty, | |
| and</li> | |
| <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ</var>) is not empty</li> |
This PR implements step 5 of #302. That is, it adds the formal definition of the evaluation of EXISTS expressions into Section 17.4.1.4 NOT EXISTS and EXISTS.
Additionally, the PR removes some text that is now obsolete in that section, and it adds a Note at the beginning of Section 18.6.2 Evaluation Semantics to clarify that the evaluation of EXISTS changes the context solution mapping μctx that is passed to the eval function.
Preview | Diff