11.7其他EBNF定义

searchconditionstr.

EBNF中显示此函数的语法是:

searchconditionstr :: ='“'''''''

图11.24 SearchConditionStr.

图像显示了如前文本中所述的EBNF形式中的语法。

searchexprstrlist.

EBNF中显示此函数的语法是:

searchexprstrlist :: ='[''''''''''(','''''''''''''''''''''

图11.25 searchexprstrlist.

图像显示了如前文本中所述的EBNF形式中的语法。

ProjectedDocumentExpr.

EBNF中显示此函数的语法是:

projecteddocumentexprstr :: = projectedsearchexprstrlist |'expr(“jsondocument表达'”)'

图11.26 ProjectedDocumentExpr.

图像显示了如前文本中所述的EBNF形式中的语法。

projectedsearchexprstrlist.

EBNF中显示此函数的语法是:

projectedsearchexprstrlist :: ='[''表达式('作为'别名)?'“'('''''表达式('作为'别名)?'”')*']'

图11.27 ProjectedSearchExprstrlist.

图像显示了如前文本中所述的EBNF形式中的语法。

sortexprstrlist.

EBNF中显示此函数的语法是:

sortexprstrlist :: ='['''表达式('asc'|'desc')?'“'('''''表达式('asc'|'desc')?''')*']'

图11.28 sortexprstrllist.

图像显示了如前文本中所述的EBNF形式中的语法。

exprorliteral.

EBNF中显示此函数的语法是:

exprorliteral :: ='expr(“'表达'”)'|文字

图11.29 exprorliteral.

图像显示了如前文本中所述的EBNF形式中的语法。

exprorliterals.

EBNF中显示此函数的语法是:

Exprorliterals :: = Exprorliteral(''Exprorliteral)*

图11.30 exprorliterals.

图像显示了如前文本中所述的EBNF形式中的语法。

exprorliteraloroperand.

EBNF中显示此函数的语法是:

Exprorliteraloroperand :: = Exprorliteral

图11.31 exprorliteraloroperand.

图像显示了如前文本中所述的EBNF形式中的语法。

PlaceUrcalues.

EBNF中显示此函数的语法是:

PlaceUrterFalues :: ='{'PlaceHoldername':'(exprorliteral)'}'

图11.32 PlaceUltFromalues.

图像显示了如前文本中所述的EBNF形式中的语法。

PlaceHoldername.

EBNF中显示此函数的语法是:

PlaceUltername :: = namedapeHoldernotquestionmarkNotNumbered

图11.33 PlaceHoldername.

图像显示了如前文本中所述的EBNF形式中的语法。

集合场所

EBNF中显示此函数的语法是:

CollectionFields :: =('Collectionfield(','集合菲尔德)*']')

图11.3.34集合菲尔德

图像显示了如前文本中所述的EBNF形式中的语法。

集合菲尔德

EBNF中显示此函数的语法是:

集合菲尔德:: ='@'?DocPath.

图11.35集合菲尔德

图像显示了如前文本中所述的EBNF形式中的语法。

DocPath.

EBNF中显示此函数的语法是:

docpath :: =('[*]'|('index']')|'''|('strylliteral)|'**')+

图11.3.36 DocPath.

图像显示了如前文本中所述的EBNF形式中的语法。

文字

EBNF中显示此函数的语法是:

文字:: ='“'strylliteral'”'|号码|真实|假|文档

图11.37文字

图像显示了如前文本中所述的EBNF形式中的语法。

表达

表达:: =文字|集合菲尔德|桌面|functionName'('表达式(','表达式)*')'|':'PlaceHoldername |表达式操作员表达|Jsonexpression.

图11.38表达式

图像显示了如前文本中所述的EBNF形式中的语法。

文档

期待JSON文档的API呼叫允许使用许多数据类型来描述文档。根据x devapi实现和语言可以使用以下任何数据类型:

  • 细绳

  • 原生JSON.

  • JSON等效语法

  • dbdoc.

  • 生成的doc类

x devapi的所有实现允许通过特殊的dbdoc类型和字符串表达文档。

EBNF中显示此函数的语法是:

文档:: = jsondocument |Jsonequivalentdocument |dbdoc |生成的documentclass

图11.39文件

图像显示了如前文本中所述的EBNF形式中的语法。

Jsonexpression.

EBNF中显示此函数的语法是:

jsonexpression :: = jsondocument表达|'['表达(','表达)*']'

图11.40 JSonexpression.

图像显示了如前文本中所述的EBNF形式中的语法。

jsondocument表达

EBNF中显示此函数的语法是:

JSondocumentExpression :: ='{'stryLiteral':'jsonexpression(','stryliteral':'jsonexpression)*'}'

图11.41 jsondocument表达

图像显示了如前文本中所述的EBNF形式中的语法。

functionName.

EBNF中显示此函数的语法是:

functionName :: = strylliteral |字符串字面量 '。'字符串字面量

图11.42 functionName.

图像显示了如前文本中所述的EBNF形式中的语法。

documentorjson.

EBNF中显示此函数的语法是:

documentorjson :: =文件|'expr(“jsondocument表达'”)'

图11.43 Documentorjson.

图像显示了如前文本中所述的EBNF形式中的语法。

桌面

EBNF中显示此函数的语法是:

tablefield :: =(StringLiteral'。')?( 字符串字面量 '。' )?strylitliteral('@'docpath)?

图11.44桌面

图像显示了如前文本中所述的EBNF形式中的语法。

桌面

EBNF中显示此函数的语法是:

tablefields ::: =('tablefield(','tablefield)*']')

图11.45桌面

图像显示了如前文本中所述的EBNF形式中的语法。