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