Module:jsoniqencodingStringLiteralversionStringLiteralencodingStringLiteral;LibraryModuleMainModuleModule ::= ( 'jsoniq' ( 'encoding' StringLiteral | 'version' StringLiteral ( 'encoding' StringLiteral )? ) ';' )? ( LibraryModule | MainModule )no referencesMainModule:PrologExprMainModule ::= Prolog Exprreferenced by:ModuleLibraryModule:modulenamespaceNCName=URILiteral;PrologLibraryModule ::= 'module' 'namespace' NCName '=' URILiteral ';' Prologreferenced by:ModuleProlog:DefaultCollationDeclOrderingModeDeclEmptyOrderDeclDecimalFormatDeclModuleImport;FunctionDeclVariableDecl;Prolog ::= ( ( DefaultCollationDecl | OrderingModeDecl | EmptyOrderDecl | DecimalFormatDecl | ModuleImport ) ';' )* ( ( FunctionDecl | VariableDecl ) ';' )*referenced by:LibraryModuleMainModuleDefaultCollationDecl:declaredefaultcollationURILiteralDefaultCollationDecl ::= 'declare' 'default' 'collation' URILiteralreferenced by:PrologOrderingModeDecl:declareorderingorderedunorderedOrderingModeDecl ::= 'declare' 'ordering' ( 'ordered' | 'unordered' )referenced by:PrologEmptyOrderDecl:declaredefaultorderemptygreatestleastEmptyOrderDecl ::= 'declare' 'default' 'order' 'empty' ( 'greatest' | 'least' )referenced by:PrologDecimalFormatDecl:declaredecimal-formatNCName:NCNamedefaultdecimal-formatDFPropertyName=StringLiteralDecimalFormatDecl ::= 'declare' ( 'decimal-format' ( NCName ':' )? NCName | 'default' 'decimal-format' ) ( DFPropertyName '=' StringLiteral )*referenced by:PrologDFPropertyName:decimal-separatorgrouping-separatorinfinityminus-signNaNpercentper-millezero-digitdigitpattern-separatorDFPropertyName ::= 'decimal-separator' | 'grouping-separator' | 'infinity' | 'minus-sign' | 'NaN' | 'percent' | 'per-mille' | 'zero-digit' | 'digit' | 'pattern-separator'referenced by:DecimalFormatDeclModuleImport:importmodulenamespaceNCName=URILiteralatURILiteral,ModuleImport ::= 'import' 'module' ( 'namespace' NCName '=' )? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )?referenced by:PrologVarDecl:declarevariableVarRefasSequenceType:=ExprSingleexternal:=ExprSingleVarDecl ::= 'declare' 'variable' VarRef ( 'as' SequenceType )? ( ':=' ExprSingle | 'external' ( ':=' ExprSingle )? )no referencesFunctionDecl:declarefunctionNCName:NCName(ParamList)asSequenceType{Expr}externalFunctionDecl ::= 'declare' 'function' ( NCName ':' )? NCName '(' ParamList? ')' ( 'as' SequenceType )? ( '{' Expr '}' | 'external' )referenced by:PrologParamList:$NCNameasSequenceType,ParamList ::= '$' NCName ( 'as' SequenceType )? ( ',' '$' NCName ( 'as' SequenceType )? )*referenced by:FunctionDeclExpr:ExprSingle,Expr ::= ExprSingle ( ',' ExprSingle )*referenced by:ArrayConstructorArrayLookupFunctionDeclIfExprMainModuleObjectConstructorOrderedExprParenthesizedExprPredicateSwitchExprTryCatchExprTypeswitchExprUnorderedExprExprSingle:FLWORExprQuantifiedExprSwitchExprTypeswitchExprIfExprTryCatchExprOrExprExprSingle ::= FLWORExpr | QuantifiedExpr | SwitchExpr | TypeswitchExpr | IfExpr | TryCatchExpr | OrExprreferenced by:ArgumentCaseClauseExprFLWORExprForClauseGroupByClauseIfExprLetClauseOrderByClausePairConstructorQuantifiedExprSwitchCaseClauseSwitchExprTypeswitchExprVarDeclWhereClauseFLWORExpr:ForClauseLetClauseForClauseLetClauseWhereClauseGroupByClauseOrderByClauseCountClausereturnExprSingleFLWORExpr ::= ( ForClause | LetClause ) ( ForClause | LetClause | WhereClause | GroupByClause | OrderByClause | CountClause )* 'return' ExprSinglereferenced by:ExprSingleForClause:forVarRefasSequenceTypeallowingemptyatVarRefinExprSingle,ForClause ::= 'for' VarRef ( 'as' SequenceType )? ( 'allowing' 'empty' )? ( 'at' VarRef )? 'in' ExprSingle ( ',' VarRef ( 'as' SequenceType )? ( 'allowing' 'empty' )? ( 'at' VarRef )? 'in' ExprSingle )*referenced by:FLWORExprLetClause:letVarRefasSequenceType:=ExprSingle,LetClause ::= 'let' VarRef ( 'as' SequenceType )? ':=' ExprSingle ( ',' VarRef ( 'as' SequenceType )? ':=' ExprSingle )*referenced by:FLWORExprCountClause:countVarRefCountClause ::= 'count' VarRefreferenced by:FLWORExprWhereClause:whereExprSingleWhereClause ::= 'where' ExprSinglereferenced by:FLWORExprGroupByClause:groupbyVarRefasSequenceType:=ExprSinglecollationURILiteral,GroupByClause ::= 'group' 'by' VarRef ( ( 'as' SequenceType )? ':=' ExprSingle )? ( 'collation' URILiteral )? ( ',' VarRef ( ( 'as' SequenceType )? ':=' ExprSingle )? ( 'collation' URILiteral )? )*referenced by:FLWORExprOrderByClause:orderbystableorderbyExprSingleascendingdescendingemptygreatestleastcollationURILiteral,OrderByClause ::= ( 'order' 'by' | 'stable' 'order' 'by' ) ExprSingle ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' URILiteral )? ( ',' ExprSingle ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' URILiteral )? )*referenced by:FLWORExprQuantifiedExpr:someeveryVarRefasSequenceTypeinExprSingle,satisfiesExprSingleQuantifiedExpr ::= ( 'some' | 'every' ) VarRef ( 'as' SequenceType )? 'in' ExprSingle ( ',' VarRef ( 'as' SequenceType )? 'in' ExprSingle )* 'satisfies' ExprSinglereferenced by:ExprSingleSwitchExpr:switch(Expr)SwitchCaseClausedefaultreturnExprSingleSwitchExpr ::= 'switch' '(' Expr ')' SwitchCaseClause+ 'default' 'return' ExprSinglereferenced by:ExprSingleSwitchCaseClause:caseExprSinglereturnExprSingleSwitchCaseClause ::= ( 'case' ExprSingle )+ 'return' ExprSinglereferenced by:SwitchExprTypeswitchExpr:typeswitch(Expr)CaseClausedefaultVarRefreturnExprSingleTypeswitchExpr ::= 'typeswitch' '(' Expr ')' CaseClause+ 'default' VarRef? 'return' ExprSinglereferenced by:ExprSingleCaseClause:caseVarRefasSequenceType|returnExprSingleCaseClause ::= 'case' ( VarRef 'as' )? SequenceType ( '|' SequenceType )* 'return' ExprSinglereferenced by:TypeswitchExprIfExpr:if(Expr)thenExprSingleelseExprSingleIfExpr ::= 'if' '(' Expr ')' 'then' ExprSingle 'else' ExprSinglereferenced by:ExprSingleTryCatchExpr:try{Expr}catch*{Expr}TryCatchExpr ::= 'try' '{' Expr '}' 'catch' '*' '{' Expr '}'referenced by:ExprSingleOrExpr:AndExprorOrExpr ::= AndExpr ( 'or' AndExpr )*referenced by:ExprSingleAndExpr:NotExprandAndExpr ::= NotExpr ( 'and' NotExpr )*referenced by:OrExprNotExpr:notComparisonExprNotExpr ::= 'not'? ComparisonExprreferenced by:AndExprComparisonExpr:StringConcatExpreqneltlegtgeStringConcatExprComparisonExpr ::= StringConcatExpr ( ( 'eq' | 'ne' | 'lt' | 'le' | 'gt' | 'ge' ) StringConcatExpr )?referenced by:NotExprStringConcatExpr:RangeExpr||StringConcatExpr ::= RangeExpr ( '||' RangeExpr )*referenced by:ComparisonExprRangeExpr:AdditiveExprtoAdditiveExprRangeExpr ::= AdditiveExpr ( 'to' AdditiveExpr )?referenced by:StringConcatExprAdditiveExpr:MultiplicativeExpr+-AdditiveExpr ::= MultiplicativeExpr ( ( '+' | '-' ) MultiplicativeExpr )*referenced by:RangeExprMultiplicativeExpr:InstanceofExpr*dividivmodMultiplicativeExpr ::= InstanceofExpr ( ( '*' | 'div' | 'idiv' | 'mod' ) InstanceofExpr )*referenced by:AdditiveExprInstanceofExpr:TreatExprinstanceofSequenceTypeInstanceofExpr ::= TreatExpr ( 'instance' 'of' SequenceType )?referenced by:MultiplicativeExprTreatExpr:CastableExprtreatasSequenceTypeTreatExpr ::= CastableExpr ( 'treat' 'as' SequenceType )?referenced by:InstanceofExprCastableExpr:CastExprcastableasAtomicType?CastableExpr ::= CastExpr ( 'castable' 'as' AtomicType '?'? )?referenced by:TreatExprCastExpr:UnaryExprcastasAtomicType?CastExpr ::= UnaryExpr ( 'cast' 'as' AtomicType '?'? )?referenced by:CastableExprUnaryExpr:-+SimpleMapExprUnaryExpr ::= ( '-' | '+' )* SimpleMapExprreferenced by:CastExprSimpleMapExpr:PostfixExpr!SimpleMapExpr ::= PostfixExpr ( '!' PostfixExpr )*referenced by:UnaryExprPostfixExpr:PrimaryExprPredicateObjectLookupArrayLookupArrayUnboxingPostfixExpr ::= PrimaryExpr ( Predicate | ObjectLookup | ArrayLookup | ArrayUnboxing )*referenced by:SimpleMapExprPredicate:[Expr]Predicate ::= '[' Expr ']'referenced by:PostfixExprObjectLookup:.StringLiteralNCNameParenthesizedExprVarRefContextItemExprObjectLookup ::= '.' ( StringLiteral | NCName | ParenthesizedExpr | VarRef | ContextItemExpr )referenced by:PostfixExprArrayLookup:[[Expr]]ArrayLookup ::= '[' '[' Expr ']' ']'referenced by:PostfixExprArrayUnboxing:[]ArrayUnboxing ::= '[' ']'referenced by:PostfixExprPrimaryExpr:LiteralVarRefParenthesizedExprContextItemExprFunctionCallOrderedExprUnorderedExprObjectConstructorArrayConstructorPrimaryExpr ::= Literal | VarRef | ParenthesizedExpr | ContextItemExpr | FunctionCall | OrderedExpr | UnorderedExpr | ObjectConstructor | ArrayConstructorreferenced by:PostfixExprLiteral:NumericLiteralStringLiteralBooleanLiteralNullLiteralLiteral ::= NumericLiteral | StringLiteral | BooleanLiteral | NullLiteralreferenced by:PrimaryExprNumericLiteral:IntegerLiteralDecimalLiteralDoubleLiteralNumericLiteral ::= IntegerLiteral | DecimalLiteral | DoubleLiteralreferenced by:LiteralBooleanLiteral:truefalseBooleanLiteral ::= 'true' | 'false'referenced by:LiteralNullLiteral:nullNullLiteral ::= 'null'referenced by:LiteralVarRef:$NCName:NCNameVarRef ::= '$' ( NCName ':' )? NCNamereferenced by:CaseClauseCountClauseForClauseGroupByClauseLetClauseObjectLookupPrimaryExprQuantifiedExprTypeswitchExprVarDeclParenthesizedExpr:(Expr)ParenthesizedExpr ::= '(' Expr? ')'referenced by:ObjectLookupPrimaryExprContextItemExpr:$$ContextItemExpr ::= '$$'referenced by:ObjectLookupPrimaryExprOrderedExpr:ordered{Expr}OrderedExpr ::= 'ordered' '{' Expr '}'referenced by:PrimaryExprUnorderedExpr:unordered{Expr}UnorderedExpr ::= 'unordered' '{' Expr '}'referenced by:PrimaryExprFunctionCall:NCName:NCNameArgumentListFunctionCall ::= ( NCName ':' )? NCName ArgumentListreferenced by:PrimaryExprArgument:ExprSingle?Argument ::= ExprSingle | '?'no referencesObjectConstructor:{PairConstructor,}{|Expr|}ObjectConstructor ::= '{' ( PairConstructor ( ',' PairConstructor )* )? '}' | '{|' Expr '|}'referenced by:PrimaryExprPairConstructor:ExprSingleNCName:ExprSinglePairConstructor ::= ( ExprSingle | NCName ) ':' ExprSinglereferenced by:ObjectConstructorArrayConstructor:[Expr]ArrayConstructor ::= '[' Expr? ']'referenced by:PrimaryExprSequenceType:()ItemType?*+SequenceType ::= '(' ')' | ItemType ( '?' | '*' | '+' )?referenced by:CaseClauseForClauseFunctionDeclGroupByClauseInstanceofExprLetClauseParamListQuantifiedExprTreatExprVarDeclItemType:itemJSONItemTestAtomicTypeItemType ::= 'item' | JSONItemTest | AtomicTypereferenced by:SequenceTypeJSONItemTest:objectarrayjson-itemJSONItemTest ::= 'object' | 'array' | 'json-item'referenced by:ItemTypeAtomicType:atomicstringintegerdecimaldoublebooleannulletc (other builtin atomic types)AtomicType ::= 'atomic' | 'string' | 'integer' | 'decimal' | 'double' | 'boolean' | 'null' | 'etc (other builtin atomic types)'referenced by:CastExprCastableExprItemTypeURILiteral:StringLiteralURILiteral ::= StringLiteralreferenced by:DefaultCollationDeclGroupByClauseLibraryModuleModuleImportOrderByClauseIntegerLiteral:DigitsIntegerLiteral ::= Digitsreferenced by:NumericLiteralDecimalLiteral:.DigitsDigits.[0-9]DecimalLiteral ::= '.' Digits | Digits '.' [0-9]* /* ws: explicit */referenced by:NumericLiteralDoubleLiteral:.DigitsDigits.[0-9]eE+-DigitsDoubleLiteral ::= ( '.' Digits | Digits ( '.' [0-9]* )? ) [eE] [+#x2D]? Digits /* ws: explicit */referenced by:NumericLiteralStringLiteral:"PredefinedCharRefCharRef[^"\]"StringLiteral ::= '"' ( PredefinedCharRef | CharRef | [^"\] )* '"' /* ws: explicit */referenced by:DecimalFormatDeclLiteralModuleObjectLookupURILiteralPredefinedCharRef:\\/"'bfnrtPredefinedCharRef ::= '\' ( '\' | '/' | '"' | "'" | 'b' | 'f' | 'n' | 'r' | 't' ) /* ws: explicit */referenced by:StringLiteralCharRef:\u[0-9][a-f][A-F][0-9][a-f][A-F][0-9][a-f][A-F][0-9][a-f][A-F]CharRef ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]referenced by:StringLiteralComment:(:CommentContentsComment:)Comment ::= '(:' ( CommentContents | Comment )* ':)' /* ws: explicit */referenced by:CommentNCName:[http://www.w3.org/TR/REC-xml-names/#NT-NCName-w-o-dot-and-keywords]NCName ::= [http://www.w3.org/TR/REC-xml-names/#NT-NCName-w-o-dot-and-keywords]referenced by:DecimalFormatDeclFunctionCallFunctionDeclLibraryModuleModuleImportObjectLookupPairConstructorParamListVarRefS:[http://www.w3.org/TR/REC-xml#NT-S]S ::= [http://www.w3.org/TR/REC-xml#NT-S]no referencesChar:[http://www.w3.org/TR/REC-xml#NT-Char]Char ::= [http://www.w3.org/TR/REC-xml#NT-Char]referenced by:CommentContentsDigits:[0-9]Digits ::= [0-9]+referenced by:DecimalLiteralDoubleLiteralIntegerLiteralCommentContents:Char+ - ( Char* ( '(:' | ':)' ) Char* )CommentContents ::= Char+ - ( Char* ( '(:' | ':)' ) Char* )referenced by:Comment ... generated by Railroad Diagram GeneratorRR