此函数的语法(以 EBNF 显示)为:
SearchConditionStr
::= '"' Expression '"'
此函数的语法(以 EBNF 显示)为:
SearchExprStrList
::= '[' '"' Expression '"' ( ',' '"' Expression '"' )* ']'
此函数的语法(以 EBNF 显示)为:
ProjectedDocumentExprStr
::= ProjectedSearchExprStrList | 'expr("' JSONDocumentExpression '")'
此函数的语法(以 EBNF 显示)为:
ProjectedSearchExprStrList
::= '[' '"' Expression ( 'AS' Alias )? '"' ( ',' '"' Expression ( 'AS' Alias )? '"' )* ']'
此函数的语法(以 EBNF 显示)为:
SortExprStrList
::= '[' '"' Expression ( 'ASC' | 'DESC' )? '"' ( ',' '"' Expression ( 'ASC' | 'DESC' )? '"' )* ']'
此函数的语法(以 EBNF 显示)为:
ExprOrLiteral
::= 'expr("' Expression '")' | Literal
此函数的语法(以 EBNF 显示)为:
ExprOrLiterals
::= ExprOrLiteral ( ',' ExprOrLiteral )*
此函数的语法(以 EBNF 显示)为:
ExprOrLiteralOrOperand
::= ExprOrLiteral
此函数的语法(以 EBNF 显示)为:
PlaceholderValues
::= '{' PlaceholderName ':' ( ExprOrLiteral ) '}'
此函数的语法(以 EBNF 显示)为:
PlaceholderName
::= NamedPlaceholderNotQuestionmarkNotNumbered
此函数的语法(以 EBNF 显示)为:
DocPath
::= ( '[*]' | ( '[' Index ']' ) | '.*' | ( '.' StringLiteral ) | '**' )+
此函数的语法(以 EBNF 显示)为:
Literal
::= '"' StringLiteral '"' | Number | true | false | Document
Expression
::= Literal
| DocPath
| TableField
| FunctionName '(' Expression ( ',' Expression )* ')'
| ':' PlaceholderName
| Expression Operator Expression
| JSONExpression
期望 JSON 文档的 API 调用允许使用多种数据类型来描述文档。根据 X DevAPI 实现和语言,可以使用以下任何数据类型
字符串
原生 JSON
等效于 JSON 的语法
DbDoc
生成的文档类
所有 X DevAPI 实现都允许使用特殊的 DbDoc 类型和字符串来表示文档。
此函数的语法(以 EBNF 显示)为:
Document
::= JSONDocument | JSONEquivalentDocument | DbDoc | GeneratedDocumentClasses
此函数的语法(以 EBNF 显示)为:
JSONExpression
::= JSONDocumentExpression | '[' Expression ( ',' Expression )* ']'
此函数的语法(以 EBNF 显示)为:
JSONDocumentExpression
::= '{' StringLiteral ':' JSONExpression (',' StringLiteral ':' JSONExpression)* '}'
此函数的语法(以 EBNF 显示)为:
FunctionName
::= StringLiteral | StringLiteral '.' StringLiteral
此函数的语法(以 EBNF 显示)为:
DocumentOrJSON
::= Document | 'expr("' JSONDocumentExpression '")'
此函数的语法(以 EBNF 显示)为:
TableField
::= ( StringLiteral '.' )? ( StringLiteral '.' )? StringLiteral ( '@' DocPath )?