XQuery:ModuleEOFXQuery ::= Module EOFno referencesModule:VersionDeclLibraryModuleMainModuleModule ::= VersionDecl? ( LibraryModule | MainModule )referenced by:XQueryVersionDecl:xqueryencodingStringLiteralversionStringLiteralencodingStringLiteralSeparatorVersionDecl ::= 'xquery' ( 'encoding' StringLiteral | 'version' StringLiteral ( 'encoding' StringLiteral )? ) Separatorreferenced by:ModuleLibraryModule:ModuleDeclPrologLibraryModule ::= ModuleDecl Prologreferenced by:ModuleModuleDecl:modulenamespaceNCName=URILiteralSeparatorModuleDecl ::= 'module' 'namespace' NCName '=' URILiteral Separatorreferenced by:LibraryModuleProlog:DefaultNamespaceDeclSetterNamespaceDeclImportFTOptionDeclSeparatorContextItemDeclAnnotatedDeclOptionDeclSeparatorProlog ::= ( ( DefaultNamespaceDecl | Setter | NamespaceDecl | Import | FTOptionDecl ) Separator )* ( ( ContextItemDecl | AnnotatedDecl | OptionDecl ) Separator )*referenced by:LibraryModuleMainModuleSeparator:;Separator ::= ';'referenced by:ModuleDeclPrologVersionDeclSetter:BoundarySpaceDeclDefaultCollationDeclBaseURIDeclConstructionDeclOrderingModeDeclEmptyOrderDeclRevalidationDeclCopyNamespacesDeclDecimalFormatDeclSetter ::= BoundarySpaceDecl | DefaultCollationDecl | BaseURIDecl | ConstructionDecl | OrderingModeDecl | EmptyOrderDecl | RevalidationDecl | CopyNamespacesDecl | DecimalFormatDeclreferenced by:PrologBoundarySpaceDecl:declareboundary-spacepreservestripBoundarySpaceDecl ::= 'declare' 'boundary-space' ( 'preserve' | 'strip' )referenced by:SetterDefaultCollationDecl:declaredefaultcollationURILiteralDefaultCollationDecl ::= 'declare' 'default' 'collation' URILiteralreferenced by:SetterBaseURIDecl:declarebase-uriURILiteralBaseURIDecl ::= 'declare' 'base-uri' URILiteralreferenced by:SetterConstructionDecl:declareconstructionstrippreserveConstructionDecl ::= 'declare' 'construction' ( 'strip' | 'preserve' )referenced by:SetterOrderingModeDecl:declareorderingorderedunorderedOrderingModeDecl ::= 'declare' 'ordering' ( 'ordered' | 'unordered' )referenced by:SetterEmptyOrderDecl:declaredefaultorderemptygreatestleastEmptyOrderDecl ::= 'declare' 'default' 'order' 'empty' ( 'greatest' | 'least' )referenced by:SetterCopyNamespacesDecl:declarecopy-namespacesPreserveMode,InheritModeCopyNamespacesDecl ::= 'declare' 'copy-namespaces' PreserveMode ',' InheritModereferenced by:SetterPreserveMode:preserveno-preservePreserveMode ::= 'preserve' | 'no-preserve'referenced by:CopyNamespacesDeclInheritMode:inheritno-inheritInheritMode ::= 'inherit' | 'no-inherit'referenced by:CopyNamespacesDeclDecimalFormatDecl:declaredecimal-formatEQNamedefaultdecimal-formatDFPropertyName=StringLiteralDecimalFormatDecl ::= 'declare' ( 'decimal-format' EQName | 'default' 'decimal-format' ) ( DFPropertyName '=' StringLiteral )*referenced by:SetterDFPropertyName: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:DecimalFormatDeclImport:SchemaImportModuleImportImport ::= SchemaImport | ModuleImportreferenced by:PrologSchemaImport:importschemaSchemaPrefixURILiteralatURILiteral,SchemaImport ::= 'import' 'schema' SchemaPrefix? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )?referenced by:ImportSchemaPrefix:namespaceNCName=defaultelementnamespaceSchemaPrefix ::= 'namespace' NCName '=' | 'default' 'element' 'namespace'referenced by:SchemaImportModuleImport:importmodulenamespaceNCName=URILiteralatURILiteral,ModuleImport ::= 'import' 'module' ( 'namespace' NCName '=' )? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )?referenced by:ImportNamespaceDecl:declarenamespaceNCName=URILiteralNamespaceDecl ::= 'declare' 'namespace' NCName '=' URILiteralreferenced by:PrologDefaultNamespaceDecl:declaredefaultelementfunctionnamespaceURILiteralDefaultNamespaceDecl ::= 'declare' 'default' ( 'element' | 'function' ) 'namespace' URILiteralreferenced by:PrologFTOptionDecl:declareft-optionFTMatchOptionsFTOptionDecl ::= 'declare' 'ft-option' FTMatchOptionsreferenced by:PrologAnnotatedDecl:declareCompatibilityAnnotationAnnotationVarDeclFunctionDeclCollectionDeclIndexDeclICDeclAnnotatedDecl ::= 'declare' ( CompatibilityAnnotation | Annotation )* ( VarDecl | FunctionDecl | CollectionDecl | IndexDecl | ICDecl )referenced by:PrologCompatibilityAnnotation:updatingCompatibilityAnnotation ::= 'updating'referenced by:AnnotatedDeclAnnotation:%EQName(Literal,)Annotation ::= '%' EQName ( '(' Literal ( ',' Literal )* ')' )?referenced by:AnnotatedDeclFunctionTestInlineFunctionExprVarDeclStatementVarDecl:variable$VarNameTypeDeclaration:=VarValueexternal:=VarDefaultValueVarDecl ::= 'variable' '$' VarName TypeDeclaration? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? )referenced by:AnnotatedDeclVarValue:ExprSingleVarValue ::= ExprSinglereferenced by:ContextItemDeclVarDeclVarDefaultValue:ExprSingleVarDefaultValue ::= ExprSinglereferenced by:ContextItemDeclVarDeclContextItemDecl:declarecontextitemasItemType:=VarValueexternal:=VarDefaultValueContextItemDecl ::= 'declare' 'context' 'item' ( 'as' ItemType )? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? )referenced by:PrologParamList:Param,ParamList ::= Param ( ',' Param )*referenced by:FunctionDeclInlineFunctionExprParam:$EQNameTypeDeclarationParam ::= '$' EQName TypeDeclaration?referenced by:ParamListFunctionBody:EnclosedExprFunctionBody ::= EnclosedExprreferenced by:InlineFunctionExprEnclosedExpr:{Expr}EnclosedExpr ::= '{' Expr '}'referenced by:FunctionBodyOptionDecl:declareoptionEQNameStringLiteralOptionDecl ::= 'declare' 'option' EQName StringLiteralreferenced by:PrologExpr:ExprSingle,Expr ::= ExprSingle ( ',' ExprSingle )*referenced by:ArrayConstructorCatchClauseCompAttrConstructorCompElemConstructorCompPIConstructorEnclosedExprExtensionExprFTWeightFTWordsValueIfExprIfStatementJSONSimpleObjectUnionOrderedExprParenthesizedExprPredicatePrefixExprStatementsAndExprStatementsAndOptionalExprSwitchExprSwitchStatementTryTargetExprTypeswitchExprTypeswitchStatementURIExprUnorderedExprValidateExprWhileStatementFLWORExpr:InitialClauseIntermediateClauseReturnClauseFLWORExpr ::= InitialClause IntermediateClause* ReturnClausereferenced by:ExprSingleInitialClause:ForClauseLetClauseWindowClauseInitialClause ::= ForClause | LetClause | WindowClausereferenced by:FLWORExprFLWORStatementIntermediateClauseIntermediateClause:InitialClauseWhereClauseGroupByClauseOrderByClauseCountClauseIntermediateClause ::= InitialClause | WhereClause | GroupByClause | OrderByClause | CountClausereferenced by:FLWORExprFLWORStatementForClause:forForBinding,ForClause ::= 'for' ForBinding ( ',' ForBinding )*referenced by:InitialClauseForBinding:$VarNameTypeDeclarationAllowingEmptyPositionalVarFTScoreVarinExprSingleForBinding ::= '$' VarName TypeDeclaration? AllowingEmpty? PositionalVar? FTScoreVar? 'in' ExprSinglereferenced by:ForClauseAllowingEmpty:allowingemptyAllowingEmpty ::= 'allowing' 'empty'referenced by:ForBindingPositionalVar:at$VarNamePositionalVar ::= 'at' '$' VarNamereferenced by:ForBindingWindowVarsFTScoreVar:score$VarNameFTScoreVar ::= 'score' '$' VarNamereferenced by:ForBindingLetBindingLetClause:letLetBinding,LetClause ::= 'let' LetBinding ( ',' LetBinding )*referenced by:InitialClauseLetBinding:$VarNameTypeDeclarationFTScoreVar:=ExprSingleLetBinding ::= ( '$' VarName TypeDeclaration? | FTScoreVar ) ':=' ExprSinglereferenced by:LetClauseWindowClause:forTumblingWindowClauseSlidingWindowClauseWindowClause ::= 'for' ( TumblingWindowClause | SlidingWindowClause )referenced by:InitialClauseTumblingWindowClause:tumblingwindow$VarNameTypeDeclarationinExprSingleWindowStartConditionWindowEndConditionTumblingWindowClause ::= 'tumbling' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndCondition?referenced by:WindowClauseSlidingWindowClause:slidingwindow$VarNameTypeDeclarationinExprSingleWindowStartConditionWindowEndConditionSlidingWindowClause ::= 'sliding' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndConditionreferenced by:WindowClauseWindowStartCondition:startWindowVarswhenExprSingleWindowStartCondition ::= 'start' WindowVars 'when' ExprSinglereferenced by:SlidingWindowClauseTumblingWindowClauseWindowEndCondition:onlyendWindowVarswhenExprSingleWindowEndCondition ::= 'only'? 'end' WindowVars 'when' ExprSinglereferenced by:SlidingWindowClauseTumblingWindowClauseWindowVars:$CurrentItemPositionalVarprevious$PreviousItemnext$NextItemWindowVars ::= ( '$' CurrentItem )? PositionalVar? ( 'previous' '$' PreviousItem )? ( 'next' '$' NextItem )?referenced by:WindowEndConditionWindowStartConditionCurrentItem:EQNameCurrentItem ::= EQNamereferenced by:WindowVarsPreviousItem:EQNamePreviousItem ::= EQNamereferenced by:WindowVarsNextItem:EQNameNextItem ::= EQNamereferenced by:WindowVarsCountClause:count$VarNameCountClause ::= 'count' '$' VarNamereferenced by:IntermediateClauseWhereClause:whereExprSingleWhereClause ::= 'where' ExprSinglereferenced by:IntermediateClauseGroupByClause:groupbyGroupingSpecListGroupByClause ::= 'group' 'by' GroupingSpecListreferenced by:IntermediateClauseGroupingSpecList:GroupingSpec,GroupingSpecList ::= GroupingSpec ( ',' GroupingSpec )*referenced by:GroupByClauseGroupingSpec:GroupingVariableTypeDeclaration:=ExprSinglecollationURILiteralGroupingSpec ::= GroupingVariable ( TypeDeclaration? ':=' ExprSingle )? ( 'collation' URILiteral )?referenced by:GroupingSpecListGroupingVariable:ExprSingleGroupingVariable ::= ExprSinglereferenced by:GroupingSpecOrderByClause:orderbystableorderbyOrderSpecListOrderByClause ::= ( 'order' 'by' | 'stable' 'order' 'by' ) OrderSpecListreferenced by:IntermediateClauseOrderSpecList:OrderSpec,OrderSpecList ::= OrderSpec ( ',' OrderSpec )*referenced by:OrderByClauseOrderSpec:ExprSingleOrderModifierOrderSpec ::= ExprSingle OrderModifierreferenced by:OrderSpecListOrderModifier:ascendingdescendingemptygreatestleastcollationURILiteralOrderModifier ::= ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' URILiteral )?referenced by:OrderSpecReturnClause:returnExprSingleReturnClause ::= 'return' ExprSinglereferenced by:FLWORExprQuantifiedExpr:someevery$VarNameTypeDeclarationinExprSingle,satisfiesExprSingleQuantifiedExpr ::= ( 'some' | 'every' ) '$' VarName TypeDeclaration? 'in' ExprSingle ( ',' '$' VarName TypeDeclaration? 'in' ExprSingle )* 'satisfies' ExprSinglereferenced by:ExprSimpleSwitchExpr:switch(Expr)SwitchCaseClausedefaultreturnExprSingleSwitchExpr ::= 'switch' '(' Expr ')' SwitchCaseClause+ 'default' 'return' ExprSinglereferenced by:ExprSingleSwitchCaseClause:caseSwitchCaseOperandreturnExprSingleSwitchCaseClause ::= ( 'case' SwitchCaseOperand )+ 'return' ExprSinglereferenced by:SwitchExprSwitchCaseOperand:ExprSingleSwitchCaseOperand ::= ExprSinglereferenced by:SwitchCaseClauseSwitchCaseStatementTypeswitchExpr:typeswitch(Expr)CaseClausedefault$VarNamereturnExprSingleTypeswitchExpr ::= 'typeswitch' '(' Expr ')' CaseClause+ 'default' ( '$' VarName )? 'return' ExprSinglereferenced by:ExprSingleCaseClause:case$VarNameasSequenceTypeUnionreturnExprSingleCaseClause ::= 'case' ( '$' VarName 'as' )? SequenceTypeUnion 'return' ExprSinglereferenced by:TypeswitchExprSequenceTypeUnion:SequenceType|SequenceTypeUnion ::= SequenceType ( '|' SequenceType )*referenced by:CaseClauseIfExpr:if(Expr)thenExprSingleelseExprSingleIfExpr ::= 'if' '(' Expr ')' 'then' ExprSingle 'else' ExprSinglereferenced by:ExprSingleTryCatchExpr:TryClauseCatchClauseTryCatchExpr ::= TryClause CatchClause+referenced by:ExprSingleTryClause:try{TryTargetExpr}TryClause ::= 'try' '{' TryTargetExpr '}'referenced by:TryCatchExprTryTargetExpr:ExprTryTargetExpr ::= Exprreferenced by:TryClauseCatchClause:catchCatchErrorList{Expr}CatchClause ::= 'catch' CatchErrorList '{' Expr '}'referenced by:TryCatchExprCatchErrorList:NameTest|CatchErrorList ::= NameTest ( '|' NameTest )*referenced by:CatchClauseTryCatchStatementOrExpr:AndExprorOrExpr ::= AndExpr ( 'or' AndExpr )*referenced by:ExprSimpleAndExpr:ComparisonExprandAndExpr ::= ComparisonExpr ( 'and' ComparisonExpr )*referenced by:OrExprComparisonExpr:FTContainsExprValueCompGeneralCompNodeCompFTContainsExprComparisonExpr ::= FTContainsExpr ( ( ValueComp | GeneralComp | NodeComp ) FTContainsExpr )?referenced by:AndExprFTContainsExpr:StringConcatExprcontainstextFTSelectionFTIgnoreOptionFTContainsExpr ::= StringConcatExpr ( 'contains' 'text' FTSelection FTIgnoreOption? )?referenced by:ComparisonExprStringConcatExpr:RangeExpr||StringConcatExpr ::= RangeExpr ( '||' RangeExpr )*referenced by:FTContainsExprRangeExpr:AdditiveExprtoAdditiveExprRangeExpr ::= AdditiveExpr ( 'to' AdditiveExpr )?referenced by:StringConcatExprAdditiveExpr:MultiplicativeExpr+-AdditiveExpr ::= MultiplicativeExpr ( ( '+' | '-' ) MultiplicativeExpr )*referenced by:FTRangeFTWindowRangeExprMultiplicativeExpr:UnionExpr*dividivmodMultiplicativeExpr ::= UnionExpr ( ( '*' | 'div' | 'idiv' | 'mod' ) UnionExpr )*referenced by:AdditiveExprUnionExpr:IntersectExceptExprunion|UnionExpr ::= IntersectExceptExpr ( ( 'union' | '|' ) IntersectExceptExpr )*referenced by:FTIgnoreOptionMultiplicativeExprIntersectExceptExpr:InstanceofExprintersectexceptIntersectExceptExpr ::= InstanceofExpr ( ( 'intersect' | 'except' ) InstanceofExpr )*referenced by:UnionExprInstanceofExpr:TreatExprinstanceofSequenceTypeInstanceofExpr ::= TreatExpr ( 'instance' 'of' SequenceType )?referenced by:IntersectExceptExprTreatExpr:CastableExprtreatasSequenceTypeTreatExpr ::= CastableExpr ( 'treat' 'as' SequenceType )?referenced by:InstanceofExprCastableExpr:CastExprcastableasSingleTypeCastableExpr ::= CastExpr ( 'castable' 'as' SingleType )?referenced by:TreatExprCastExpr:UnaryExprcastasSingleTypeCastExpr ::= UnaryExpr ( 'cast' 'as' SingleType )?referenced by:CastableExprUnaryExpr:-+ValueExprUnaryExpr ::= ( '-' | '+' )* ValueExprreferenced by:CastExprValueExpr:ValidateExprSimpleMapExprExtensionExprValueExpr ::= ValidateExpr | SimpleMapExpr | ExtensionExprreferenced by:UnaryExprSimpleMapExpr:PathExpr!SimpleMapExpr ::= PathExpr ( '!' PathExpr )*referenced by:ValueExprGeneralComp:=!=<<=>>=GeneralComp ::= '=' | '!=' | '<' | '<=' | '>' | '>='referenced by:ComparisonExprValueComp:eqneltlegtgeValueComp ::= 'eq' | 'ne' | 'lt' | 'le' | 'gt' | 'ge'referenced by:ComparisonExprNodeComp:is<<>>NodeComp ::= 'is' | '<<' | '>>'referenced by:ComparisonExprValidateExpr:validateValidationModetypeTypeName{Expr}ValidateExpr ::= 'validate' ( ValidationMode | 'type' TypeName )? '{' Expr '}'referenced by:ValueExprValidationMode:laxstrictValidationMode ::= 'lax' | 'strict'referenced by:ValidateExprExtensionExpr:Pragma{Expr}ExtensionExpr ::= Pragma+ '{' Expr? '}'referenced by:ValueExprPragma:(#SEQNameSPragmaContents#)Pragma ::= '(#' S? EQName ( S PragmaContents )? '#)' /* ws: explicit */referenced by:ExtensionExprFTExtensionSelectionPathExpr:/RelativePathExpr///RelativePathExprRelativePathExprPathExpr ::= '/' ( RelativePathExpr / ) | '//' RelativePathExpr | RelativePathExprreferenced by:ICCollSequenceUniqueICForeignKeyValuesIndexDomainExprIndexKeyExprSimpleMapExprRelativePathExpr:StepExpr///!RelativePathExpr ::= StepExpr ( ( '/' | '//' | '!' ) StepExpr )*referenced by:PathExprStepExpr:PostfixExprAxisStepStepExpr ::= PostfixExpr | AxisStepreferenced by:RelativePathExprAxisStep:ReverseStepForwardStepPredicateListAxisStep ::= ( ReverseStep | ForwardStep ) PredicateListreferenced by:StepExprForwardStep:ForwardAxisNodeTestAbbrevForwardStepForwardStep ::= ForwardAxis NodeTest | AbbrevForwardStepreferenced by:AxisStepForwardAxis:child::descendant::attribute::self::descendant-or-self::following-sibling::following::ForwardAxis ::= 'child' '::' | 'descendant' '::' | 'attribute' '::' | 'self' '::' | 'descendant-or-self' '::' | 'following-sibling' '::' | 'following' '::'referenced by:ForwardStepAbbrevForwardStep:@NodeTestAbbrevForwardStep ::= '@'? NodeTestreferenced by:ForwardStepReverseStep:ReverseAxisNodeTestAbbrevReverseStepReverseStep ::= ReverseAxis NodeTest | AbbrevReverseStepreferenced by:AxisStepReverseAxis:parent::ancestor::preceding-sibling::preceding::ancestor-or-self::ReverseAxis ::= 'parent' '::' | 'ancestor' '::' | 'preceding-sibling' '::' | 'preceding' '::' | 'ancestor-or-self' '::'referenced by:ReverseStepAbbrevReverseStep:..AbbrevReverseStep ::= '..'referenced by:ReverseStepNodeTest:KindTestNameTestNodeTest ::= KindTest | NameTestreferenced by:AbbrevForwardStepForwardStepReverseStepNameTest:EQNameWildcardNameTest ::= EQName | Wildcardreferenced by:CatchErrorListNodeTestPostfixExpr:PrimaryExprPredicateArgumentListPostfixExpr ::= PrimaryExpr ( Predicate | ArgumentList )*referenced by:JSONDeleteExprJSONRenameExprJSONReplaceExprStepExprArgumentList:(Argument,)ArgumentList ::= '(' ( Argument ( ',' Argument )* )? ')'referenced by:FunctionCallPostfixExprPredicateList:PredicatePredicateList ::= Predicate*referenced by:AxisStepPredicate:[Expr]Predicate ::= '[' Expr ']'referenced by:PostfixExprPredicateListLiteral:NumericLiteralStringLiteralLiteral ::= NumericLiteral | StringLiteralreferenced by:AnnotationPrimaryExprNumericLiteral:IntegerLiteralDecimalLiteralDoubleLiteralNumericLiteral ::= IntegerLiteral | DecimalLiteral | DoubleLiteralreferenced by:LiteralVarRef:$VarNameVarRef ::= '$' VarNamereferenced by:ICCollNodeICCollSequenceICCollSequenceUniqueICForeignKeyValuesPrimaryExprVarName:EQNameVarName ::= EQNamereferenced by:AssignStatementCaseClauseCaseStatementCountClauseFTScoreVarForBindingLetBindingPositionalVarQuantifiedExprSlidingWindowClauseTransformExprTumblingWindowClauseTypeswitchExprTypeswitchStatementVarDeclVarDeclStatementVarRefParenthesizedExpr:(Expr)ParenthesizedExpr ::= '(' Expr? ')'referenced by:PrimaryExprContextItemExpr:.ContextItemExpr ::= '.'referenced by:PrimaryExprOrderedExpr:ordered{Expr}OrderedExpr ::= 'ordered' '{' Expr '}'referenced by:PrimaryExprUnorderedExpr:unordered{Expr}UnorderedExpr ::= 'unordered' '{' Expr '}'referenced by:PrimaryExprFunctionCall:FunctionNameArgumentListFunctionCall ::= FunctionName ArgumentListreferenced by:PrimaryExprArgument:ExprSingleArgumentPlaceholderArgument ::= ExprSingle | ArgumentPlaceholderreferenced by:ArgumentListArgumentPlaceholder:?ArgumentPlaceholder ::= '?'referenced by:ArgumentConstructor:DirectConstructorComputedConstructorConstructor ::= DirectConstructor | ComputedConstructorreferenced by:PrimaryExprDirectConstructor:DirElemConstructorDirCommentConstructorDirPIConstructorDirectConstructor ::= DirElemConstructor | DirCommentConstructor | DirPIConstructorreferenced by:ConstructorDirElemContentDirElemConstructor:<QNameDirAttributeList/>>DirElemContent</QNameS>DirElemConstructor ::= '<' QName DirAttributeList ( '/>' | '>' DirElemContent* '</' QName S? '>' ) /* ws: explicit */referenced by:DirectConstructorDirAttributeList:SQNameS=SDirAttributeValueDirAttributeList ::= ( S ( QName S? '=' S? DirAttributeValue )? )* /* ws: explicit */referenced by:DirElemConstructorDirAttributeValue:"EscapeQuotQuotAttrValueContent"'EscapeAposAposAttrValueContent'DirAttributeValue ::= '"' ( EscapeQuot | QuotAttrValueContent )* '"' | "'" ( EscapeApos | AposAttrValueContent )* "'" /* ws: explicit */referenced by:DirAttributeListQuotAttrValueContent:QuotAttrContentCharCommonContentQuotAttrValueContent ::= QuotAttrContentChar | CommonContentreferenced by:DirAttributeValueAposAttrValueContent:AposAttrContentCharCommonContentAposAttrValueContent ::= AposAttrContentChar | CommonContentreferenced by:DirAttributeValueDirElemContent:DirectConstructorCDataSectionCommonContentElementContentCharDirElemContent ::= DirectConstructor | CDataSection | CommonContent | ElementContentCharreferenced by:DirElemConstructorDirCommentConstructor:<!--DirCommentContents-->DirCommentConstructor ::= '<!--' DirCommentContents '-->' /* ws: explicit */referenced by:DirectConstructorDirPIConstructor:<?PITargetSDirPIContents?>DirPIConstructor ::= '<?' PITarget ( S DirPIContents )? '?>' /* ws: explicit */referenced by:DirectConstructorComputedConstructor:CompDocConstructorCompElemConstructorCompAttrConstructorCompNamespaceConstructorCompTextConstructorCompCommentConstructorCompPIConstructorComputedConstructor ::= CompDocConstructor | CompElemConstructor | CompAttrConstructor | CompNamespaceConstructor | CompTextConstructor | CompCommentConstructor | CompPIConstructorreferenced by:ConstructorCompElemConstructor:elementEQName{Expr}{ContentExpr}CompElemConstructor ::= 'element' ( EQName | '{' Expr '}' ) '{' ContentExpr? '}'referenced by:ComputedConstructorCompNamespaceConstructor:namespacePrefix{PrefixExpr}{URIExpr}CompNamespaceConstructor ::= 'namespace' ( Prefix | '{' PrefixExpr '}' ) '{' URIExpr '}'referenced by:ComputedConstructorPrefix:NCNamePrefix ::= NCNamereferenced by:CompNamespaceConstructorPrefixedNamePrefixExpr:ExprPrefixExpr ::= Exprreferenced by:CompNamespaceConstructorURIExpr:ExprURIExpr ::= Exprreferenced by:CompNamespaceConstructorFunctionItemExpr:NamedFunctionRefInlineFunctionExprFunctionItemExpr ::= NamedFunctionRef | InlineFunctionExprreferenced by:PrimaryExprNamedFunctionRef:EQName#IntegerLiteralNamedFunctionRef ::= EQName '#' IntegerLiteralreferenced by:FunctionItemExprInlineFunctionExpr:Annotationfunction(ParamList)asSequenceTypeFunctionBodyInlineFunctionExpr ::= Annotation* 'function' '(' ParamList? ')' ( 'as' SequenceType )? FunctionBodyreferenced by:FunctionItemExprSingleType:SimpleTypeName?SingleType ::= SimpleTypeName '?'?referenced by:CastExprCastableExprTypeDeclaration:asSequenceTypeTypeDeclaration ::= 'as' SequenceTypereferenced by:ForBindingGroupingSpecLetBindingParamQuantifiedExprSlidingWindowClauseTumblingWindowClauseVarDeclVarDeclStatementSequenceType:empty-sequence()ItemTypeOccurrenceIndicator/SequenceType ::= 'empty-sequence' '(' ')' | ItemType ( OccurrenceIndicator / )referenced by:CaseStatementFunctionDeclInlineFunctionExprInstanceofExprSequenceTypeUnionTreatExprTypeDeclarationTypedFunctionTestOccurrenceIndicator:?*+OccurrenceIndicator ::= '?' | '*'^OccurrenceIndicator | '+'referenced by:CollectionTypeDeclIndexKeyTypeDeclSequenceTypeItemType:KindTestitem()FunctionTestAtomicOrUnionTypeParenthesizedItemTypeJSONTestStructuredItemTestItemType ::= KindTest | 'item' '(' ')' | FunctionTest | AtomicOrUnionType | ParenthesizedItemType | JSONTest | StructuredItemTestreferenced by:ContextItemDeclParenthesizedItemTypeSequenceTypeJSONTest:JSONItemTestJSONObjectTestJSONArrayTestJSONTest ::= JSONItemTest | JSONObjectTest | JSONArrayTestreferenced by:ItemTypeKindTestStructuredItemTest:structured-item()StructuredItemTest ::= 'structured-item' '(' ')'referenced by:ItemTypeJSONItemTest:json-item()JSONItemTest ::= 'json-item' '(' ')'referenced by:JSONTestJSONObjectTest:object()JSONObjectTest ::= 'object' '(' ')'referenced by:JSONTestJSONArrayTest:array()JSONArrayTest ::= 'array' '(' ')'referenced by:JSONTestAtomicOrUnionType:EQNameAtomicOrUnionType ::= EQNamereferenced by:ItemTypeKindTest:DocumentTestElementTestAttributeTestSchemaElementTestSchemaAttributeTestPITestCommentTestTextTestNamespaceNodeTestJSONTestAnyKindTestKindTest ::= DocumentTest | ElementTest | AttributeTest | SchemaElementTest | SchemaAttributeTest | PITest | CommentTest | TextTest | NamespaceNodeTest | JSONTest | AnyKindTestreferenced by:CollectionTypeDeclItemTypeNodeTestAnyKindTest:node()AnyKindTest ::= 'node' '(' ')'referenced by:KindTestDocumentTest:document-node(ElementTestSchemaElementTest)DocumentTest ::= 'document-node' '(' ( ElementTest | SchemaElementTest )? ')'referenced by:KindTestTextTest:text()TextTest ::= 'text' '(' ')'referenced by:KindTestCommentTest:comment()CommentTest ::= 'comment' '(' ')'referenced by:KindTestNamespaceNodeTest:namespace-node()NamespaceNodeTest ::= 'namespace-node' '(' ')'referenced by:KindTestPITest:processing-instruction(NCNameStringLiteral)PITest ::= 'processing-instruction' '(' ( NCName | StringLiteral )? ')'referenced by:KindTestAttributeTest:attribute(AttribNameOrWildcard,TypeName)AttributeTest ::= 'attribute' '(' ( AttribNameOrWildcard ( ',' TypeName )? )? ')'referenced by:KindTestAttribNameOrWildcard:AttributeName*AttribNameOrWildcard ::= AttributeName | '*'referenced by:AttributeTestSchemaAttributeTest:schema-attribute(AttributeDeclaration)SchemaAttributeTest ::= 'schema-attribute' '(' AttributeDeclaration ')'referenced by:KindTestAttributeDeclaration:AttributeNameAttributeDeclaration ::= AttributeNamereferenced by:SchemaAttributeTestElementTest:element(ElementNameOrWildcard,TypeName?)ElementTest ::= 'element' '(' ( ElementNameOrWildcard ( ',' TypeName '?'? )? )? ')'referenced by:DocumentTestKindTestElementNameOrWildcard:ElementName*ElementNameOrWildcard ::= ElementName | '*'referenced by:ElementTestSchemaElementTest:schema-element(ElementDeclaration)SchemaElementTest ::= 'schema-element' '(' ElementDeclaration ')'referenced by:DocumentTestKindTestElementDeclaration:ElementNameElementDeclaration ::= ElementNamereferenced by:SchemaElementTestAttributeName:EQNameAttributeName ::= EQNamereferenced by:AttribNameOrWildcardAttributeDeclarationElementName:EQNameElementName ::= EQNamereferenced by:ElementDeclarationElementNameOrWildcardSimpleTypeName:TypeNameSimpleTypeName ::= TypeNamereferenced by:SingleTypeTypeName:EQNameTypeName ::= EQNamereferenced by:AttributeTestElementTestSimpleTypeNameValidateExprFunctionTest:AnnotationAnyFunctionTestTypedFunctionTestFunctionTest ::= Annotation* ( AnyFunctionTest | TypedFunctionTest )referenced by:ItemTypeAnyFunctionTest:function(*)AnyFunctionTest ::= 'function' '(' '*' ')'referenced by:FunctionTestTypedFunctionTest:function(SequenceType,)asSequenceTypeTypedFunctionTest ::= 'function' '(' ( SequenceType ( ',' SequenceType )* )? ')' 'as' SequenceTypereferenced by:FunctionTestParenthesizedItemType:(ItemType)ParenthesizedItemType ::= '(' ItemType ')'referenced by:ItemTypeRevalidationDecl:declarerevalidationstrictlaxskipRevalidationDecl ::= 'declare' 'revalidation' ( 'strict' | 'lax' | 'skip' )referenced by:SetterInsertExprTargetChoice:asfirstlastintoafterbeforeInsertExprTargetChoice ::= ( 'as' ( 'first' | 'last' ) )? 'into' | 'after' | 'before'referenced by:InsertExprInsertExpr:insertnodenodesSourceExprInsertExprTargetChoiceTargetExprInsertExpr ::= 'insert' ( 'node' | 'nodes' ) SourceExpr InsertExprTargetChoice TargetExprreferenced by:ExprSimpleDeleteExpr:deletenodenodesTargetExprDeleteExpr ::= 'delete' ( 'node' | 'nodes' ) TargetExprreferenced by:ExprSimpleReplaceExpr:replacevalueofnodeTargetExprwithExprSingleReplaceExpr ::= 'replace' ( 'value' 'of' )? 'node' TargetExpr 'with' ExprSinglereferenced by:ExprSimpleRenameExpr:renamenodeTargetExprasNewNameExprRenameExpr ::= 'rename' 'node' TargetExpr 'as' NewNameExprreferenced by:ExprSimpleSourceExpr:ExprSingleSourceExpr ::= ExprSinglereferenced by:InsertExprTargetExpr:ExprSingleTargetExpr ::= ExprSinglereferenced by:DeleteExprInsertExprRenameExprReplaceExprNewNameExpr:ExprSingleNewNameExpr ::= ExprSinglereferenced by:RenameExprTransformExpr:copy$VarName:=ExprSingle,modifyExprSinglereturnExprSingleTransformExpr ::= 'copy' '$' VarName ':=' ExprSingle ( ',' '$' VarName ':=' ExprSingle )* 'modify' ExprSingle 'return' ExprSinglereferenced by:ExprSimpleFTSelection:FTOrFTPosFilterFTSelection ::= FTOr FTPosFilter*referenced by:FTContainsExprFTExtensionSelectionFTPrimaryFTWeight:weight{Expr}FTWeight ::= 'weight' '{' Expr '}'referenced by:FTPrimaryWithOptionsFTOr:FTAndftorFTOr ::= FTAnd ( 'ftor' FTAnd )*referenced by:FTSelectionFTAnd:FTMildNotftandFTAnd ::= FTMildNot ( 'ftand' FTMildNot )*referenced by:FTOrFTMildNot:FTUnaryNotinnotFTMildNot ::= FTUnaryNot ( 'not' 'in' FTUnaryNot )*referenced by:FTAndFTUnaryNot:ftnotFTPrimaryWithOptionsFTUnaryNot ::= 'ftnot'? FTPrimaryWithOptionsreferenced by:FTMildNotFTPrimaryWithOptions:FTPrimaryFTMatchOptionsFTWeightFTPrimaryWithOptions ::= FTPrimary FTMatchOptions? FTWeight?referenced by:FTUnaryNotFTPrimary:FTWordsFTTimes(FTSelection)FTExtensionSelectionFTPrimary ::= FTWords FTTimes? | '(' FTSelection ')' | FTExtensionSelectionreferenced by:FTPrimaryWithOptionsFTWords:FTWordsValueFTAnyallOptionFTWords ::= FTWordsValue FTAnyallOption?referenced by:FTPrimaryFTWordsValue:StringLiteral{Expr}FTWordsValue ::= StringLiteral | '{' Expr '}'referenced by:FTWordsFTExtensionSelection:Pragma{FTSelection}FTExtensionSelection ::= Pragma+ '{' FTSelection? '}'referenced by:FTPrimaryFTAnyallOption:anywordallwordsphraseFTAnyallOption ::= 'any' 'word'? | 'all' 'words'? | 'phrase'referenced by:FTWordsFTTimes:occursFTRangetimesFTTimes ::= 'occurs' FTRange 'times'referenced by:FTPrimaryFTRange:exactlyAdditiveExpratleastAdditiveExprmostAdditiveExprfromAdditiveExprtoAdditiveExprFTRange ::= 'exactly' AdditiveExpr | 'at' ( 'least' AdditiveExpr | 'most' AdditiveExpr ) | 'from' AdditiveExpr 'to' AdditiveExprreferenced by:FTDistanceFTTimesFTPosFilter:FTOrderFTWindowFTDistanceFTScopeFTContentFTPosFilter ::= FTOrder | FTWindow | FTDistance | FTScope | FTContentreferenced by:FTSelectionFTOrder:orderedFTOrder ::= 'ordered'referenced by:FTPosFilterFTWindow:windowAdditiveExprFTUnitFTWindow ::= 'window' AdditiveExpr FTUnitreferenced by:FTPosFilterFTDistance:distanceFTRangeFTUnitFTDistance ::= 'distance' FTRange FTUnitreferenced by:FTPosFilterFTUnit:wordssentencesparagraphsFTUnit ::= 'words' | 'sentences' | 'paragraphs'referenced by:FTDistanceFTWindowFTScope:samedifferentFTBigUnitFTScope ::= ( 'same' | 'different' ) FTBigUnitreferenced by:FTPosFilterFTBigUnit:sentenceparagraphFTBigUnit ::= 'sentence' | 'paragraph'referenced by:FTScopeFTContent:atstartendentirecontentFTContent ::= 'at' ( 'start' | 'end' ) | 'entire' 'content'referenced by:FTPosFilterFTMatchOptions:usingFTMatchOptionFTMatchOptions ::= ( 'using' FTMatchOption )+referenced by:FTOptionDeclFTPrimaryWithOptionsFTMatchOption:FTLanguageOptionFTWildCardOptionFTThesaurusOptionFTStemOptionFTCaseOptionFTDiacriticsOptionFTStopWordOptionFTExtensionOptionFTMatchOption ::= FTLanguageOption | FTWildCardOption | FTThesaurusOption | FTStemOption | FTCaseOption | FTDiacriticsOption | FTStopWordOption | FTExtensionOptionreferenced by:FTMatchOptionsFTCaseOption:caseinsensitivesensitivelowercaseuppercaseFTCaseOption ::= 'case' ( 'insensitive' | 'sensitive' ) | 'lowercase' | 'uppercase'referenced by:FTMatchOptionFTDiacriticsOption:diacriticsinsensitivesensitiveFTDiacriticsOption ::= 'diacritics' ( 'insensitive' | 'sensitive' )referenced by:FTMatchOptionFTStemOption:stemmingnostemmingFTStemOption ::= 'stemming' | 'no' 'stemming'referenced by:FTMatchOptionFTThesaurusOption:thesaurusFTThesaurusIDdefault(FTThesaurusIDdefault,FTThesaurusID)nothesaurusFTThesaurusOption ::= 'thesaurus' ( FTThesaurusID | 'default' | '(' ( FTThesaurusID | 'default' ) ( ',' FTThesaurusID )* ')' ) | 'no' 'thesaurus'referenced by:FTMatchOptionFTThesaurusID:atURILiteralrelationshipStringLiteralFTLiteralRangelevelsFTThesaurusID ::= 'at' URILiteral ( 'relationship' StringLiteral )? ( FTLiteralRange 'levels' )?referenced by:FTThesaurusOptionFTLiteralRange:exactlyIntegerLiteralatleastIntegerLiteralmostIntegerLiteralfromIntegerLiteraltoIntegerLiteralFTLiteralRange ::= 'exactly' IntegerLiteral | 'at' ( 'least' IntegerLiteral | 'most' IntegerLiteral ) | 'from' IntegerLiteral 'to' IntegerLiteralreferenced by:FTThesaurusIDFTStopWordOption:stopwordsFTStopWordsFTStopWordsInclExcldefaultFTStopWordsInclExclnostopwordsFTStopWordOption ::= 'stop' 'words' ( FTStopWords FTStopWordsInclExcl* | 'default' FTStopWordsInclExcl* ) | 'no' 'stop' 'words'referenced by:FTMatchOptionFTStopWords:atURILiteral(StringLiteral,)FTStopWords ::= 'at' URILiteral | '(' StringLiteral ( ',' StringLiteral )* ')'referenced by:FTStopWordOptionFTStopWordsInclExclFTStopWordsInclExcl:unionexceptFTStopWordsFTStopWordsInclExcl ::= ( 'union' | 'except' ) FTStopWordsreferenced by:FTStopWordOptionFTLanguageOption:languageStringLiteralFTLanguageOption ::= 'language' StringLiteralreferenced by:FTMatchOptionFTWildCardOption:wildcardsnowildcardsFTWildCardOption ::= 'wildcards' | 'no' 'wildcards'referenced by:FTMatchOptionFTExtensionOption:optionEQNameStringLiteralFTExtensionOption ::= 'option' EQName StringLiteralreferenced by:FTMatchOptionFTIgnoreOption:withoutcontentUnionExprFTIgnoreOption ::= 'without' 'content' UnionExprreferenced by:FTContainsExprCollectionDecl:collectionEQNameCollectionTypeDeclCollectionDecl ::= 'collection' EQName CollectionTypeDecl?referenced by:AnnotatedDeclCollectionTypeDecl:asKindTestOccurrenceIndicatorCollectionTypeDecl ::= 'as' KindTest OccurrenceIndicator?referenced by:CollectionDeclIndexName:EQNameIndexName ::= EQNamereferenced by:IndexDeclIndexDomainExpr:PathExprIndexDomainExpr ::= PathExprreferenced by:IndexDeclIndexKeySpec:IndexKeyExprIndexKeyTypeDeclIndexKeyCollationIndexKeySpec ::= IndexKeyExpr IndexKeyTypeDecl? IndexKeyCollation?referenced by:IndexDeclIndexKeyExpr:PathExprIndexKeyExpr ::= PathExprreferenced by:IndexKeySpecIndexKeyTypeDecl:asAtomicTypeOccurrenceIndicatorIndexKeyTypeDecl ::= 'as' AtomicType OccurrenceIndicator?referenced by:IndexKeySpecAtomicType:EQNameAtomicType ::= EQNamereferenced by:IndexKeyTypeDeclIndexKeyCollation:collationURILiteralIndexKeyCollation ::= 'collation' URILiteralreferenced by:IndexKeySpecIndexDecl:indexIndexNameonnodesIndexDomainExprbyIndexKeySpec,IndexDecl ::= 'index' IndexName 'on' 'nodes' IndexDomainExpr 'by' IndexKeySpec ( ',' IndexKeySpec )*referenced by:AnnotatedDeclICDecl:integrityconstraintEQNameICCollectionICForeignKeyICDecl ::= 'integrity' 'constraint' EQName ( ICCollection | ICForeignKey )referenced by:AnnotatedDeclICCollection:oncollectionEQNameICCollSequenceICCollSequenceUniqueICCollNodeICCollection ::= 'on' 'collection' EQName ( ICCollSequence | ICCollSequenceUnique | ICCollNode )referenced by:ICDeclICCollSequence:VarRefcheckExprSingleICCollSequence ::= VarRef 'check' ExprSinglereferenced by:ICCollectionICCollSequenceUnique:nodeVarRefcheckuniquekeyPathExprICCollSequenceUnique ::= 'node' VarRef 'check' 'unique' 'key' PathExprreferenced by:ICCollectionICCollNode:foreachnodeVarRefcheckExprSingleICCollNode ::= 'foreach' 'node' VarRef 'check' ExprSinglereferenced by:ICCollectionICForeignKey:foreignkeyICForeignKeySourceICForeignKeyTargetICForeignKey ::= 'foreign' 'key' ICForeignKeySource ICForeignKeyTargetreferenced by:ICDeclICForeignKeySource:fromICForeignKeyValuesICForeignKeySource ::= 'from' ICForeignKeyValuesreferenced by:ICForeignKeyICForeignKeyTarget:toICForeignKeyValuesICForeignKeyTarget ::= 'to' ICForeignKeyValuesreferenced by:ICForeignKeyICForeignKeyValues:collectionEQNamenodeVarRefkeyPathExprICForeignKeyValues ::= 'collection' EQName 'node' VarRef 'key' PathExprreferenced by:ICForeignKeySourceICForeignKeyTargetComment:(:CommentContentsComment:)Comment ::= '(:' ( CommentContents | Comment )* ':)' /* ws: explicit */referenced by:CommentWhitespaceWhitespace:SCommentWhitespace ::= S^WS | Comment /* ws: definition */no referencesEQName:FunctionNameattributecommentdocument-nodeelementempty-sequencefunctionifitemnamespace-nodenodeprocessing-instructionschema-attributeschema-elementswitchtexttypeswitchEQName ::= FunctionName | 'attribute' | 'comment' | 'document-node' | 'element' | 'empty-sequence' | 'function' | 'if' | 'item' | 'namespace-node' | 'node' | 'processing-instruction' | 'schema-attribute' | 'schema-element' | 'switch' | 'text' | 'typeswitch'referenced by:AnnotationAtomicOrUnionTypeAtomicTypeAttributeNameCollectionDeclCompAttrConstructorCompElemConstructorCurrentItemDecimalFormatDeclElementNameFTExtensionOptionFunctionDeclFunctionNameICCollectionICDeclICForeignKeyValuesIndexNameNameTestNamedFunctionRefNextItemOptionDeclParamPragmaPreviousItemTypeNameVarNameFunctionName:EQNameFunctionName ::= EQName^Tokenreferenced by:EQNameFunctionCallNCName:NCNameNCName ::= NCName^Tokenreferenced by:CompPIConstructorLocalPartModuleDeclModuleImportNCNameNamespaceDeclPITargetPITestPrefixPrefixSchemaPrefixURIQualifiedNameWildcardMainModule:PrologProgramMainModule ::= Prolog Programreferenced by:ModuleProgram:StatementsAndOptionalExprProgram ::= StatementsAndOptionalExprreferenced by:MainModuleStatements:StatementStatements ::= Statement*referenced by:BlockStatementStatementsAndExprStatementsAndOptionalExprStatementsAndExpr:StatementsExprStatementsAndExpr ::= Statements Exprreferenced by:ContentExprStatementsAndOptionalExpr:StatementsExprStatementsAndOptionalExpr ::= Statements Expr?referenced by:BlockExprFunctionDeclProgramStatement:ApplyStatementAssignStatementBlockStatementBreakStatementContinueStatementExitStatementFLWORStatementIfStatementSwitchStatementTryCatchStatementTypeswitchStatementVarDeclStatementWhileStatementStatement ::= ApplyStatement | AssignStatement | BlockStatement | BreakStatement | ContinueStatement | ExitStatement | FLWORStatement | IfStatement | SwitchStatement | TryCatchStatement | TypeswitchStatement | VarDeclStatement | WhileStatementreferenced by:CaseStatementIfStatementReturnStatementStatementsSwitchCaseStatementSwitchStatementTypeswitchStatementWhileStatementApplyStatement:ExprSimple;ApplyStatement ::= ExprSimple ';'referenced by:StatementAssignStatement:$VarName:=ExprSingle;AssignStatement ::= '$' VarName ':=' ExprSingle ';'referenced by:StatementBlockStatement:{Statements}BlockStatement ::= '{' Statements '}'referenced by:StatementTryCatchStatementBreakStatement:breakloop;BreakStatement ::= 'break' 'loop' ';'referenced by:StatementContinueStatement:continueloop;ContinueStatement ::= 'continue' 'loop' ';'referenced by:StatementExitStatement:exitreturningExprSingle;ExitStatement ::= 'exit' 'returning' ExprSingle ';'referenced by:StatementFLWORStatement:InitialClauseIntermediateClauseReturnStatementFLWORStatement ::= InitialClause IntermediateClause* ReturnStatementreferenced by:StatementReturnStatement:returnStatementReturnStatement ::= 'return' Statementreferenced by:FLWORStatementIfStatement:if(Expr)thenStatementelseStatementIfStatement ::= 'if' '(' Expr ')' 'then' Statement 'else' Statementreferenced by:StatementSwitchStatement:switch(Expr)SwitchCaseStatementdefaultreturnStatementSwitchStatement ::= 'switch' '(' Expr ')' SwitchCaseStatement+ 'default' 'return' Statementreferenced by:StatementSwitchCaseStatement:caseSwitchCaseOperandreturnStatementSwitchCaseStatement ::= ( 'case' SwitchCaseOperand )+ 'return' Statementreferenced by:SwitchStatementTryCatchStatement:tryBlockStatementcatchCatchErrorListBlockStatementTryCatchStatement ::= 'try' BlockStatement ( 'catch' CatchErrorList BlockStatement )+referenced by:StatementTypeswitchStatement:typeswitch(Expr)CaseStatementdefault$VarNamereturnStatementTypeswitchStatement ::= 'typeswitch' '(' Expr ')' CaseStatement+ 'default' ( '$' VarName )? 'return' Statementreferenced by:StatementCaseStatement:case$VarNameasSequenceTypereturnStatementCaseStatement ::= 'case' ( '$' VarName 'as' )? SequenceType 'return' Statementreferenced by:TypeswitchStatementVarDeclStatement:Annotationvariable$VarNameTypeDeclaration:=ExprSingle,;VarDeclStatement ::= Annotation* 'variable' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? ( ',' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? )* ';'referenced by:StatementWhileStatement:while(Expr)StatementWhileStatement ::= 'while' '(' Expr ')' Statementreferenced by:StatementExprSingle:ExprSimpleFLWORExprIfExprSwitchExprTryCatchExprTypeswitchExprExprSingle ::= ExprSimple | FLWORExpr | IfExpr | SwitchExpr | TryCatchExpr | TypeswitchExprreferenced by:ArgumentAssignStatementCaseClauseExitStatementExprForBindingGroupingSpecGroupingVariableICCollNodeICCollSequenceIfExprJSONAppendExprJSONInsertExprJSONRenameExprJSONReplaceExprLetBindingNewNameExprOrderSpecPairConstructorQuantifiedExprReplaceExprReturnClauseSlidingWindowClauseSourceExprSwitchCaseClauseSwitchCaseOperandSwitchExprTargetExprTransformExprTumblingWindowClauseTypeswitchExprVarDeclStatementVarDefaultValueVarValueWhereClauseWindowEndConditionWindowStartConditionExprSimple:QuantifiedExprOrExprInsertExprDeleteExprRenameExprReplaceExprTransformExprJSONDeleteExprJSONInsertExprJSONRenameExprJSONReplaceExprJSONAppendExprExprSimple ::= QuantifiedExpr | OrExpr | InsertExpr | DeleteExpr | RenameExpr | ReplaceExpr | TransformExpr | JSONDeleteExpr | JSONInsertExpr | JSONRenameExpr | JSONReplaceExpr | JSONAppendExprreferenced by:ApplyStatementExprSingleJSONDeleteExpr:deletejsonPostfixExprJSONDeleteExpr ::= 'delete' 'json' PostfixExprreferenced by:ExprSimpleJSONInsertExpr:insertjsonExprSinglePairConstructorListintoExprSingleatpositionExprSingleJSONInsertExpr ::= 'insert' 'json' ( ExprSingle | PairConstructorList ) 'into' ExprSingle ( 'at' 'position' ExprSingle )?referenced by:ExprSimpleJSONRenameExpr:renamejsonPostfixExprasExprSingleJSONRenameExpr ::= 'rename' 'json' PostfixExpr 'as' ExprSinglereferenced by:ExprSimpleJSONReplaceExpr:replacejsonvalueofPostfixExprwithExprSingleJSONReplaceExpr ::= 'replace' 'json' 'value' 'of' PostfixExpr 'with' ExprSinglereferenced by:ExprSimpleJSONAppendExpr:appendjsonExprSingleintoExprSingleJSONAppendExpr ::= 'append' 'json' ExprSingle 'into' ExprSinglereferenced by:ExprSimpleCommonContent:PredefinedEntityRefCharRef{{}}BlockExprCommonContent ::= PredefinedEntityRef | CharRef | '{{' | '}}' | BlockExprreferenced by:AposAttrValueContentDirElemContentQuotAttrValueContentContentExpr:StatementsAndExprContentExpr ::= StatementsAndExprreferenced by:CompElemConstructorCompDocConstructor:documentBlockExprCompDocConstructor ::= 'document' BlockExprreferenced by:ComputedConstructorCompAttrConstructor:attributeEQName{Expr}{}BlockExprCompAttrConstructor ::= 'attribute' ( EQName | '{' Expr '}' ) ( '{' '}' | BlockExpr )referenced by:ComputedConstructorCompPIConstructor:processing-instructionNCName{Expr}{}BlockExprCompPIConstructor ::= 'processing-instruction' ( NCName | '{' Expr '}' ) ( '{' '}' | BlockExpr )referenced by:ComputedConstructorCompCommentConstructor:commentBlockExprCompCommentConstructor ::= 'comment' BlockExprreferenced by:ComputedConstructorCompTextConstructor:textBlockExprCompTextConstructor ::= 'text' BlockExprreferenced by:ComputedConstructorPrimaryExpr:LiteralVarRefParenthesizedExprContextItemExprFunctionCallOrderedExprUnorderedExprConstructorFunctionItemExprBlockExprObjectConstructorArrayConstructorJSONSimpleObjectUnionPrimaryExpr ::= Literal | VarRef | ParenthesizedExpr | ContextItemExpr | FunctionCall | OrderedExpr | UnorderedExpr | Constructor | FunctionItemExpr | BlockExpr | ObjectConstructor | ArrayConstructor | JSONSimpleObjectUnionreferenced by:PostfixExprJSONSimpleObjectUnion:{|Expr|}JSONSimpleObjectUnion ::= '{|' Expr? '|}'referenced by:PrimaryExprObjectConstructor:{PairConstructorList}ObjectConstructor ::= '{' PairConstructorList? '}'referenced by:PrimaryExprPairConstructorList:PairConstructor,PairConstructorList ::= PairConstructor ( ',' PairConstructor )*referenced by:JSONInsertExprObjectConstructorPairConstructor:ExprSingle:ExprSinglePairConstructor ::= ExprSingle ':' ExprSinglereferenced by:PairConstructorListArrayConstructor: