X DevAPI User Guide
The syntax for this function shown in EBNF is:
SearchConditionStr ::= '"' Expression '"'
The syntax for this function shown in EBNF is:
SearchExprStrList ::= '[' '"' Expression '"' ( ',' '"' Expression '"' )* ']'
The syntax for this function shown in EBNF is:
ProjectedDocumentExprStr ::= ProjectedSearchExprStrList | 'expr("' JSONDocumentExpression '")'
The syntax for this function shown in EBNF is:
ProjectedSearchExprStrList ::= '[' '"' Expression ( 'AS' Alias )? '"' ( ',' '"' Expression ( 'AS' Alias )? '"' )* ']'
The syntax for this function shown in EBNF is:
SortExprStrList ::= '[' '"' Expression ( 'ASC' | 'DESC' )? '"' ( ',' '"' Expression ( 'ASC' | 'DESC' )? '"' )* ']'
The syntax for this function shown in EBNF is:
ExprOrLiteral ::= 'expr("' Expression '")' | Literal
The syntax for this function shown in EBNF is:
ExprOrLiterals ::= ExprOrLiteral ( ',' ExprOrLiteral )*
The syntax for this function shown in EBNF is:
ExprOrLiteralOrOperand ::= ExprOrLiteral
The syntax for this function shown in EBNF is:
PlaceholderValues ::= '{' PlaceholderName ':' ( ExprOrLiteral ) '}'
The syntax for this function shown in EBNF is:
PlaceholderName ::= NamedPlaceholderNotQuestionmarkNotNumbered
The syntax for this function shown in EBNF is:
DocPath ::= ( '[*]' | ( '[' Index ']' ) | '.*' | ( '.' StringLiteral ) | '**' )+
The syntax for this function shown in EBNF is:
Literal ::= '"' StringLiteral '"' | Number | true | false | Document
Expression ::= Literal | DocPath | TableField | FunctionName '(' Expression ( ',' Expression )* ')' | ':' PlaceholderName | Expression Operator Expression | JSONExpression
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 implementations of X DevAPI allow expressing a document by the special DbDoc type and as a string.
The syntax for this function shown in EBNF is:
Document ::= JSONDocument | JSONEquivalentDocument | DbDoc | GeneratedDocumentClasses
The syntax for this function shown in EBNF is:
JSONExpression ::= JSONDocumentExpression | '[' Expression ( ',' Expression )* ']'
The syntax for this function shown in EBNF is:
JSONDocumentExpression ::= '{' StringLiteral ':' JSONExpression (',' StringLiteral ':' JSONExpression)* '}'
The syntax for this function shown in EBNF is:
FunctionName ::= StringLiteral | StringLiteral '.' StringLiteral
The syntax for this function shown in EBNF is:
DocumentOrJSON ::= Document | 'expr("' JSONDocumentExpression '")'
The syntax for this function shown in EBNF is:
TableField ::= ( StringLiteral '.' )? ( StringLiteral '.' )? StringLiteral ( '@' DocPath )?