XQuery: Module EOF XQuery ::= Module EOF no referencesModule: VersionDecl LibraryModule MainModule Module ::= VersionDecl? ( LibraryModule | MainModule ) referenced by: XQuery VersionDecl: jsoniq encoding StringLiteral version StringLiteral encoding StringLiteral Separator VersionDecl ::= 'jsoniq' ( 'encoding' StringLiteral | 'version' StringLiteral ( 'encoding' StringLiteral )? ) Separator referenced by: Module LibraryModule: ModuleDecl Prolog LibraryModule ::= ModuleDecl Prolog referenced by: Module ModuleDecl: module namespace NCName = URILiteral Separator ModuleDecl ::= 'module' 'namespace' NCName '=' URILiteral Separator referenced by: LibraryModule Prolog: DefaultNamespaceDecl Setter NamespaceDecl Import FTOptionDecl Separator ContextItemDecl AnnotatedDecl OptionDecl Separator Prolog ::= ( ( DefaultNamespaceDecl | Setter | NamespaceDecl | Import | FTOptionDecl ) Separator )* ( ( ContextItemDecl | AnnotatedDecl | OptionDecl ) Separator )* referenced by: LibraryModule MainModule Separator: ; Separator ::= ';' referenced by: ModuleDecl Prolog VersionDecl Setter: BoundarySpaceDecl DefaultCollationDecl BaseURIDecl ConstructionDecl OrderingModeDecl EmptyOrderDecl RevalidationDecl CopyNamespacesDecl DecimalFormatDecl Setter ::= BoundarySpaceDecl | DefaultCollationDecl | BaseURIDecl | ConstructionDecl | OrderingModeDecl | EmptyOrderDecl | RevalidationDecl | CopyNamespacesDecl | DecimalFormatDecl referenced by: Prolog BoundarySpaceDecl: declare boundary-space preserve strip BoundarySpaceDecl ::= 'declare' 'boundary-space' ( 'preserve' | 'strip' ) referenced by: Setter DefaultCollationDecl: declare default collation URILiteral DefaultCollationDecl ::= 'declare' 'default' 'collation' URILiteral referenced by: Setter BaseURIDecl: declare base-uri URILiteral BaseURIDecl ::= 'declare' 'base-uri' URILiteral referenced by: Setter ConstructionDecl: declare construction strip preserve ConstructionDecl ::= 'declare' 'construction' ( 'strip' | 'preserve' ) referenced by: Setter OrderingModeDecl: declare ordering ordered unordered OrderingModeDecl ::= 'declare' 'ordering' ( 'ordered' | 'unordered' ) referenced by: Setter EmptyOrderDecl: declare default order empty greatest least EmptyOrderDecl ::= 'declare' 'default' 'order' 'empty' ( 'greatest' | 'least' ) referenced by: Setter CopyNamespacesDecl: declare copy-namespaces PreserveMode , InheritMode CopyNamespacesDecl ::= 'declare' 'copy-namespaces' PreserveMode ',' InheritMode referenced by: Setter PreserveMode: preserve no-preserve PreserveMode ::= 'preserve' | 'no-preserve' referenced by: CopyNamespacesDecl InheritMode: inherit no-inherit InheritMode ::= 'inherit' | 'no-inherit' referenced by: CopyNamespacesDecl DecimalFormatDecl: declare decimal-format EQName default decimal-format DFPropertyName = StringLiteral DecimalFormatDecl ::= 'declare' ( 'decimal-format' EQName | 'default' 'decimal-format' ) ( DFPropertyName '=' StringLiteral )* referenced by: Setter DFPropertyName: decimal-separator grouping-separator infinity minus-sign NaN percent per-mille zero-digit digit pattern-separator DFPropertyName ::= 'decimal-separator' | 'grouping-separator' | 'infinity' | 'minus-sign' | 'NaN' | 'percent' | 'per-mille' | 'zero-digit' | 'digit' | 'pattern-separator' referenced by: DecimalFormatDecl Import: SchemaImport ModuleImport Import ::= SchemaImport | ModuleImport referenced by: Prolog SchemaImport: import schema SchemaPrefix URILiteral at URILiteral , SchemaImport ::= 'import' 'schema' SchemaPrefix? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )? referenced by: Import SchemaPrefix: namespace NCName = default element namespace SchemaPrefix ::= 'namespace' NCName '=' | 'default' 'element' 'namespace' referenced by: SchemaImport ModuleImport: import module namespace NCName = URILiteral at URILiteral , ModuleImport ::= 'import' 'module' ( 'namespace' NCName '=' )? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )? referenced by: Import NamespaceDecl: declare namespace NCName = URILiteral NamespaceDecl ::= 'declare' 'namespace' NCName '=' URILiteral referenced by: Prolog DefaultNamespaceDecl: declare default element function namespace URILiteral DefaultNamespaceDecl ::= 'declare' 'default' ( 'element' | 'function' ) 'namespace' URILiteral referenced by: Prolog FTOptionDecl: declare ft-option FTMatchOptions FTOptionDecl ::= 'declare' 'ft-option' FTMatchOptions referenced by: Prolog AnnotatedDecl: declare CompatibilityAnnotation Annotation VarDecl FunctionDecl CollectionDecl IndexDecl ICDecl AnnotatedDecl ::= 'declare' ( CompatibilityAnnotation | Annotation )* ( VarDecl | FunctionDecl | CollectionDecl | IndexDecl | ICDecl ) referenced by: Prolog CompatibilityAnnotation: updating CompatibilityAnnotation ::= 'updating' referenced by: AnnotatedDecl Annotation: % EQName ( Literal , ) Annotation ::= '%' EQName ( '(' Literal ( ',' Literal )* ')' )? referenced by: AnnotatedDecl FunctionTest InlineFunctionExpr VarDeclStatement VarDecl: variable $ VarName TypeDeclaration := VarValue external := VarDefaultValue VarDecl ::= 'variable' '$' VarName TypeDeclaration? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? ) referenced by: AnnotatedDecl VarValue: ExprSingle VarValue ::= ExprSingle referenced by: ContextItemDecl VarDecl VarDefaultValue: ExprSingle VarDefaultValue ::= ExprSingle referenced by: ContextItemDecl VarDecl ContextItemDecl: declare context item as ItemType := VarValue external := VarDefaultValue ContextItemDecl ::= 'declare' 'context' 'item' ( 'as' ItemType )? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? ) referenced by: Prolog ParamList: Param , ParamList ::= Param ( ',' Param )* referenced by: FunctionDecl InlineFunctionExpr Param: $ EQName TypeDeclaration Param ::= '$' EQName TypeDeclaration? referenced by: ParamList FunctionBody: EnclosedExpr FunctionBody ::= EnclosedExpr referenced by: InlineFunctionExpr EnclosedExpr: { Expr } EnclosedExpr ::= '{' Expr '}' referenced by: FunctionBody OptionDecl: declare option EQName StringLiteral OptionDecl ::= 'declare' 'option' EQName StringLiteral referenced by: Prolog Expr: ExprSingle , Expr ::= ExprSingle ( ',' ExprSingle )* referenced by: ArrayConstructor ArrayLookup CatchClause CompAttrConstructor CompElemConstructor CompPIConstructor EnclosedExpr ExtensionExpr FTWeight FTWordsValue IfExpr IfStatement JSONSimpleObjectUnion OrderedExpr ParenthesizedExpr Predicate PrefixExpr StatementsAndExpr StatementsAndOptionalExpr SwitchExpr SwitchStatement TryTargetExpr TypeswitchExpr TypeswitchStatement URIExpr UnorderedExpr ValidateExpr WhileStatement FLWORExpr: InitialClause IntermediateClause ReturnClause FLWORExpr ::= InitialClause IntermediateClause* ReturnClause referenced by: ExprSingle InitialClause: ForClause LetClause WindowClause InitialClause ::= ForClause | LetClause | WindowClause referenced by: FLWORExpr FLWORStatement IntermediateClause IntermediateClause: InitialClause WhereClause GroupByClause OrderByClause CountClause IntermediateClause ::= InitialClause | WhereClause | GroupByClause | OrderByClause | CountClause referenced by: FLWORExpr FLWORStatement ForClause: for from ForBinding , ForClause ::= ( 'for' | 'from' ) ForBinding ( ',' ForBinding )* referenced by: InitialClause ForBinding: $ VarName TypeDeclaration AllowingEmpty PositionalVar FTScoreVar in ExprSingle ForBinding ::= '$' VarName TypeDeclaration? AllowingEmpty? PositionalVar? FTScoreVar? 'in' ExprSingle referenced by: ForClause AllowingEmpty: allowing empty AllowingEmpty ::= 'allowing' 'empty' referenced by: ForBinding PositionalVar: at $ VarName PositionalVar ::= 'at' '$' VarName referenced by: ForBinding WindowVars FTScoreVar: score $ VarName FTScoreVar ::= 'score' '$' VarName referenced by: ForBinding LetBinding LetClause: let LetBinding , LetClause ::= 'let' LetBinding ( ',' LetBinding )* referenced by: InitialClause LetBinding: $ VarName TypeDeclaration FTScoreVar := ExprSingle LetBinding ::= ( '$' VarName TypeDeclaration? | FTScoreVar ) ':=' ExprSingle referenced by: LetClause WindowClause: for from TumblingWindowClause SlidingWindowClause WindowClause ::= ( 'for' | 'from' ) ( TumblingWindowClause | SlidingWindowClause ) referenced by: InitialClause TumblingWindowClause: tumbling window $ VarName TypeDeclaration in ExprSingle WindowStartCondition WindowEndCondition TumblingWindowClause ::= 'tumbling' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndCondition? referenced by: WindowClause SlidingWindowClause: sliding window $ VarName TypeDeclaration in ExprSingle WindowStartCondition WindowEndCondition SlidingWindowClause ::= 'sliding' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndCondition referenced by: WindowClause WindowStartCondition: start WindowVars when ExprSingle WindowStartCondition ::= 'start' WindowVars 'when' ExprSingle referenced by: SlidingWindowClause TumblingWindowClause WindowEndCondition: only end WindowVars when ExprSingle WindowEndCondition ::= 'only'? 'end' WindowVars 'when' ExprSingle referenced by: SlidingWindowClause TumblingWindowClause WindowVars: $ CurrentItem PositionalVar previous $ PreviousItem next $ NextItem WindowVars ::= ( '$' CurrentItem )? PositionalVar? ( 'previous' '$' PreviousItem )? ( 'next' '$' NextItem )? referenced by: WindowEndCondition WindowStartCondition CurrentItem: EQName CurrentItem ::= EQName referenced by: WindowVars PreviousItem: EQName PreviousItem ::= EQName referenced by: WindowVars NextItem: EQName NextItem ::= EQName referenced by: WindowVars CountClause: count $ VarName CountClause ::= 'count' '$' VarName referenced by: IntermediateClause WhereClause: where ExprSingle WhereClause ::= 'where' ExprSingle referenced by: IntermediateClause GroupByClause: group by GroupingSpecList GroupByClause ::= 'group' 'by' GroupingSpecList referenced by: IntermediateClause GroupingSpecList: GroupingSpec , GroupingSpecList ::= GroupingSpec ( ',' GroupingSpec )* referenced by: GroupByClause GroupingSpec: GroupingVariable TypeDeclaration := ExprSingle collation URILiteral GroupingSpec ::= GroupingVariable ( TypeDeclaration? ':=' ExprSingle )? ( 'collation' URILiteral )? referenced by: GroupingSpecList GroupingVariable: ExprSingle GroupingVariable ::= ExprSingle referenced by: GroupingSpec OrderByClause: order by stable order by OrderSpecList OrderByClause ::= ( 'order' 'by' | 'stable' 'order' 'by' ) OrderSpecList referenced by: IntermediateClause OrderSpecList: OrderSpec , OrderSpecList ::= OrderSpec ( ',' OrderSpec )* referenced by: OrderByClause OrderSpec: ExprSingle OrderModifier OrderSpec ::= ExprSingle OrderModifier referenced by: OrderSpecList OrderModifier: ascending descending empty greatest least collation URILiteral OrderModifier ::= ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' URILiteral )? referenced by: OrderSpec ReturnClause: return select ExprSingle ReturnClause ::= ( 'return' | 'select' ) ExprSingle referenced by: FLWORExpr QuantifiedExpr: some every $ VarName TypeDeclaration in ExprSingle , satisfies ExprSingle QuantifiedExpr ::= ( 'some' | 'every' ) '$' VarName TypeDeclaration? 'in' ExprSingle ( ',' '$' VarName TypeDeclaration? 'in' ExprSingle )* 'satisfies' ExprSingle referenced by: ExprSimple SwitchExpr: switch ( Expr ) SwitchCaseClause default return select ExprSingle SwitchExpr ::= 'switch' '(' Expr ')' SwitchCaseClause+ 'default' ( 'return' | 'select' ) ExprSingle referenced by: ExprSingle SwitchCaseClause: case SwitchCaseOperand return select ExprSingle SwitchCaseClause ::= ( 'case' SwitchCaseOperand )+ ( 'return' | 'select' ) ExprSingle referenced by: SwitchExpr SwitchCaseOperand: ExprSingle SwitchCaseOperand ::= ExprSingle referenced by: SwitchCaseClause SwitchCaseStatement TypeswitchExpr: typeswitch ( Expr ) CaseClause default $ VarName return select ExprSingle TypeswitchExpr ::= 'typeswitch' '(' Expr ')' CaseClause+ 'default' ( '$' VarName )? ( 'return' | 'select' ) ExprSingle referenced by: ExprSingle CaseClause: case $ VarName as SequenceTypeUnion return select ExprSingle CaseClause ::= 'case' ( '$' VarName 'as' )? SequenceTypeUnion ( 'return' | 'select' ) ExprSingle referenced by: TypeswitchExpr SequenceTypeUnion: SequenceType | SequenceTypeUnion ::= SequenceType ( '|' SequenceType )* referenced by: CaseClause IfExpr: if ( Expr ) then ExprSingle else ExprSingle IfExpr ::= 'if' '(' Expr ')' 'then' ExprSingle 'else' ExprSingle referenced by: ExprSingle TryCatchExpr: TryClause CatchClause TryCatchExpr ::= TryClause CatchClause+ referenced by: ExprSingle TryClause: try { TryTargetExpr } TryClause ::= 'try' '{' TryTargetExpr '}' referenced by: TryCatchExpr TryTargetExpr: Expr TryTargetExpr ::= Expr referenced by: TryClause CatchClause: catch CatchErrorList { Expr } CatchClause ::= 'catch' CatchErrorList '{' Expr '}' referenced by: TryCatchExpr CatchErrorList: NameTest | CatchErrorList ::= NameTest ( '|' NameTest )* referenced by: CatchClause TryCatchStatement OrExpr: AndExpr or OrExpr ::= AndExpr ( 'or' AndExpr )* referenced by: ExprSimple AndExpr: NotExpr and AndExpr ::= NotExpr ( 'and' NotExpr )* referenced by: OrExpr NotExpr: not ComparisonExpr NotExpr ::= 'not'* ComparisonExpr referenced by: AndExpr ComparisonExpr: FTContainsExpr ValueComp GeneralComp NodeComp FTContainsExpr ComparisonExpr ::= FTContainsExpr ( ( ValueComp | GeneralComp | NodeComp ) FTContainsExpr )? referenced by: NotExpr FTContainsExpr: StringConcatExpr contains text FTSelection FTIgnoreOption FTContainsExpr ::= StringConcatExpr ( 'contains' 'text' FTSelection FTIgnoreOption? )? referenced by: ComparisonExpr StringConcatExpr: RangeExpr || StringConcatExpr ::= RangeExpr ( '||' RangeExpr )* referenced by: FTContainsExpr RangeExpr: AdditiveExpr to AdditiveExpr RangeExpr ::= AdditiveExpr ( 'to' AdditiveExpr )? referenced by: StringConcatExpr AdditiveExpr: MultiplicativeExpr + - AdditiveExpr ::= MultiplicativeExpr ( ( '+' | '-' ) MultiplicativeExpr )* referenced by: FTRange FTWindow RangeExpr MultiplicativeExpr: UnionExpr * div idiv mod MultiplicativeExpr ::= UnionExpr ( ( '*' | 'div' | 'idiv' | 'mod' ) UnionExpr )* referenced by: AdditiveExpr UnionExpr: IntersectExceptExpr union | UnionExpr ::= IntersectExceptExpr ( ( 'union' | '|' ) IntersectExceptExpr )* referenced by: FTIgnoreOption MultiplicativeExpr IntersectExceptExpr: InstanceofExpr intersect except IntersectExceptExpr ::= InstanceofExpr ( ( 'intersect' | 'except' ) InstanceofExpr )* referenced by: UnionExpr InstanceofExpr: TreatExpr instance of SequenceType InstanceofExpr ::= TreatExpr ( 'instance' 'of' SequenceType )? referenced by: IntersectExceptExpr TreatExpr: CastableExpr treat as SequenceType TreatExpr ::= CastableExpr ( 'treat' 'as' SequenceType )? referenced by: InstanceofExpr CastableExpr: CastExpr castable as SingleType CastableExpr ::= CastExpr ( 'castable' 'as' SingleType )? referenced by: TreatExpr CastExpr: UnaryExpr cast as SingleType CastExpr ::= UnaryExpr ( 'cast' 'as' SingleType )? referenced by: CastableExpr UnaryExpr: - + ValueExpr UnaryExpr ::= ( '-' | '+' )* ValueExpr referenced by: CastExpr ValueExpr: ValidateExpr SimpleMapExpr ExtensionExpr ValueExpr ::= ValidateExpr | SimpleMapExpr | ExtensionExpr referenced by: UnaryExpr SimpleMapExpr: PathExpr ! SimpleMapExpr ::= PathExpr ( '!' PathExpr )* referenced by: ValueExpr GeneralComp: = != < <= > >= GeneralComp ::= '=' | '!=' | '<' | '<=' | '>' | '>=' referenced by: ComparisonExpr ValueComp: eq ne lt le gt ge ValueComp ::= 'eq' | 'ne' | 'lt' | 'le' | 'gt' | 'ge' referenced by: ComparisonExpr NodeComp: is << >> NodeComp ::= 'is' | '<<' | '>>' referenced by: ComparisonExpr ValidateExpr: validate ValidationMode type TypeName { Expr } ValidateExpr ::= 'validate' ( ValidationMode | 'type' TypeName )? '{' Expr '}' referenced by: ValueExpr ValidationMode: lax strict ValidationMode ::= 'lax' | 'strict' referenced by: ValidateExpr ExtensionExpr: Pragma { Expr } ExtensionExpr ::= Pragma+ '{' Expr? '}' referenced by: ValueExpr Pragma: (# S EQName S PragmaContents #) Pragma ::= '(#' S? EQName ( S PragmaContents )? '#)' /* ws: explicit */ referenced by: ExtensionExpr FTExtensionSelection PathExpr: / RelativePathExpr // RelativePathExpr RelativePathExpr PathExpr ::= '/' ( RelativePathExpr | ) | '//' RelativePathExpr | RelativePathExpr referenced by: ICCollSequenceUnique ICForeignKeyValues IndexDomainExpr IndexKeyExpr SimpleMapExpr RelativePathExpr: PostfixExpr / // ! StepExpr RelativePathExpr ::= PostfixExpr ( ( '/' | '//' | '!' ) StepExpr )* referenced by: PathExpr StepExpr: PostfixExpr AxisStep StepExpr ::= PostfixExpr | AxisStep referenced by: RelativePathExpr AxisStep: ReverseStep ForwardStep PredicateList AxisStep ::= ( ReverseStep | ForwardStep ) PredicateList referenced by: StepExpr ForwardStep: ForwardAxis NodeTest AbbrevForwardStep ForwardStep ::= ForwardAxis NodeTest | AbbrevForwardStep referenced by: AxisStep ForwardAxis: child :: descendant :: attribute :: self :: descendant-or-self :: following-sibling :: following :: ForwardAxis ::= 'child' '::' | 'descendant' '::' | 'attribute' '::' | 'self' '::' | 'descendant-or-self' '::' | 'following-sibling' '::' | 'following' '::' referenced by: ForwardStep AbbrevForwardStep: @ NodeTest AbbrevForwardStep ::= '@'? NodeTest referenced by: ForwardStep ReverseStep: ReverseAxis NodeTest AbbrevReverseStep ReverseStep ::= ReverseAxis NodeTest | AbbrevReverseStep referenced by: AxisStep ReverseAxis: parent :: ancestor :: preceding-sibling :: preceding :: ancestor-or-self :: ReverseAxis ::= 'parent' '::' | 'ancestor' '::' | 'preceding-sibling' '::' | 'preceding' '::' | 'ancestor-or-self' '::' referenced by: ReverseStep AbbrevReverseStep: .. AbbrevReverseStep ::= '..' referenced by: ReverseStep NodeTest: KindTest NameTest NodeTest ::= KindTest | NameTest referenced by: AbbrevForwardStep ForwardStep ReverseStep NameTest: EQName Wildcard NameTest ::= EQName | Wildcard referenced by: CatchErrorList NodeTest PostfixExpr: PrimaryExpr Predicate ArgumentList ObjectLookup ArrayLookup ArrayUnboxing PostfixExpr ::= PrimaryExpr ( Predicate | ArgumentList | ObjectLookup | ArrayLookup | ArrayUnboxing )* referenced by: JSONDeleteExpr JSONRenameExpr JSONReplaceExpr RelativePathExpr StepExpr ObjectLookup: . StringLiteral NCName ParenthesizedExpr VarRef ContextItemExpr ObjectLookup ::= '.' ( StringLiteral | NCName | ParenthesizedExpr | VarRef | ContextItemExpr ) referenced by: PostfixExpr ArrayLookup: [ [ Expr ] ] ArrayLookup ::= '[' '[' Expr ']' ']' referenced by: PostfixExpr ArrayUnboxing: [ ] ArrayUnboxing ::= '[' ']' referenced by: PostfixExpr ArgumentList: ( Argument , ) ArgumentList ::= '(' ( Argument ( ',' Argument )* )? ')' referenced by: FunctionCall PostfixExpr PredicateList: Predicate PredicateList ::= Predicate* referenced by: AxisStep Predicate: [ Expr ] Predicate ::= '[' Expr ']' referenced by: PostfixExpr PredicateList Literal: NumericLiteral StringLiteral BooleanLiteral NullLiteral Literal ::= NumericLiteral | StringLiteral | BooleanLiteral | NullLiteral referenced by: Annotation PrimaryExpr BooleanLiteral: true false BooleanLiteral ::= 'true' | 'false' referenced by: Literal NullLiteral: null NullLiteral ::= 'null' referenced by: Literal NumericLiteral: IntegerLiteral DecimalLiteral DoubleLiteral NumericLiteral ::= IntegerLiteral | DecimalLiteral | DoubleLiteral referenced by: Literal VarRef: $ VarName VarRef ::= '$' VarName referenced by: ICCollNode ICCollSequence ICCollSequenceUnique ICForeignKeyValues ObjectLookup PrimaryExpr VarName: EQName VarName ::= EQName referenced by: AssignStatement CaseClause CaseStatement CountClause FTScoreVar ForBinding LetBinding PositionalVar QuantifiedExpr SlidingWindowClause TransformExpr TumblingWindowClause TypeswitchExpr TypeswitchStatement VarDecl VarDeclStatement VarRef ParenthesizedExpr: ( Expr ) ParenthesizedExpr ::= '(' Expr? ')' referenced by: ObjectLookup PrimaryExpr ContextItemExpr: $$ ContextItemExpr ::= '$$' referenced by: ObjectLookup PrimaryExpr OrderedExpr: ordered { Expr } OrderedExpr ::= 'ordered' '{' Expr '}' referenced by: PrimaryExpr UnorderedExpr: unordered { Expr } UnorderedExpr ::= 'unordered' '{' Expr '}' referenced by: PrimaryExpr FunctionCall: FunctionName ArgumentList FunctionCall ::= FunctionName ArgumentList referenced by: PrimaryExpr Argument: ExprSingle ArgumentPlaceholder Argument ::= ExprSingle | ArgumentPlaceholder referenced by: ArgumentList ArgumentPlaceholder: ? ArgumentPlaceholder ::= '?' referenced by: Argument Constructor: DirectConstructor ComputedConstructor Constructor ::= DirectConstructor | ComputedConstructor referenced by: PrimaryExpr DirectConstructor: DirElemConstructor DirCommentConstructor DirPIConstructor DirectConstructor ::= DirElemConstructor | DirCommentConstructor | DirPIConstructor referenced by: Constructor DirElemContent DirElemConstructor: < QName DirAttributeList /> > DirElemContent </ QName S > DirElemConstructor ::= '<' QName DirAttributeList ( '/>' | '>' DirElemContent* '</' QName S? '>' ) /* ws: explicit */ referenced by: DirectConstructor DirAttributeList: S QName S = S DirAttributeValue DirAttributeList ::= ( S ( QName S? '=' S? DirAttributeValue )? )* /* ws: explicit */ referenced by: DirElemConstructor DirAttributeValue: " EscapeQuot QuotAttrValueContent " ' EscapeApos AposAttrValueContent ' DirAttributeValue ::= '"' ( EscapeQuot | QuotAttrValueContent )* '"' | "'" ( EscapeApos | AposAttrValueContent )* "'" /* ws: explicit */ referenced by: DirAttributeList QuotAttrValueContent: QuotAttrContentChar CommonContent QuotAttrValueContent ::= QuotAttrContentChar | CommonContent referenced by: DirAttributeValue AposAttrValueContent: AposAttrContentChar CommonContent AposAttrValueContent ::= AposAttrContentChar | CommonContent referenced by: DirAttributeValue DirElemContent: DirectConstructor CDataSection CommonContent ElementContentChar DirElemContent ::= DirectConstructor | CDataSection | CommonContent | ElementContentChar referenced by: DirElemConstructor DirCommentConstructor: <!-- DirCommentContents --> DirCommentConstructor ::= '<!--' DirCommentContents '-->' /* ws: explicit */ referenced by: DirectConstructor DirPIConstructor: <? PITarget S DirPIContents ?> DirPIConstructor ::= '<?' PITarget ( S DirPIContents )? '?>' /* ws: explicit */ referenced by: DirectConstructor ComputedConstructor: CompDocConstructor CompElemConstructor CompAttrConstructor CompNamespaceConstructor CompTextConstructor CompCommentConstructor CompPIConstructor ComputedConstructor ::= CompDocConstructor | CompElemConstructor | CompAttrConstructor | CompNamespaceConstructor | CompTextConstructor | CompCommentConstructor | CompPIConstructor referenced by: Constructor CompElemConstructor: element EQName { Expr } { ContentExpr } CompElemConstructor ::= 'element' ( EQName | '{' Expr '}' ) '{' ContentExpr? '}' referenced by: ComputedConstructor CompNamespaceConstructor: namespace Prefix { PrefixExpr } { URIExpr } CompNamespaceConstructor ::= 'namespace' ( Prefix | '{' PrefixExpr '}' ) '{' URIExpr '}' referenced by: ComputedConstructor Prefix: NCName Prefix ::= NCName referenced by: CompNamespaceConstructor PrefixedName PrefixExpr: Expr PrefixExpr ::= Expr referenced by: CompNamespaceConstructor URIExpr: Expr URIExpr ::= Expr referenced by: CompNamespaceConstructor FunctionItemExpr: NamedFunctionRef InlineFunctionExpr FunctionItemExpr ::= NamedFunctionRef | InlineFunctionExpr referenced by: PrimaryExpr NamedFunctionRef: EQName # IntegerLiteral NamedFunctionRef ::= EQName '#' IntegerLiteral referenced by: FunctionItemExpr InlineFunctionExpr: Annotation function ( ParamList ) as SequenceType FunctionBody InlineFunctionExpr ::= Annotation* 'function' '(' ParamList? ')' ( 'as' SequenceType )? FunctionBody referenced by: FunctionItemExpr SingleType: SimpleTypeName ? SingleType ::= SimpleTypeName '?'? referenced by: CastExpr CastableExpr TypeDeclaration: as SequenceType TypeDeclaration ::= 'as' SequenceType referenced by: ForBinding GroupingSpec LetBinding Param QuantifiedExpr SlidingWindowClause TumblingWindowClause VarDecl VarDeclStatement SequenceType: empty-sequence ( ) ItemType OccurrenceIndicator SequenceType ::= 'empty-sequence'? '(' ')' | ItemType ( OccurrenceIndicator | ) referenced by: CaseStatement FunctionDecl InlineFunctionExpr InstanceofExpr SequenceTypeUnion TreatExpr TypeDeclaration TypedFunctionTest OccurrenceIndicator: ? * + OccurrenceIndicator ::= '?' | '*'^OccurrenceIndicator | '+' referenced by: CollectionTypeDecl IndexKeyTypeDecl SequenceType ItemType: KindTest item ( ) FunctionTest AtomicOrUnionType ParenthesizedItemType JSONTest StructuredItemTest ItemType ::= KindTest | 'item' '(' ')' | FunctionTest | AtomicOrUnionType | ParenthesizedItemType | JSONTest | StructuredItemTest referenced by: ContextItemDecl ParenthesizedItemType SequenceType JSONTest: JSONItemTest JSONObjectTest JSONArrayTest JSONTest ::= JSONItemTest | JSONObjectTest | JSONArrayTest referenced by: ItemType StructuredItemTest: structured-item ( ) StructuredItemTest ::= 'structured-item' ( '(' ')' )? referenced by: ItemType JSONItemTest: json-item ( ) JSONItemTest ::= 'json-item' ( '(' ')' )? referenced by: JSONTest JSONObjectTest: object ( ) JSONObjectTest ::= 'object' ( '(' ')' )? referenced by: JSONTest JSONArrayTest: array ( ) JSONArrayTest ::= 'array' ( '(' ')' )? referenced by: JSONTest AtomicOrUnionType: EQName AtomicOrUnionType ::= EQName referenced by: ItemType KindTest: DocumentTest ElementTest AttributeTest SchemaElementTest SchemaAttributeTest PITest CommentTest TextTest NamespaceNodeTest AnyKindTest KindTest ::= DocumentTest | ElementTest | AttributeTest | SchemaElementTest | SchemaAttributeTest | PITest | CommentTest | TextTest | NamespaceNodeTest | AnyKindTest referenced by: CollectionTypeDecl ItemType NodeTest AnyKindTest: node ( ) AnyKindTest ::= 'node' '(' ')' referenced by: KindTest DocumentTest: document-node ( ElementTest SchemaElementTest ) DocumentTest ::= 'document-node' '(' ( ElementTest | SchemaElementTest )? ')' referenced by: KindTest TextTest: text ( ) TextTest ::= 'text' '(' ')' referenced by: KindTest CommentTest: comment ( ) CommentTest ::= 'comment' '(' ')' referenced by: KindTest NamespaceNodeTest: namespace-node ( ) NamespaceNodeTest ::= 'namespace-node' '(' ')' referenced by: KindTest PITest: processing-instruction ( NCName StringLiteral ) PITest ::= 'processing-instruction' '(' ( NCName | StringLiteral )? ')' referenced by: KindTest AttributeTest: attribute ( AttribNameOrWildcard , TypeName ) AttributeTest ::= 'attribute' '(' ( AttribNameOrWildcard ( ',' TypeName )? )? ')' referenced by: KindTest AttribNameOrWildcard: AttributeName * AttribNameOrWildcard ::= AttributeName | '*' referenced by: AttributeTest SchemaAttributeTest: schema-attribute ( AttributeDeclaration ) SchemaAttributeTest ::= 'schema-attribute' '(' AttributeDeclaration ')' referenced by: KindTest AttributeDeclaration: AttributeName AttributeDeclaration ::= AttributeName referenced by: SchemaAttributeTest ElementTest: element ( ElementNameOrWildcard , TypeName ? ) ElementTest ::= 'element' '(' ( ElementNameOrWildcard ( ',' TypeName '?'? )? )? ')' referenced by: DocumentTest KindTest ElementNameOrWildcard: ElementName * ElementNameOrWildcard ::= ElementName | '*' referenced by: ElementTest SchemaElementTest: schema-element ( ElementDeclaration ) SchemaElementTest ::= 'schema-element' '(' ElementDeclaration ')' referenced by: DocumentTest KindTest ElementDeclaration: ElementName ElementDeclaration ::= ElementName referenced by: SchemaElementTest AttributeName: EQName AttributeName ::= EQName referenced by: AttribNameOrWildcard AttributeDeclaration ElementName: EQName ElementName ::= EQName referenced by: ElementDeclaration ElementNameOrWildcard SimpleTypeName: TypeName SimpleTypeName ::= TypeName referenced by: SingleType TypeName: EQName TypeName ::= EQName referenced by: AttributeTest ElementTest SimpleTypeName ValidateExpr FunctionTest: Annotation AnyFunctionTest TypedFunctionTest FunctionTest ::= Annotation* ( AnyFunctionTest | TypedFunctionTest ) referenced by: ItemType AnyFunctionTest: function ( * ) AnyFunctionTest ::= 'function' '(' '*' ')' referenced by: FunctionTest TypedFunctionTest: function ( SequenceType , ) as SequenceType TypedFunctionTest ::= 'function' '(' ( SequenceType ( ',' SequenceType )* )? ')' 'as' SequenceType referenced by: FunctionTest ParenthesizedItemType: ( ItemType ) ParenthesizedItemType ::= '(' ItemType ')' referenced by: ItemType RevalidationDecl: declare revalidation strict lax skip RevalidationDecl ::= 'declare' 'revalidation' ( 'strict' | 'lax' | 'skip' ) referenced by: Setter InsertExprTargetChoice: as first last into after before InsertExprTargetChoice ::= ( 'as' ( 'first' | 'last' ) )? 'into' | 'after' | 'before' referenced by: InsertExpr InsertExpr: insert node nodes SourceExpr InsertExprTargetChoice TargetExpr InsertExpr ::= 'insert' ( 'node' | 'nodes' ) SourceExpr InsertExprTargetChoice TargetExpr referenced by: ExprSimple DeleteExpr: delete node nodes TargetExpr DeleteExpr ::= 'delete' ( 'node' | 'nodes' ) TargetExpr referenced by: ExprSimple ReplaceExpr: replace value of node TargetExpr with ExprSingle ReplaceExpr ::= 'replace' ( 'value' 'of' )? 'node' TargetExpr 'with' ExprSingle referenced by: ExprSimple RenameExpr: rename node TargetExpr as NewNameExpr RenameExpr ::= 'rename' 'node' TargetExpr 'as' NewNameExpr referenced by: ExprSimple SourceExpr: ExprSingle SourceExpr ::= ExprSingle referenced by: InsertExpr TargetExpr: ExprSingle TargetExpr ::= ExprSingle referenced by: DeleteExpr InsertExpr RenameExpr ReplaceExpr NewNameExpr: ExprSingle NewNameExpr ::= ExprSingle referenced by: RenameExpr TransformExpr: copy $ VarName := ExprSingle , modify ExprSingle return select ExprSingle TransformExpr ::= 'copy' '$' VarName ':=' ExprSingle ( ',' '$' VarName ':=' ExprSingle )* 'modify' ExprSingle ( 'return' | 'select' ) ExprSingle referenced by: ExprSimple FTSelection: FTOr FTPosFilter FTSelection ::= FTOr FTPosFilter* referenced by: FTContainsExpr FTExtensionSelection FTPrimary FTWeight: weight { Expr } FTWeight ::= 'weight' '{' Expr '}' referenced by: FTPrimaryWithOptions FTOr: FTAnd ftor FTOr ::= FTAnd ( 'ftor' FTAnd )* referenced by: FTSelection FTAnd: FTMildNot ftand FTAnd ::= FTMildNot ( 'ftand' FTMildNot )* referenced by: FTOr FTMildNot: FTUnaryNot in not FTMildNot ::= FTUnaryNot ( 'not' 'in' FTUnaryNot )* referenced by: FTAnd FTUnaryNot: ftnot FTPrimaryWithOptions FTUnaryNot ::= 'ftnot'? FTPrimaryWithOptions referenced by: FTMildNot FTPrimaryWithOptions: FTPrimary FTMatchOptions FTWeight FTPrimaryWithOptions ::= FTPrimary FTMatchOptions? FTWeight? referenced by: FTUnaryNot FTPrimary: FTWords FTTimes ( FTSelection ) FTExtensionSelection FTPrimary ::= FTWords FTTimes? | '(' FTSelection ')' | FTExtensionSelection referenced by: FTPrimaryWithOptions FTWords: FTWordsValue FTAnyallOption FTWords ::= FTWordsValue FTAnyallOption? referenced by: FTPrimary FTWordsValue: StringLiteral { Expr } FTWordsValue ::= StringLiteral | '{' Expr '}' referenced by: FTWords FTExtensionSelection: Pragma { FTSelection } FTExtensionSelection ::= Pragma+ '{' FTSelection? '}' referenced by: FTPrimary FTAnyallOption: any word all words phrase FTAnyallOption ::= 'any' 'word'? | 'all' 'words'? | 'phrase' referenced by: FTWords FTTimes: occurs FTRange times FTTimes ::= 'occurs' FTRange 'times' referenced by: FTPrimary FTRange: exactly AdditiveExpr at least AdditiveExpr most AdditiveExpr from AdditiveExpr to AdditiveExpr FTRange ::= 'exactly' AdditiveExpr | 'at' ( 'least' AdditiveExpr | 'most' AdditiveExpr ) | 'from' AdditiveExpr 'to' AdditiveExpr referenced by: FTDistance FTTimes FTPosFilter: FTOrder FTWindow FTDistance FTScope FTContent FTPosFilter ::= FTOrder | FTWindow | FTDistance | FTScope | FTContent referenced by: FTSelection FTOrder: ordered FTOrder ::= 'ordered' referenced by: FTPosFilter FTWindow: window AdditiveExpr FTUnit FTWindow ::= 'window' AdditiveExpr FTUnit referenced by: FTPosFilter FTDistance: distance FTRange FTUnit FTDistance ::= 'distance' FTRange FTUnit referenced by: FTPosFilter FTUnit: words sentences paragraphs FTUnit ::= 'words' | 'sentences' | 'paragraphs' referenced by: FTDistance FTWindow FTScope: same different FTBigUnit FTScope ::= ( 'same' | 'different' ) FTBigUnit referenced by: FTPosFilter FTBigUnit: sentence paragraph FTBigUnit ::= 'sentence' | 'paragraph' referenced by: FTScope FTContent: at start end entire content FTContent ::= 'at' ( 'start' | 'end' ) | 'entire' 'content' referenced by: FTPosFilter FTMatchOptions: using FTMatchOption FTMatchOptions ::= ( 'using' FTMatchOption )+ referenced by: FTOptionDecl FTPrimaryWithOptions FTMatchOption: FTLanguageOption FTWildCardOption FTThesaurusOption FTStemOption FTCaseOption FTDiacriticsOption FTStopWordOption FTExtensionOption FTMatchOption ::= FTLanguageOption | FTWildCardOption | FTThesaurusOption | FTStemOption | FTCaseOption | FTDiacriticsOption | FTStopWordOption | FTExtensionOption referenced by: FTMatchOptions FTCaseOption: case insensitive sensitive lowercase uppercase FTCaseOption ::= 'case' ( 'insensitive' | 'sensitive' ) | 'lowercase' | 'uppercase' referenced by: FTMatchOption FTDiacriticsOption: diacritics insensitive sensitive FTDiacriticsOption ::= 'diacritics' ( 'insensitive' | 'sensitive' ) referenced by: FTMatchOption FTStemOption: stemming no stemming FTStemOption ::= 'stemming' | 'no' 'stemming' referenced by: FTMatchOption FTThesaurusOption: thesaurus FTThesaurusID default ( FTThesaurusID default , FTThesaurusID ) no thesaurus FTThesaurusOption ::= 'thesaurus' ( FTThesaurusID | 'default' | '(' ( FTThesaurusID | 'default' ) ( ',' FTThesaurusID )* ')' ) | 'no' 'thesaurus' referenced by: FTMatchOption FTThesaurusID: at URILiteral relationship StringLiteral FTLiteralRange levels FTThesaurusID ::= 'at' URILiteral ( 'relationship' StringLiteral )? ( FTLiteralRange 'levels' )? referenced by: FTThesaurusOption FTLiteralRange: exactly IntegerLiteral at least IntegerLiteral most IntegerLiteral from IntegerLiteral to IntegerLiteral FTLiteralRange ::= 'exactly' IntegerLiteral | 'at' ( 'least' IntegerLiteral | 'most' IntegerLiteral ) | 'from' IntegerLiteral 'to' IntegerLiteral referenced by: FTThesaurusID FTStopWordOption: stop words FTStopWords FTStopWordsInclExcl default FTStopWordsInclExcl no stop words FTStopWordOption ::= 'stop' 'words' ( FTStopWords FTStopWordsInclExcl* | 'default' FTStopWordsInclExcl* ) | 'no' 'stop' 'words' referenced by: FTMatchOption FTStopWords: at URILiteral ( StringLiteral , ) FTStopWords ::= 'at' URILiteral | '(' StringLiteral ( ',' StringLiteral )* ')' referenced by: FTStopWordOption FTStopWordsInclExcl FTStopWordsInclExcl: union except FTStopWords FTStopWordsInclExcl ::= ( 'union' | 'except' ) FTStopWords referenced by: FTStopWordOption FTLanguageOption: language StringLiteral FTLanguageOption ::= 'language' StringLiteral referenced by: FTMatchOption FTWildCardOption: wildcards no wildcards FTWildCardOption ::= 'wildcards' | 'no' 'wildcards' referenced by: FTMatchOption FTExtensionOption: option EQName StringLiteral FTExtensionOption ::= 'option' EQName StringLiteral referenced by: FTMatchOption FTIgnoreOption: without content UnionExpr FTIgnoreOption ::= 'without' 'content' UnionExpr referenced by: FTContainsExpr CollectionDecl: collection EQName CollectionTypeDecl CollectionDecl ::= 'collection' EQName CollectionTypeDecl? referenced by: AnnotatedDecl CollectionTypeDecl: as KindTest OccurrenceIndicator CollectionTypeDecl ::= 'as' KindTest OccurrenceIndicator? referenced by: CollectionDecl IndexName: EQName IndexName ::= EQName referenced by: IndexDecl IndexDomainExpr: PathExpr IndexDomainExpr ::= PathExpr referenced by: IndexDecl IndexKeySpec: IndexKeyExpr IndexKeyTypeDecl IndexKeyCollation IndexKeySpec ::= IndexKeyExpr IndexKeyTypeDecl? IndexKeyCollation? referenced by: IndexDecl IndexKeyExpr: PathExpr IndexKeyExpr ::= PathExpr referenced by: IndexKeySpec IndexKeyTypeDecl: as AtomicType OccurrenceIndicator IndexKeyTypeDecl ::= 'as' AtomicType OccurrenceIndicator? referenced by: IndexKeySpec AtomicType: EQName AtomicType ::= EQName referenced by: IndexKeyTypeDecl IndexKeyCollation: collation URILiteral IndexKeyCollation ::= 'collation' URILiteral referenced by: IndexKeySpec IndexDecl: index IndexName on nodes IndexDomainExpr by IndexKeySpec , IndexDecl ::= 'index' IndexName 'on' 'nodes' IndexDomainExpr 'by' IndexKeySpec ( ',' IndexKeySpec )* referenced by: AnnotatedDecl ICDecl: integrity constraint EQName ICCollection ICForeignKey ICDecl ::= 'integrity' 'constraint' EQName ( ICCollection | ICForeignKey ) referenced by: AnnotatedDecl ICCollection: on collection EQName ICCollSequence ICCollSequenceUnique ICCollNode ICCollection ::= 'on' 'collection' EQName ( ICCollSequence | ICCollSequenceUnique | ICCollNode ) referenced by: ICDecl ICCollSequence: VarRef check ExprSingle ICCollSequence ::= VarRef 'check' ExprSingle referenced by: ICCollection ICCollSequenceUnique: node VarRef check unique key PathExpr ICCollSequenceUnique ::= 'node' VarRef 'check' 'unique' 'key' PathExpr referenced by: ICCollection ICCollNode: foreach node VarRef check ExprSingle ICCollNode ::= 'foreach' 'node' VarRef 'check' ExprSingle referenced by: ICCollection ICForeignKey: foreign key ICForeignKeySource ICForeignKeyTarget ICForeignKey ::= 'foreign' 'key' ICForeignKeySource ICForeignKeyTarget referenced by: ICDecl ICForeignKeySource: from ICForeignKeyValues ICForeignKeySource ::= 'from' ICForeignKeyValues referenced by: ICForeignKey ICForeignKeyTarget: to ICForeignKeyValues ICForeignKeyTarget ::= 'to' ICForeignKeyValues referenced by: ICForeignKey ICForeignKeyValues: collection EQName node VarRef key PathExpr ICForeignKeyValues ::= 'collection' EQName 'node' VarRef 'key' PathExpr referenced by: ICForeignKeySource ICForeignKeyTarget Comment: (: CommentContents Comment :) Comment ::= '(:' ( CommentContents | Comment )* ':)' /* ws: explicit */ referenced by: Comment Whitespace Whitespace: S Comment Whitespace ::= S^WS | Comment /* ws: definition */ no referencesEQName: FunctionName attribute comment document-node element empty-sequence function if item namespace-node node processing-instruction schema-attribute schema-element switch text typeswitch array json-item structured-item EQName ::= FunctionName | 'attribute' | 'comment' | 'document-node' | 'element' | 'empty-sequence' | 'function' | 'if' | 'item' | 'namespace-node' | 'node' | 'processing-instruction' | 'schema-attribute' | 'schema-element' | 'switch' | 'text' | 'typeswitch' | 'array' | 'json-item' | 'structured-item' referenced by: Annotation AtomicOrUnionType AtomicType AttributeName CollectionDecl CompAttrConstructor CompElemConstructor CurrentItem DecimalFormatDecl ElementName FTExtensionOption FunctionDecl FunctionName ICCollection ICDecl ICForeignKeyValues IndexName NameTest NamedFunctionRef NextItem OptionDecl Param Pragma PreviousItem TypeName VarName FunctionName: EQName after ancestor ancestor-or-self and as ascending before case cast castable child collation copy count declare default delete descendant descendant-or-self descending div document else empty end eq every except first following following-sibling for ge group gt idiv import insert instance intersect into is last le let lt mod modify module namespace ne only or order ordered parent preceding preceding-sibling rename replace return satisfies self some stable start to treat try union unordered validate where with xquery allowing at base-uri boundary-space break catch construction context continue copy-namespaces decimal-format encoding exit external ft-option in index integrity lax nodes option ordering revalidation schema score sliding strict tumbling type updating value variable version while constraint loop returning append false from null json object select true FunctionName ::= EQName^Token | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | 'as' | 'ascending' | 'before' | 'case' | 'cast' | 'castable' | 'child' | 'collation' | 'copy' | 'count' | 'declare' | 'default' | 'delete' | 'descendant' | 'descendant-or-self' | 'descending' | 'div' | 'document' | 'else' | 'empty' | 'end' | 'eq' | 'every' | 'except' | 'first' | 'following' | 'following-sibling' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | 'import' | 'insert' | 'instance' | 'intersect' | 'into' | 'is' | 'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | 'module' | 'namespace' | 'ne' | 'only' | 'or' | 'order' | 'ordered' | 'parent' | 'preceding' | 'preceding-sibling' | 'rename' | 'replace' | 'return' | 'satisfies' | 'self' | 'some' | 'stable' | 'start' | 'to' | 'treat' | 'try' | 'union' | 'unordered' | 'validate' | 'where' | 'with' | 'xquery' | 'allowing' | 'at' | 'base-uri' | 'boundary-space' | 'break' | 'catch' | 'construction' | 'context' | 'continue' | 'copy-namespaces' | 'decimal-format' | 'encoding' | 'exit' | 'external' | 'ft-option' | 'in' | 'index' | 'integrity' | 'lax' | 'nodes' | 'option' | 'ordering' | 'revalidation' | 'schema' | 'score' | 'sliding' | 'strict' | 'tumbling' | 'type' | 'updating' | 'value' | 'variable' | 'version' | 'while' | 'constraint' | 'loop' | 'returning' | 'append' | 'false' | 'from' | 'null' | 'json' | 'object' | 'select' | 'true' referenced by: EQName FunctionCall NCName: NCName after and as ascending before case cast castable collation count default descending div else empty end eq except for ge group gt idiv instance intersect into is le let lt mod modify ne only or order return satisfies stable start to treat union where with ancestor ancestor-or-self attribute child comment copy declare delete descendant descendant-or-self document document-node element empty-sequence every first following following-sibling function if import insert item last module namespace namespace-node node ordered parent preceding preceding-sibling processing-instruction rename replace schema-attribute schema-element self some switch text try typeswitch unordered validate variable xquery allowing at base-uri boundary-space break catch construction context continue copy-namespaces decimal-format encoding exit external ft-option in index integrity lax nodes option ordering revalidation schema score sliding strict tumbling type updating value version while constraint loop returning append from json object select NCName ::= NCName^Token | 'after' | 'and' | 'as' | 'ascending' | 'before' | 'case' | 'cast' | 'castable' | 'collation' | 'count' | 'default' | 'descending' | 'div' | 'else' | 'empty' | 'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | 'instance' | 'intersect' | 'into' | 'is' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | 'or' | 'order' | 'return' | 'satisfies' | 'stable' | 'start' | 'to' | 'treat' | 'union' | 'where' | 'with' | 'ancestor' | 'ancestor-or-self' | 'attribute' | 'child' | 'comment' | 'copy' | 'declare' | 'delete' | 'descendant' | 'descendant-or-self' | 'document' | 'document-node' | 'element' | 'empty-sequence' | 'every' | 'first' | 'following' | 'following-sibling' | 'function' | 'if' | 'import' | 'insert' | 'item' | 'last' | 'module' | 'namespace' | 'namespace-node' | 'node' | 'ordered' | 'parent' | 'preceding' | 'preceding-sibling' | 'processing-instruction' | 'rename' | 'replace' | 'schema-attribute' | 'schema-element' | 'self' | 'some' | 'switch' | 'text' | 'try' | 'typeswitch' | 'unordered' | 'validate' | 'variable' | 'xquery' | 'allowing' | 'at' | 'base-uri' | 'boundary-space' | 'break' | 'catch' | 'construction' | 'context' | 'continue' | 'copy-namespaces' | 'decimal-format' | 'encoding' | 'exit' | 'external' | 'ft-option' | 'in' | 'index' | 'integrity' | 'lax' | 'nodes' | 'option' | 'ordering' | 'revalidation' | 'schema' | 'score' | 'sliding' | 'strict' | 'tumbling' | 'type' | 'updating' | 'value' | 'version' | 'while' | 'constraint' | 'loop' | 'returning' | 'append' | 'from' | 'json' | 'object' | 'select' referenced by: CompPIConstructor LocalPart ModuleDecl ModuleImport NCName NamespaceDecl ObjectLookup PITarget PITest PairConstructor Prefix Prefix SchemaPrefix URIQualifiedName Wildcard MainModule: Prolog Program MainModule ::= Prolog Program referenced by: Module Program: StatementsAndOptionalExpr Program ::= StatementsAndOptionalExpr referenced by: MainModule Statements: Statement Statements ::= Statement* referenced by: BlockStatement StatementsAndExpr StatementsAndOptionalExpr StatementsAndExpr: Statements Expr StatementsAndExpr ::= Statements Expr referenced by: ContentExpr StatementsAndOptionalExpr: Statements Expr StatementsAndOptionalExpr ::= Statements Expr? referenced by: BlockExpr FunctionDecl Program Statement: ApplyStatement AssignStatement BlockStatement BreakStatement ContinueStatement ExitStatement FLWORStatement IfStatement SwitchStatement TryCatchStatement TypeswitchStatement VarDeclStatement WhileStatement VoidStatement Statement ::= ApplyStatement | AssignStatement | BlockStatement | BreakStatement | ContinueStatement | ExitStatement | FLWORStatement | IfStatement | SwitchStatement | TryCatchStatement | TypeswitchStatement | VarDeclStatement | WhileStatement | VoidStatement referenced by: BlockStatement CaseStatement IfStatement ReturnStatement Statements SwitchCaseStatement SwitchStatement TypeswitchStatement WhileStatement ApplyStatement: ExprSimple ; ApplyStatement ::= ExprSimple ';' referenced by: Statement AssignStatement: $ VarName := ExprSingle ; AssignStatement ::= '$' VarName ':=' ExprSingle ';' referenced by: Statement BlockStatement: { Statement Statements } BlockStatement ::= '{' Statement Statements '}' referenced by: Statement TryCatchStatement BreakStatement: break loop ; BreakStatement ::= 'break' 'loop' ';' referenced by: Statement ContinueStatement: continue loop ; ContinueStatement ::= 'continue' 'loop' ';' referenced by: Statement ExitStatement: exit returning ExprSingle ; ExitStatement ::= 'exit' 'returning' ExprSingle ';' referenced by: Statement FLWORStatement: InitialClause IntermediateClause ReturnStatement FLWORStatement ::= InitialClause IntermediateClause* ReturnStatement referenced by: Statement ReturnStatement: return select Statement ReturnStatement ::= ( 'return' | 'select' ) Statement referenced by: FLWORStatement IfStatement: if ( Expr ) then Statement else Statement IfStatement ::= 'if' '(' Expr ')' 'then' Statement 'else' Statement referenced by: Statement SwitchStatement: switch ( Expr ) SwitchCaseStatement default return select Statement SwitchStatement ::= 'switch' '(' Expr ')' SwitchCaseStatement+ 'default' ( 'return' | 'select' ) Statement referenced by: Statement SwitchCaseStatement: case SwitchCaseOperand return select Statement SwitchCaseStatement ::= ( 'case' SwitchCaseOperand )+ ( 'return' | 'select' ) Statement referenced by: SwitchStatement TryCatchStatement: try BlockStatement catch CatchErrorList BlockStatement TryCatchStatement ::= 'try' BlockStatement ( 'catch' CatchErrorList BlockStatement )+ referenced by: Statement TypeswitchStatement: typeswitch ( Expr ) CaseStatement default $ VarName return select Statement TypeswitchStatement ::= 'typeswitch' '(' Expr ')' CaseStatement+ 'default' ( '$' VarName )? ( 'return' | 'select' ) Statement referenced by: Statement CaseStatement: case $ VarName as SequenceType return select Statement CaseStatement ::= 'case' ( '$' VarName 'as' )? SequenceType ( 'return' | 'select' ) Statement referenced by: TypeswitchStatement VarDeclStatement: Annotation variable $ VarName TypeDeclaration := ExprSingle , ; VarDeclStatement ::= Annotation* 'variable' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? ( ',' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? )* ';' referenced by: Statement WhileStatement: while ( Expr ) Statement WhileStatement ::= 'while' '(' Expr ')' Statement referenced by: Statement VoidStatement: ; VoidStatement ::= ';' referenced by: Statement ExprSingle: ExprSimple FLWORExpr IfExpr SwitchExpr TryCatchExpr TypeswitchExpr ExprSingle ::= ExprSimple | FLWORExpr | IfExpr | SwitchExpr | TryCatchExpr | TypeswitchExpr referenced by: Argument AssignStatement CaseClause ExitStatement Expr ForBinding GroupingSpec GroupingVariable ICCollNode ICCollSequence IfExpr JSONAppendExpr JSONInsertExpr JSONRenameExpr JSONReplaceExpr LetBinding NewNameExpr OrderSpec PairConstructor QuantifiedExpr ReplaceExpr ReturnClause SlidingWindowClause SourceExpr SwitchCaseClause SwitchCaseOperand SwitchExpr TargetExpr TransformExpr TumblingWindowClause TypeswitchExpr VarDeclStatement VarDefaultValue VarValue WhereClause WindowEndCondition WindowStartCondition ExprSimple: QuantifiedExpr OrExpr InsertExpr DeleteExpr RenameExpr ReplaceExpr TransformExpr JSONDeleteExpr JSONInsertExpr JSONRenameExpr JSONReplaceExpr JSONAppendExpr ExprSimple ::= QuantifiedExpr | OrExpr | InsertExpr | DeleteExpr | RenameExpr | ReplaceExpr | TransformExpr | JSONDeleteExpr | JSONInsertExpr | JSONRenameExpr | JSONReplaceExpr | JSONAppendExpr referenced by: ApplyStatement ExprSingle JSONDeleteExpr: delete json PostfixExpr JSONDeleteExpr ::= 'delete' 'json'? PostfixExpr referenced by: ExprSimple JSONInsertExpr: insert json ExprSingle into ExprSingle at position ExprSingle insert json PairConstructorList into ExprSingle JSONInsertExpr ::= 'insert' 'json'? ExprSingle 'into' ExprSingle ( 'at' 'position' ExprSingle )? | 'insert' 'json'? PairConstructorList 'into' ExprSingle referenced by: ExprSimple JSONRenameExpr: rename json PostfixExpr as ExprSingle JSONRenameExpr ::= 'rename' 'json'? PostfixExpr 'as' ExprSingle referenced by: ExprSimple JSONReplaceExpr: replace json value of PostfixExpr with ExprSingle JSONReplaceExpr ::= 'replace' 'json'? 'value' 'of' PostfixExpr 'with' ExprSingle referenced by: ExprSimple JSONAppendExpr: append json ExprSingle into ExprSingle JSONAppendExpr ::= 'append' 'json'? ExprSingle 'into' ExprSingle referenced by: ExprSimple CommonContent: PredefinedEntityRef CharRef {{ }} BlockExpr CommonContent ::= PredefinedEntityRef | CharRef | '{{' | '}}' | BlockExpr referenced by: AposAttrValueContent DirElemContent QuotAttrValueContent ContentExpr: StatementsAndExpr ContentExpr ::= StatementsAndExpr referenced by: CompElemConstructor CompDocConstructor: document BlockExpr CompDocConstructor ::= 'document' BlockExpr referenced by: ComputedConstructor CompAttrConstructor: attribute EQName { Expr } { } BlockExpr CompAttrConstructor ::= 'attribute' ( EQName | '{' Expr '}' ) ( '{' '}' | BlockExpr ) referenced by: ComputedConstructor CompPIConstructor: processing-instruction NCName { Expr } { } BlockExpr CompPIConstructor ::= 'processing-instruction' ( NCName | '{' Expr '}' ) ( '{' '}' | BlockExpr ) referenced by: ComputedConstructor CompCommentConstructor: comment BlockExpr CompCommentConstructor ::= 'comment' BlockExpr referenced by: ComputedConstructor CompTextConstructor: text BlockExpr CompTextConstructor ::= 'text' BlockExpr referenced by: ComputedConstructor PrimaryExpr: Literal VarRef ParenthesizedExpr ContextItemExpr FunctionCall OrderedExpr UnorderedExpr Constructor FunctionItemExpr BlockExpr ObjectConstructor ArrayConstructor JSONSimpleObjectUnion PrimaryExpr ::= Literal | VarRef | ParenthesizedExpr | ContextItemExpr | FunctionCall | OrderedExpr | UnorderedExpr | Constructor | FunctionItemExpr | BlockExpr | ObjectConstructor | ArrayConstructor | JSONSimpleObjectUnion referenced by: PostfixExpr JSONSimpleObjectUnion: {| Expr |} JSONSimpleObjectUnion ::= '{|' Expr? '|}' referenced by: PrimaryExpr ObjectConstructor: { PairConstructorList } ObjectConstructor ::= '{' PairConstructorList? '}' referenced by: PrimaryExpr PairConstructorList: PairConstructor , PairConstructorList ::= PairConstructor ( ',' PairConstructor )* referenced by: JSONInsertExpr ObjectConstructor PairConstructor: ExprSingle NCName : ?: ExprSingle PairConstructor ::= ( ExprSingle | NCName ) ( ':' | '?:' ) ExprSingle referenced by: PairConstructorList ArrayConstructor: [ Expr ] ArrayConstructor ::= '[' Expr? ']' referenced by: PrimaryExpr BlockExpr: { StatementsAndOptionalExpr } BlockExpr ::= '{' StatementsAndOptionalExpr '}' referenced by: CommonContent CompAttrConstructor CompCommentConstructor CompDocConstructor CompPIConstructor CompTextConstructor PrimaryExpr FunctionDecl: function EQName ( ParamList ) as SequenceType { StatementsAndOptionalExpr } external FunctionDecl ::= 'function' EQName '(' ParamList? ')' ( 'as' SequenceType )? ( '{' StatementsAndOptionalExpr '}' | 'external' ) referenced by: AnnotatedDecl PragmaContents: ( Char * - ( Char * '#)' Char * ) ) &'#' PragmaContents ::= ( Char* - ( Char* '#)' Char* ) ) &'#' referenced by: Pragma DirCommentContents: Char - '-' - Char - '-' DirCommentContents ::= ( Char - '-' | '-' ( Char - '-' ) )* referenced by: DirCommentConstructor DirPIContents: ( Char * - ( Char * '?>' Char * ) ) &'?' DirPIContents ::= ( Char* - ( Char* '?>' Char* ) ) &'?' referenced by: DirPIConstructor CDataSection: <![CDATA[ CDataSectionContents ]]> CDataSection ::= '<![CDATA[' CDataSectionContents ']]>' referenced by: DirElemContent CDataSectionContents: Char * - ( Char * ']]>' Char * ) CDataSectionContents ::= Char* - ( Char* ']]>' Char* ) referenced by: CDataSection Wildcard: * NCName : * * : NCName BracedURILiteral * Wildcard ::= '*' | NCName ':' '*' | '*' ':' NCName | BracedURILiteral '*' referenced by: NameTest EQName: QName URIQualifiedName EQName ::= QName | URIQualifiedName referenced by: Annotation AtomicOrUnionType AtomicType AttributeName CollectionDecl CompAttrConstructor CompElemConstructor CurrentItem DecimalFormatDecl ElementName FTExtensionOption FunctionDecl FunctionName ICCollection ICDecl ICForeignKeyValues IndexName NameTest NamedFunctionRef NextItem OptionDecl Param Pragma PreviousItem TypeName VarName URIQualifiedName: BracedURILiteral NCName URIQualifiedName ::= BracedURILiteral NCName referenced by: EQName BracedURILiteral: Q { PredefinedEntityRef CharRef [^&{}] } BracedURILiteral ::= 'Q' '{' ( PredefinedEntityRef | CharRef | [^&{}] )* '}' referenced by: URIQualifiedName Wildcard URILiteral: StringLiteral URILiteral ::= StringLiteral referenced by: BaseURIDecl DefaultCollationDecl DefaultNamespaceDecl FTStopWords FTThesaurusID GroupingSpec IndexKeyCollation ModuleDecl ModuleImport NamespaceDecl OrderModifier SchemaImport IntegerLiteral: Digits IntegerLiteral ::= Digits referenced by: FTLiteralRange NamedFunctionRef NumericLiteral DecimalLiteral: . Digits Digits . [0-9] DecimalLiteral ::= '.' Digits | Digits '.' [0-9]* /* ws: explicit */ referenced by: NumericLiteral DoubleLiteral: . Digits Digits . [0-9] E e + [#x002D] Digits DoubleLiteral ::= ( '.' Digits | Digits ( '.' [0-9]* )? ) [Ee] [+#x002D]? Digits /* ws: explicit */ referenced by: NumericLiteral StringLiteral: " JSONPredefinedCharRef JSONCharRef [^"\] " ' PredefinedEntityRef CharRef EscapeApos [^&'] ' StringLiteral ::= '"' ( JSONPredefinedCharRef | JSONCharRef | [^"\] )* '"' | "'" ( PredefinedEntityRef | CharRef | EscapeApos | [^&'] )* "'" /* ws: explicit */ referenced by: DecimalFormatDecl FTExtensionOption FTLanguageOption FTStopWords FTThesaurusID FTWordsValue Literal ObjectLookup OptionDecl PITest URILiteral VersionDecl JSONPredefinedCharRef: \ \ / " ' b f n r t JSONPredefinedCharRef ::= '\' ( '\' | '/' | '"' | "'" | 'b' | 'f' | 'n' | 'r' | 't' ) /* ws: explicit */ referenced by: StringLiteral JSONCharRef: \ 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] JSONCharRef ::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] referenced by: StringLiteral PredefinedEntityRef: & lt gt amp quot apos ; PredefinedEntityRef ::= '&' ( 'lt' | 'gt' | 'amp' | 'quot' | 'apos' ) ';' /* ws: explicit */ referenced by: BracedURILiteral CommonContent StringLiteral EscapeQuot: "" EscapeQuot ::= '""' referenced by: DirAttributeValue EscapeApos: '' EscapeApos ::= "''" referenced by: DirAttributeValue StringLiteral ElementContentChar: Char - [&<{}] ElementContentChar ::= Char - [&<{}] referenced by: DirElemContent QuotAttrContentChar: Char - ["&<{}] QuotAttrContentChar ::= Char - ["&<{}] referenced by: QuotAttrValueContent AposAttrContentChar: Char - [&'<{}] AposAttrContentChar ::= Char - [&'<{}] referenced by: AposAttrValueContent PITarget: NCName - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) ) PITarget ::= NCName - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) ) referenced by: DirPIConstructor Name: NameStartChar NameChar Name ::= NameStartChar NameChar* referenced by: NCName NameStartChar: : [A-Z] _ [a-z] [#x00C0-#x00D6] [#x00D8-#x00F6] [#x00F8-#x02FF] [#x0370-#x037D] [#x037F-#x1FFF] [#x200C-#x200D] [#x2070-#x218F] [#x2C00-#x2FEF] [#x3001-#xD7FF] [#xF900-#xFDCF] [#xFDF0-#xFFFD] [#x10000-#xEFFFF] NameStartChar ::= [:A-Z_a-z#x00C0-#x00D6#x00D8-#x00F6#x00F8-#x02FF#x0370-#x037D#x037F-#x1FFF#x200C-#x200D#x2070-#x218F#x2C00-#x2FEF#x3001-#xD7FF#xF900-#xFDCF#xFDF0-#xFFFD#x10000-#xEFFFF] referenced by: Name NameChar NameChar: NameStartChar - . [0-9] [#x00B7] [#x0300-#x036F] [#x203F-#x2040] NameChar ::= NameStartChar | [-.0-9#x00B7#x0300-#x036F#x203F-#x2040] referenced by: Name NonNCNameChar NCName: Name - ( Char * ( ':' | '.' ) Char * ) NCName ::= Name - ( Char* ( ':' | '.' ) Char* ) referenced by: CompPIConstructor LocalPart ModuleDecl ModuleImport NCName NamespaceDecl ObjectLookup PITarget PITest PairConstructor Prefix Prefix SchemaPrefix URIQualifiedName Wildcard Char: [#x0009] [#x000A] [#x000D] [#x0020-#xD7FF] [#xE000-#xFFFD] [#x10000-#x10FFFF] Char ::= [#x0009#x000A#x000D#x0020-#xD7FF#xE000-#xFFFD#x10000-#x10FFFF] referenced by: AposAttrContentChar CDataSectionContents CommentContents DirCommentContents DirPIContents ElementContentChar NCName NonNCNameChar PragmaContents QuotAttrContentChar QName: PrefixedName UnprefixedName QName ::= PrefixedName | UnprefixedName referenced by: DirAttributeList DirElemConstructor EQName PrefixedName: Prefix : LocalPart PrefixedName ::= Prefix ':' LocalPart referenced by: QName UnprefixedName: LocalPart UnprefixedName ::= LocalPart referenced by: QName Prefix: NCName Prefix ::= NCName referenced by: CompNamespaceConstructor PrefixedName LocalPart: NCName LocalPart ::= NCName referenced by: PrefixedName UnprefixedName S: [#x0009] [#x000A] [#x000D] [#x0020] S ::= [#x0009#x000A#x000D#x0020]+ referenced by: DirAttributeList DirElemConstructor DirPIConstructor Pragma Whitespace CharRef: &# [0-9] ; &#x [0-9] [A-F] [a-f] ; CharRef ::= '&#' [0-9]+ ';' | '&#x' [0-9A-Fa-f]+ ';' referenced by: BracedURILiteral CommonContent StringLiteral Digits: [0-9] Digits ::= [0-9]+ referenced by: DecimalLiteral DoubleLiteral IntegerLiteral CommentContents: ( ( Char + - ( Char * ( '(:' | ':)' ) Char * ) ) - ( Char * '(' ) ) &':' ( Char + - ( Char * ( '(:' | ':)' ) Char * ) ) &'(' CommentContents ::= ( ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) - ( Char* '(' ) ) &':' | ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &'(' referenced by: Comment EOF: $ EOF ::= $ referenced by: XQuery NonNCNameChar: $ : . Char - NameChar NonNCNameChar ::= $ | ':' | '.' | Char - NameChar referenced by: DelimitingChar DelimitingChar: NonNCNameChar - . DelimitingChar ::= NonNCNameChar | '-' | '.' no references   ... generated by Railroad Diagram Generator R R