| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| "SECTION","TOPIC","SYNTAX","TEXT" |
| |
| "Grammar","Query"," |
| '/jcr:root' { filter [ ... ] } |
| [ ( column [ | ... ] ) ] |
| [ 'order by' { ordering [ , ... ] } ] |
| [ queryOptions ] |
| "," |
| " |
| |
| "Grammar","Filter"," |
| / directChildNodeFilter |
| | // descendantNodeFilter |
| | * |
| | 'element'( [ * | nodeName ] [, nodeType] ) |
| | 'text()' |
| | '[' constraint ']' |
| | ( filter '|' unionFilter [...] ) |
| "," |
| " |
| |
| "Grammar","Column"," |
| 'rep:excerpt'( [. | [ relativePath / ] @propertyName ] ) |
| | 'rep:spellcheck'() |
| | 'rep:suggest'( [.] ) |
| | 'rep:facet' ( [ relativePath / ] @propertyName ) |
| "," |
| " |
| |
| "Grammar","Constraint"," |
| andCondition [ { 'or' andCondition } [...] ] |
| "," |
| " |
| |
| "Grammar","And Condition"," |
| condition [ { 'and' condition } [...] ] |
| "," |
| " |
| |
| "Grammar","Condition"," |
| comparison |
| inComparison |
| | [ 'fn:not' | 'not' ] (constraint) |
| | ( constraint ) |
| | 'jcr:contains'( [ { propertyName | . } , ] 'fulltextSearchExpression' ) |
| | 'jcr:like'( dynamicOperand , staticOperand ) |
| | 'rep:similar' ( propertyName , staticOperand ) |
| | 'rep:native' ( languageName , staticOperand ) |
| | 'rep:spellcheck' ( staticOperand ) |
| | 'rep:suggest' ( staticOperand ) |
| "," |
| " |
| |
| "Grammar","Comparison"," |
| dynamicOperand |
| { = | <> | != | < | <= | > | >= } |
| staticOperand |
| "," |
| " |
| |
| "Grammar","Fulltext Search Expression"," |
| ' anythingExceptSingleQuote ' | $ bindVariableName |
| "," |
| " |
| |
| "Grammar","Static Operand"," |
| textLiteral |
| | $ bindVariableName |
| | [ + | - ] numberLiteral |
| | 'true' [ () ] |
| | 'false' [ () ] |
| | 'xs:dateTime' ( literal ) |
| "," |
| " |
| |
| "Grammar","Ordering"," |
| dynamicOperand [ 'ascending' | 'descending' ] |
| "," |
| " |
| |
| "Grammar","Dynamic Operand"," |
| [ relativePath / ] { @propertyName | * } |
| | 'fn:string-length' ( dynamicOperand ) |
| | { 'fn:name' | 'fn:local-name' } ( [ . ] ) |
| | 'jcr:score' ( ) |
| | { 'fn:lower-case' | 'fn:upper-case' } ( dynamicOperand ) |
| | 'fn:coalesce' ( firstDynamicOperand, secondDynamicOperand ) |
| "," |
| " |
| |
| "Grammar","Path"," |
| { simpleName / [ ... ] } |
| "," |
| " |
| |
| "Grammar","Literal"," |
| ' anythingExceptSingleQuote ' |
| | "" anythingExceptDoubleQuote "" |
| | numberLiteral |
| "," |
| " |
| |
| "Grammar","Number Literal"," |
| [ + | - ] { { number [ . number ] } | { . number } } [ E [ + | - ] expNumber [...] ] ] |
| "," |
| " |
| |
| "Grammar","Number"," |
| 0-9 [...] |
| "," |
| " |
| |
| "Grammar","Name"," |
| simpleName |
| "," |
| " |
| |
| "Grammar","Type"," |
| simpleType |
| "," |
| " |
| |
| "Grammar","Options"," |
| 'option'( { |
| 'traversal' { 'ok' | 'warn' | 'fail' | 'default' } | |
| 'index' 'tag' tagName |
| } [ , ... ] ) |
| "," |
| " |
| |
| "Grammar","Explain"," |
| 'explain' ['measure'] { query } |
| "," |
| " |
| |
| "Grammar","Measure"," |
| 'measure' { query } |
| "," |
| " |