文档首页
X DevAPI 用户指南
下载本手册
PDF (美国信函) - 1.4Mb
PDF (A4) - 1.4Mb


X DevAPI 用户指南  /  CRUD EBNF 定义  /  其他 EBNF 定义

11.7 其他 EBNF 定义

SearchConditionStr

该函数在 EBNF 中显示的语法为

SearchConditionStr
  ::= '"' Expression '"'

图 11.24 SearchConditionStr

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

SearchExprStrList

该函数在 EBNF 中显示的语法为

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

图 11.25 SearchExprStrList

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

ProjectedDocumentExprStr

该函数在 EBNF 中显示的语法为

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

图 11.26 ProjectedDocumentExprStr

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

ProjectedSearchExprStrList

该函数在 EBNF 中显示的语法为

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

图 11.27 ProjectedSearchExprStrList

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

SortExprStrList

该函数在 EBNF 中显示的语法为

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

图 11.28 SortExprStrList

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

ExprOrLiteral

该函数在 EBNF 中显示的语法为

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

图 11.29 ExprOrLiteral

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

ExprOrLiterals

该函数在 EBNF 中显示的语法为

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

图 11.30 ExprOrLiterals

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

ExprOrLiteralOrOperand

该函数在 EBNF 中显示的语法为

ExprOrLiteralOrOperand
  ::= ExprOrLiteral

图 11.31 ExprOrLiteralOrOperand

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

PlaceholderValues

该函数在 EBNF 中显示的语法为

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

图 11.32 PlaceholderValues

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

PlaceholderName

该函数在 EBNF 中显示的语法为

PlaceholderName
  ::= NamedPlaceholderNotQuestionmarkNotNumbered

图 11.33 PlaceholderName

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

DocPath

该函数在 EBNF 中显示的语法为

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

图 11.34 DocPath

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

Literal

该函数在 EBNF 中显示的语法为

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

图 11.35 Literal

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

Expression

Expression
  ::= Literal
   | DocPath
   | TableField
   | FunctionName '(' Expression ( ',' Expression )* ')'
   | ':' PlaceholderName
   | Expression Operator Expression
   | JSONExpression

图 11.36 Expression

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

Document

需要 JSON 文档的 API 调用允许使用许多数据类型来描述文档。根据 X DevAPI 实现和语言,可以使用以下任何数据类型:

  • 字符串

  • 本机 JSON

  • JSON 等效语法

  • DbDoc

  • 生成的文档类

所有 X DevAPI 的实现都允许通过特殊的 DbDoc 类型和字符串来表达文档。

该函数在 EBNF 中显示的语法为

Document
  ::= JSONDocument | JSONEquivalentDocument | DbDoc | GeneratedDocumentClasses

图 11.37 Document

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

JSONExpression

该函数在 EBNF 中显示的语法为

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

图 11.38 JSONExpression

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

JSONDocumentExpression

该函数在 EBNF 中显示的语法为

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

图 11.39 JSONDocumentExpression

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

FunctionName

该函数在 EBNF 中显示的语法为

FunctionName
  ::= StringLiteral | StringLiteral '.' StringLiteral

图 11.40 FunctionName

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

DocumentOrJSON

该函数在 EBNF 中显示的语法为

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

图 11.41 DocumentOrJSON

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

TableField

该函数在 EBNF 中显示的语法为

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

图 11.42 TableField

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

TableFields

该函数在 EBNF 中显示的语法为

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

图 11.43 TableFields

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