Draft: draft-ietf-jsonpath-base

Commentary: Use parentheses as an indication that something is a function . Also , do n't confuse the reader by alluding to potential future alternatives to value ( ) . Reviewers : is this an improvement ? It 's a draft PR for now until we decide the change is worthwhile . 
 I think we 'll need to explain the ( ) notation , which should be familiar to C programmers but not necessarily to people who grew up on other languages . I also think we have a few more examples that point to hypothetical functions , such as , , . 
 I do n't think there 's a great point at which to explain that notation and , based on your observation , I 'm going off the idea . 
 Let 's see how pans out before taking the current PR any further . Once I remove the function parentheses , the two PRs are changing the same text . 
 1 would be the place . 
 As you suggested , I introduced this in 1.1 , but near the start since it 's notation rather than terminology . I did a regexp search to find and fix the remaining examples ( your list was complete ) . In doing so , I found the strange markup and removed the backticks since there was no good reason for them . 
 We could do the fun ( ) explanation and completeness search in a separate PR .
Paragraph (version B):
Functions are referred to using the function name followed by a pair
of parentheses, as in "fname()".
Paragraph (version A):
A "wildcard" selector selects the nodes of all children of an object
or array.  The order in which the children of an object appear in the
resultant nodelist is not stipulated, since JSON objects are
unordered.  Children of an array appear in array order in the
resultant nodelist.
Paragraph (version A):
The "wildcard" selector selects nothing from a primitive JSON value
(that is, a number, a string, "true", "false", or "null").
Paragraph (version B):
A wildcard selector selects the nodes of all children of an object or
array.  The order in which the children of an object appear in the
resultant nodelist is not stipulated, since JSON objects are
unordered.  Children of an array appear in array order in the
resultant nodelist.
Paragraph (version B):
The wildcard selector selects nothing from a primitive JSON value
(that is, a number, a string, "true", "false", or "null").
Paragraph (version A):
Extraction of a value from a nodelist can be performed in several
ways, so an implicit conversion from "NodesType" to "ValueType" may
be surprising and has therefore not been defined.  A function
expression with a declared type of "NodesType" can indirectly be used
as an argument for a parameter of declared type "ValueType" by
wrapping the expression in a call to a function extension such as
"value" (see value).
Paragraph (version B):
Extraction of a value from a nodelist can be performed in several
ways, so an implicit conversion from "NodesType" to "ValueType"
may be surprising and has therefore not been defined.
Paragraph (version B):
A function expression with a declared type of "NodesType" can
indirectly be used as an argument for a parameter of declared type
"ValueType" by wrapping the expression in a call to a function
extension, such as "value()" (see value), that takes a parameter
of type "NodesType" and returns a result of type "ValueType".
Paragraph (version A):
The "match" function extension provides a way to check whether (the
entirety of, see search below) a given string matches a given regular
expression, which is in I-D.draft-ietf-jsonpath-iregexp form.
Paragraph (version B):
The "match()" function extension provides a way to check whether (the
entirety of, see search below) a given string matches a given regular
expression, which is in I-D.draft-ietf-jsonpath-iregexp form.
Paragraph (version A):
The "search" function extension provides a way to check whether a
given string contains a substring that matches a given regular
expression, which is in I-D.draft-ietf-jsonpath-iregexp form.
Paragraph (version B):
The "search()" function extension provides a way to check whether a
given string contains a substring that matches a given regular
expression, which is in I-D.draft-ietf-jsonpath-iregexp form.
Paragraph (version A):
Note: a singular query may be used anywhere where a ValueType is
expected, so there is no need to use the "value" function extension
with a singular query.
Paragraph (version B):
Note: a singular query may be used anywhere where a ValueType is
expected, so there is no need to use the "value()" function extension
with a singular query.