Documentation Home
X DevAPI User Guide
Download this Manual

X DevAPI User Guide  /  CRUD EBNF Definitions  /  Other EBNF Definitions

11.7 Other EBNF Definitions

SearchConditionStr

The syntax for this function shown in EBNF is:

SearchConditionStr
  ::= '"' Expression '"'

Figure 11.24 SearchConditionStr

Content shows the syntax in EBNF form as described in the preceding text.

SearchExprStrList

The syntax for this function shown in EBNF is:

SearchExprStrList
  ::= '[' '"' Expression '"' ( ',' '"' Expression '"' )* ']'

Figure 11.25 SearchExprStrList

Content shows the syntax in EBNF form as described in the preceding text.

ProjectedDocumentExprStr

The syntax for this function shown in EBNF is:

ProjectedDocumentExprStr
  ::= ProjectedSearchExprStrList | 'expr("' JSONDocumentExpression '")'

Figure 11.26 ProjectedDocumentExprStr

Content shows the syntax in EBNF form as described in the preceding text.

ProjectedSearchExprStrList

The syntax for this function shown in EBNF is:

ProjectedSearchExprStrList
  ::= '[' '"' Expression ( 'AS' Alias )? '"' ( ',' '"' Expression ( 'AS' Alias )? '"' )* ']'

Figure 11.27 ProjectedSearchExprStrList

Content shows the syntax in EBNF form as described in the preceding text.

SortExprStrList

The syntax for this function shown in EBNF is:

SortExprStrList
  ::= '[' '"' Expression ( 'ASC' | 'DESC' )? '"' ( ',' '"' Expression ( 'ASC' | 'DESC' )? '"' )* ']'

Figure 11.28 SortExprStrList

Content shows the syntax in EBNF form as described in the preceding text.

ExprOrLiteral

The syntax for this function shown in EBNF is:

ExprOrLiteral
  ::= 'expr("' Expression '")' | Literal

Figure 11.29 ExprOrLiteral

Content shows the syntax in EBNF form as described in the preceding text.

ExprOrLiterals

The syntax for this function shown in EBNF is:

ExprOrLiterals
  ::= ExprOrLiteral ( ',' ExprOrLiteral )*

Figure 11.30 ExprOrLiterals

Content shows the syntax in EBNF form as described in the preceding text.

ExprOrLiteralOrOperand

The syntax for this function shown in EBNF is:

ExprOrLiteralOrOperand
  ::= ExprOrLiteral

Figure 11.31 ExprOrLiteralOrOperand

Content shows the syntax in EBNF form as described in the preceding text.

PlaceholderValues

The syntax for this function shown in EBNF is:

PlaceholderValues
  ::= '{' PlaceholderName ':' ( ExprOrLiteral ) '}'

Figure 11.32 PlaceholderValues

Content shows the syntax in EBNF form as described in the preceding text.

PlaceholderName

The syntax for this function shown in EBNF is:

PlaceholderName
  ::= NamedPlaceholderNotQuestionmarkNotNumbered

Figure 11.33 PlaceholderName

Content shows the syntax in EBNF form as described in the preceding text.

CollectionFields

The syntax for this function shown in EBNF is:

CollectionFields
  ::= ( '[' CollectionField ( ',' CollectionField )* ']' )

Figure 11.34 CollectionFields

Content shows the syntax in EBNF form as described in the preceding text.

CollectionField

The syntax for this function shown in EBNF is:

CollectionField
  ::= '@'? DocPath

Figure 11.35 CollectionField

Content shows the syntax in EBNF form as described in the preceding text.

DocPath

The syntax for this function shown in EBNF is:

DocPath
  ::= ( '[*]' | ( '[' Index ']' ) | '.*' | ( '.' StringLiteral ) | '**' )+

Figure 11.36 DocPath

Content shows the syntax in EBNF form as described in the preceding text.

Literal

The syntax for this function shown in EBNF is:

Literal
  ::= '"' StringLiteral '"' | Number | true | false | Document

Figure 11.37 Literal

Content shows the syntax in EBNF form as described in the preceding text.

Expression

Figure 11.38 Expression

Content is described in the surrounding text.

Document

An API call expecting a JSON document allows the use of many data types to describe the document. Depending on the X DevAPI implementation and language any of the following data types can be used:

  • String

  • Native JSON

  • JSON equivalent syntax

  • DbDoc

  • Generated Doc Classes

All implementation of the X DevAPIs allow expressing an document by the special DbDoc type and as a string.

The syntax for this function shown in EBNF is:

Document
  ::= JSONDocument | JSONEquivalentDocument | DbDoc | GeneratedDocumentClasses

Figure 11.39 Document

Content shows the syntax in EBNF form as described in the preceding text.

JSONExpression

The syntax for this function shown in EBNF is:

JSONExpression
  ::= JSONDocumentExpression | '[' Expression ( ',' Expression )* ']'

Figure 11.40 JSONExpression

Content shows the syntax in EBNF form as described in the preceding text.

JSONDocumentExpression

The syntax for this function shown in EBNF is:

JSONDocumentExpression
  ::= '{' StringLiteral ':' JSONExpression (',' StringLiteral ':' JSONExpression)* '}'

Figure 11.41 JSONDocumentExpression

Content shows the syntax in EBNF form as described in the preceding text.

FunctionName

The syntax for this function shown in EBNF is:

FunctionName
  ::= StringLiteral | StringLiteral '.' StringLiteral

Figure 11.42 FunctionName

Content shows the syntax in EBNF form as described in the preceding text.

DocumentOrJSON

The syntax for this function shown in EBNF is:

DocumentOrJSON
  ::= Document | 'expr("' JSONDocumentExpression '")'

Figure 11.43 DocumentOrJSON

Content shows the syntax in EBNF form as described in the preceding text.

TableField

The syntax for this function shown in EBNF is:

TableField
  ::= ( StringLiteral '.' )? ( StringLiteral '.' )? StringLiteral ( '@' DocPath )?

Figure 11.44 TableField

Content shows the syntax in EBNF form as described in the preceding text.

TableFields

The syntax for this function shown in EBNF is:

TableFields
  ::= ( '[' TableField ( ',' TableField )* ']' )

Figure 11.45 TableFields

Content shows the syntax in EBNF form as described in the preceding text.


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.