Quick Search
Browse
Pages
Blog
Labels
Attachments
Mail
Advanced
What’s New
Space Directory
Feed Builder
Keyboard Shortcuts
Confluence Gadgets
Log In
Dashboard
GeoTools
Copy Page
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account. You can also
Sign Up
for a new account.
This page is being edited by
.
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
More colours
Strikethrough
Subscript
Superscript
Monospace
Clear Formatting
Bullet list
Numbered list
Outdent
Indent
Align left
Align center
Align right
Link
Table
Insert
Insert Content
Image
Link
Attachment
Symbol
Emoticon
Wiki Markup
Horizontal rule
tinymce.confluence.insert_menu.macro_desc
Info
JIRA Issue
Status
Gallery
Tasklist
Table of Contents
Other Macros
Page Layout
No Layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Undo
Redo
Find/Replace
Keyboard Shortcuts Help
<p>This document describes the new query language, called <strong>ECQL</strong>. It is a CQL Like language which offers a more flexible syntax in order to support all filter and expression possibilities.</p> <img class="editor-inline-macro" src="/plugins/servlet/confluence/placeholder/macro?definition=e3RvY30&locale=en_GB&version=2" data-macro-name="toc"> <h3>ECQL Grammar</h3> <p>In this section are presented the ECQL's syntax rules. EBNF metalanguage is used to describe the grammar.</p> <h5>Search conditions</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <sequence of search conditions> ::= <search condition> |<sequence of search conditions> <semicolon> <search condition> <search condition> ::= <boolean value expression> </pre></td></tr></table> <h5>Boolean Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <boolean value expression> ::= <boolean term> | <boolean value expression> OR <boolean term> <boolean term> ::= <boolean factor> | <boolean term> "AND" <boolean factor> <boolean factor> ::= [ "NOT" ] <boolean primary> </pre></td></tr></table> <h5>Boolean Primary Predicates</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <boolean primary> ::= <predicate> | <left parent> <search condition> <right parent> | <left bracket> <search condition> <right bracket> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <predicate> ::= <comparison predicate> | <like text predicate> | <null predicate> | <temporal predicate> | <existence_predicate> | <between predicate> | <id predicate> | <spatial predicate> | <include exclude predicate> </pre></td></tr></table> <h5>Comparison Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <comparison predicate> ::= <expression> <comp op> <expression> <comp op> ::= <equals operator> | <not equals operator> | <less than operator> | <greater than operator> | <less than or equals operator> | <greater than or equals operator> </pre></td></tr></table> <h5>Like Text Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <like text predicate> ::= <expression> [ "NOT" ] "LIKE" <character pattern> <character pattern> ::= <character string literal> (* pattern examples : attribute like '%contains_this%' attribute like 'begins_with_this%' attribute like '%ends_with_this' attribute like 'd_ve' will match 'dave' or 'dove' attribute not like '%will_not_contain_this%' attribute not like 'will_not_begin_with_this%' attribute not like '%will_not_end_with_this' *) </pre></td></tr></table> <h5>Null Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <null predicate> ::= <expression> "IS" [ "NOT" ] "NULL" </pre></td></tr></table> <h5>Existence Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <existence_predicate> := <attribute_name> "EXISTS" | <attribute_name> "DOES-NOT-EXIST" </pre></td></tr></table> <h5>Between Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <between predicate> ::= <expression> [ "NOT" ] "BETWEEN" <expression> "AND" <expression> </pre></td></tr></table> <h5>Temporal Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <temporal predicate> ::= <expression> "BEFORE" <date-time expression> | <expression> "BEFORE" "OR" "DURING" <period> | <expression> "DURING" <period> | <expression> "DURING" "OR" "AFTER" <period> | <expression> "AFTER" <date-time expression> <date-time expression ::= <date-time> | <period> </pre></td></tr></table> <h5>ID Predicate</h5> <p>Deprecated Syntax</p> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <id predicate> ::= [ "NOT" ] "IN" "(" <id> {"," <id> } ")" <id> ::= <character string literal> </pre></td></tr></table> <p>New Syntax (since 2.7.rc1)</p> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <id predicate> ::= [ "NOT" ] "IN" "(" <id> {"," <id> } ")" <id> ::= <character string literal> | <integer literal> </pre></td></tr></table> <h5>IN Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <in predicate> ::= <attribute-name> [ "NOT" ] "IN" <in predicate value> <in predicate value> ::= "(" <in value list> ")" <in value list> ::= <expression> {"," <expression>} </pre></td></tr></table> <h5>INCLUDE/EXCLUDE Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <include exclude predicate> ::= INCLUDE | EXCLUDE </pre></td></tr></table> <h5>Expression</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <expression> ::= <term> { <addition operator> <term> } | <geometry literal> <addition operator>::= <plus sign> | <minus sign> <term> ::= <factor> { <multiplication operator> <factor> } <multiplication operator> ::= <asterisk> | <solidus> <factor> ::= <function> | <literal> | <attribute> | ( <expression> ) | [ <expression> ] <function> ::= <identifier> "(" ( <function arguments> ("," <function arguments> )* )? ")" <function arguments> ::= <literal> | <attribute> | <expression> <literal> ::= <signed numeric literal>| <general literal> <signed numeric literal> ::= [ <sign> ] <unsigned numeric literal> <general literal> ::= <character string literal> | <boolean literal> | <geography literal <boolean literal> ::= "TRUE" | "FALSE" </pre></td></tr></table> <h5>Spatial Predicate</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <geometry predicate> ::= <geoop name><georoutine argument list> | <expression><relgeoop name><relgeoop argument list> | BBOX <bbox argument list> <geoop name> ::= EQUALS | DISJOINT | INTERSECTS | TOUCHES | CROSSES | WITHIN | CONTAINS |OVERLAPS | RELATE <georoutine argument list> ::= "(" <expression> "," <expression> ")" <relgeoop name> ::= "DWITHIN" | "BEYOND" <relgeoop argument list> ::= "(" <expression> "," <expression> "," <tolerance> ")" <tolerance> ::=<unsigned numeric literal><comma><distance units> <distance units> ::= = "feet" | "meters" | "statute miles" | "nautical miles" | "kilometers" </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> bbox argument list> ::= "(" <attribute>"," <min X>"," <min Y>"," <max X>"," <max Y> ["," <crs>] ")" | "(" <expression>"," <min X>"," <min Y>"," <max X>"," <max Y> ["," <crs>] ")" | "(" <expression>"," <expression> ")" bbox argument list> ::= "(" <attribute>"," <min X>"," <min Y>"," <max X>"," <max Y> ["," <crs>]")" | "(" <expression>"," <min X>"," <min Y>"," <max X>"," <max Y> ["," <crs>] ")" | "(" <expression>, <expression> ")" <min X> ::= <signed numerical literal> <min Y> ::= <signed numerical literal> <max X> ::= <signed numerical literal> <max Y> ::= <signed numerical literal> <crs> ::= ... (* default: EPSG:4326. *) </pre></td></tr></table> <h5>Geometry Literal</h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <geometry literal> := <Point Tagged Text> | <LineString Tagged Text> | <Polygon Tagged Text> | <MultiPoint Tagged Text> | <MultiLineString Tagged Text> | <MultiPolygon Tagged Text> | <GeometryCollection Tagged Text> | <Envelope Tagged Text> <Point Tagged Text> ::= POINT <Point Text> <LineString Tagged Text> ::= LINESTRING <LineString Text> <Polygon Tagged Text> ::= POLYGON <Polygon Text> <MultiPoint Tagged Text> ::= MULTIPOINT <Multipoint Text> <MultiLineString Tagged Text> ::= MULTILINESTRING <MultiLineString Text> <MultiPolygon Tagged Text> ::= MULTIPOLYGON <MultiPolygon Text> <GeometryCollection Tagged Text> ::=GEOMETRYCOLLECTION <GeometryCollection Text> <Point Text> := EMPTY | <left paren> <Point> <right paren> <Point> := <x><space><y> <x> := numeric literal <y> := numeric literal <LineString Text> := EMPTY | <left paren> <Point> \{<comma><Point >\}...<right paren> <Polygon Text> := EMPTY | <left paren><LineString Text>\{<comma><LineString Text> \}...<right paren> <Multipoint Text> := EMPTY | <left paren><Point Text>\{<comma><Point Text >\}...<right paren> <MultiLineString Text> := EMPTY | <left paren><LineString Text>\{<comma><LineString Text>\}...<right paren> <MultiPolygon Text> := EMPTY | <left paren><Polygon Text>\{<comma><Polygon Text>\}...<right paren> <GeometryCollection Text> := EMPTY | <left paren><Geometry Tagged Text>\{<comma><Geometry Tagged Text>\}...<right paren> <Envelope Tagged Text> ::= ENVELOPE <Envelope Text> <Envelope Text> ::= EMPTY | <left paren><WestBoundLongitude><comma> <EastBoundLongitude><comma> <NorthBoundLatitude><comma> <SouthBoundLatitude>< <right paren> <WestBoundLongitude> ::= <numeric literal> <EastBoundLongitude> ::= <numeric literal> <NorthBoundLatitude> ::= <numeric literal> <SouthBoundLatitude> ::= <numeric literal> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <date-time> ::= <full-date> T <UTC-time> <full_date> ::= <date-year> <date-month> <date-day> <date-year> ::= <digit><digit><digit><digit> <date-month> ::= <digit><digit> <date-day> ::= <digit><digit> <UTC-time> ::= <time-hour> : <time-minute> : <time-second> Z <time-hour> ::= <digit><digit> <time-minute> ::= <digit><digit> <time-second> ::= <digit><digit>[.<digit>...] <duration> ::= P <dur-date> | T<dur-time> <dur-date> ::= <dur-day> | <dur-month> | <dur-year> [<dur-time>] <dur-day> ::= <digit>... D <dur-month> ::= <digit>... M [<dur-day>] <dur-year> ::= <didit>... Y [<dur-month>] <dur-time> ::= <dir-hour> | <dur-minute> | <dur-second> <dur-hour> ::= <digit>... H [<dur-minute>] <dur-minute> ::= <digit>... M [<dur-second>] <dur-second> ::= <digit>... S <period> ::= <date-time> / <date-time> | <date-time> / <duration> | <duration> / <date-time> </pre></td></tr></table> <h5>Lexical Rules </h5> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <SQL terminal character> ::= <SQL language character> <SQL language character> ::= <simple Latin letter> | <digit> | <SQL special character> <simple Latin letter> ::= <simple Latin upper case letter> | <simple Latin lower case letter> <simple Latin upper case letter> ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z <simple Latin lower case letter> ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <SQL special character> ::= <space> | <double quote> | <percent> | <ampersand> | <quote> | <left paren> | <right paren> | <asterisk> | <plus sign> | <comma> | <minus sign> | <period> | <solidus> | <colon> | <semicolon> | <less than operator> | <equals operator> | <greater than operator> | <question mark> | <left bracket> | <right bracket> | <circumflex> | <underscore> | <vertical bar> | <left brace> | <right brace> <space> ::= /*space character in character set in use In ASCII it would be 40*/ <double quote> ::= " <percent> ::= % <ampersand> ::= & <quote> ::= ' <left paren> ::= ( <right paren> ::= ) <asterisk> ::= * <plus sign> ::= + <comma> ::= , <minus sign> ::= - <period> ::= . <solidus> ::= / <colon> ::= : <semicolon> ::= ; <less than operator> ::= < <equals operator> ::= = <greater than operator> ::= > <question mark> ::= ? <left bracket> ::= [ <right bracket> ::= ] <circumflex> ::= ^ <underscore> ::= _ <vertical bar> ::= | <left brace> ::={ <right brace> ::=} <separator> ::= { <comment> | <space> | <newline> }... /* The next section of the BNF defines the tokens available to the language. I have deleted the concepts of bit string, hex string and national character string literal. Keywords have been added to support the geo literals. */ <token> ::= <nondelimiter token> | <delimiter token> <nondelimiter token> ::= <regular identifier> | <key word> | <unsigned numeric literal> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <regular identifier> ::= <identifier body> | <double quote> {"any character"} <double quote> <identifier body> ::= <identifier start> [ { <underscore> | <identifier part> }... ] <identifier start> ::= <simple latin letter> <identifier part> ::= <identifier start> | <digit> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <key word> ::= <reserved word> <reserved word> ::= NOT | AND | OR | LIKE | IS | NULL | EXISTS | DOES-NOT-EXIST | DURING | AFTER | BEFORE IN | INCLUDE | EXCLUDE | TRUE | FALSE | EQUALS | DISJOINT | INTERSECTS | TOUCHES | CROSSES | WITHIN | CONTAINS| OVERLAPS | RELATE | DWITHIN | BEYOND | POINT | LINESTRING | POLYGON | MULTIPOINT | MULTILINESTRING | MULTIPOLYGON | GEOMETRYCOLLECTION </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <unsigned numeric literal> ::= <exact numeric literal> | <approximate numeric literal> <exact numeric literal> ::= <unsigned integer> [<period>[<unsigned integer> ] ] | <period> <unsigned integer> <unsigned integer> ::= <digit>... <approximate numeric literal> ::= <mantissa> E <exponent> <mantissa> ::= <exact numeric literal> <exponent> ::= <signed integer> <signed integer> ::= [ <sign> ] <unsigned integer> <sign> ::= <plus sign> | <minus sign> <character string literal> ::= <quote> [ <character representation>... ] <quote> <character representation> ::= <nonquote character> | <quote symbol> <quote symbol> ::= <quote><quote> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> /*End of non delimiter tokens*/ /* I have limited the delimiter tokens by eliminating, interval strings and delimited identifiers BNF and simplifying the legal character set to the characters to a single set so no identification of character set would be needed decision. */ <delimiter token> ::= <character string literal> | <SQL special character> | <not equals operator> | <greater than or equals operator> | <less than or equals operator> | <concatenation operator> | <double greater than operator> | <right arrow> | <left bracket> | <right bracket> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <character string literal> ::= <quote> [ <character representation>... ] <quote> <character representation> ::= <nonquote character> | <quote symbol> <quote symbol> ::= <quote><quote> <not equals operator> ::= <> <greater than or equals operator> ::= >= <less than or equals operator> ::= <= </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> /*The following section is intended to give context for identifier and namespaces. It assumes that the default namespace is specified in the query request and does not allow any overrides of the namepace */ <identifier> ::= <identifier start [ { <colon> | <identifier part> }... ] <identifier start> ::= <simple Latin letter> <identifier part> ::= <simple Latin letter> | <digit> <attribute name> ::= <simple attribute name> | <compound attribute name> <simple attribute name> ::= <identifier> <compound attribute name> ::= <identifier><period> [{<identifier><period>}...] <simple attribute name> </pre></td></tr></table> <table class="wysiwyg-macro" data-macro-name="noformat" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e25vZm9ybWF0fQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> <integer literal> ::= ... <floating literal> ::= ... <boolean literal> ::= TRUE | FALSE </pre></td></tr></table> <h3>ECQL Model</h3> <p>This section presents the UML model which describe the interface and implementation of ECQL parser.</p> <h5>Interface</h5> <p>This diagram presents the package interface. The parser's methods perform the parsing of ECQL predicates and expressions and builds the filter.</p> <p><img class="confluence-embedded-image" src="/download/attachments/230400678/org.geotools.filter.text.ecql-interface+details.jpg?version=1&modificationDate=1368934558048" data-image-src="/download/attachments/230400678/org.geotools.filter.text.ecql-interface+details.jpg?version=1&modificationDate=1368934558048" data-linked-resource-id="230565068" data-linked-resource-type="attachment" data-linked-resource-default-alias="org.geotools.filter.text.ecql-interface details.jpg" data-base-url="http://docs.codehaus.org" data-linked-resource-container-id="230400678" title="null > org.geotools.filter.text.ecql-interface details.jpg"></p> <h5>Implementation</h5> <p>Below, the figure shows the principal class of the parser and build process implementation. ECQLParser does a top down analysis of the input string and makes the parsing tree. Each time ECQLParser builds a node, it calls the ECQLCompiler, which implements the semantic actions related and builds the product or subproduct required to make the Filters and Expressions at the end of the parsing process.</p> <p><img class="confluence-embedded-image confluence-thumbnail" src="/download/thumbnails/230400678/org.geotools.filter.text.ecql-implementation.jpg?version=1&modificationDate=1368934558071" data-image-src="/download/attachments/230400678/org.geotools.filter.text.ecql-implementation.jpg?version=1&modificationDate=1368934558071" data-linked-resource-id="230565069" data-linked-resource-type="attachment" data-linked-resource-default-alias="org.geotools.filter.text.ecql-implementation.jpg" data-base-url="http://docs.codehaus.org" data-linked-resource-container-id="230400678" title="null > org.geotools.filter.text.ecql-implementation.jpg"></p>
Please type the word appearing in the picture.
Attachments
Labels
Location
Watch this page
< Edit
Preview >
Loading…
Save
Cancel
Next hint
search
attachments
weblink
advanced