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:
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 ::= 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:
MainModule
::= Prolog Program
referenced by:
Module
Program:
Program ::= StatementsAndOptionalExpr
referenced by:
MainModule
Statements:
Statements
::= Statement*
referenced by:
BlockStatement
StatementsAndExpr
StatementsAndOptionalExpr
StatementsAndExpr:
StatementsAndExpr
::= Statements Expr
referenced by:
ContentExpr
StatementsAndOptionalExpr:
StatementsAndOptionalExpr
::= Statements Expr?
referenced by:
BlockExpr
FunctionDecl
Program
Statement:
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:
ApplyStatement
::= ExprSimple ';'
referenced by:
Statement
AssignStatement:
AssignStatement
::= '$' VarName ':=' ExprSingle ';'
referenced by:
Statement
BlockStatement:
BlockStatement
::= '{' Statement Statements '}'
referenced by:
Statement
TryCatchStatement
BreakStatement:
BreakStatement
::= 'break' 'loop' ';'
referenced by:
Statement
ContinueStatement:
ContinueStatement
::= 'continue' 'loop' ';'
referenced by:
Statement
ExitStatement:
ExitStatement
::= 'exit' 'returning' ExprSingle ';'
referenced by:
Statement
FLWORStatement:
FLWORStatement
::= InitialClause IntermediateClause* ReturnStatement
referenced by:
Statement
ReturnStatement:
ReturnStatement
::= ( 'return' | 'select' ) Statement
referenced by:
FLWORStatement
IfStatement:
IfStatement
::= 'if' '(' Expr ')' 'then' Statement 'else' Statement
referenced by:
Statement
SwitchStatement:
SwitchStatement
::= 'switch' '(' Expr ')' SwitchCaseStatement+ 'default' ( 'return' | 'select' ) Statement
referenced by:
Statement
SwitchCaseStatement:
SwitchCaseStatement
::= ( 'case' SwitchCaseOperand )+ ( 'return' | 'select' ) Statement
referenced by:
SwitchStatement
TryCatchStatement:
TryCatchStatement
::= 'try' BlockStatement ( 'catch' CatchErrorList BlockStatement )+
referenced by:
Statement
TypeswitchStatement:
TypeswitchStatement
::= 'typeswitch' '(' Expr ')' CaseStatement+ 'default' ( '$' VarName )? ( 'return' | 'select' ) Statement
referenced by:
Statement
CaseStatement:
CaseStatement
::= 'case' ( '$' VarName 'as' )? SequenceType ( 'return' | 'select' ) Statement
referenced by:
TypeswitchStatement
VarDeclStatement:
VarDeclStatement
::= Annotation* 'variable' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? ( ',' '$' VarName TypeDeclaration? ( ':=' ExprSingle )? )* ';'
referenced by:
Statement
WhileStatement:
WhileStatement
::= 'while' '(' Expr ')' Statement
referenced by:
Statement
VoidStatement:
VoidStatement
::= ';'
referenced by:
Statement
ExprSingle:
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:
ExprSimple
::= QuantifiedExpr
| OrExpr
| InsertExpr
| DeleteExpr
| RenameExpr
| ReplaceExpr
| TransformExpr
| JSONDeleteExpr
| JSONInsertExpr
| JSONRenameExpr
| JSONReplaceExpr
| JSONAppendExpr
referenced by:
ApplyStatement
ExprSingle
JSONDeleteExpr:
JSONDeleteExpr
::= 'delete' 'json'? PostfixExpr
referenced by:
ExprSimple
JSONInsertExpr:
JSONInsertExpr
::= 'insert' 'json'? ExprSingle 'into' ExprSingle ( 'at' 'position' ExprSingle )?
| 'insert' 'json'? PairConstructorList 'into' ExprSingle
referenced by:
ExprSimple
JSONRenameExpr:
JSONRenameExpr
::= 'rename' 'json'? PostfixExpr 'as' ExprSingle
referenced by:
ExprSimple
JSONReplaceExpr:
JSONReplaceExpr
::= 'replace' 'json'? 'value' 'of' PostfixExpr 'with' ExprSingle
referenced by:
ExprSimple
JSONAppendExpr:
JSONAppendExpr
::= 'append' 'json'? ExprSingle 'into' ExprSingle
referenced by:
ExprSimple
CommonContent:
CommonContent
::= PredefinedEntityRef
| CharRef
| '{{'
| '}}'
| BlockExpr
referenced by:
AposAttrValueContent
DirElemContent
QuotAttrValueContent
ContentExpr:
ContentExpr
::= StatementsAndExpr
referenced by:
CompElemConstructor
CompDocConstructor:
CompDocConstructor
::= 'document' BlockExpr
referenced by:
ComputedConstructor
CompAttrConstructor:
CompAttrConstructor
::= 'attribute' ( EQName | '{' Expr '}' ) ( '{' '}' | BlockExpr )
referenced by:
ComputedConstructor
CompPIConstructor:
CompPIConstructor
::= 'processing-instruction' ( NCName | '{' Expr '}' ) ( '{' '}' | BlockExpr )
referenced by:
ComputedConstructor
CompCommentConstructor:
CompCommentConstructor
::= 'comment' BlockExpr
referenced by:
ComputedConstructor
CompTextConstructor:
CompTextConstructor
::= 'text' BlockExpr
referenced by:
ComputedConstructor
PrimaryExpr:
PrimaryExpr
::= Literal
| VarRef
| ParenthesizedExpr
| ContextItemExpr
| FunctionCall
| OrderedExpr
| UnorderedExpr
| Constructor
| FunctionItemExpr
| BlockExpr
| ObjectConstructor
| ArrayConstructor
| JSONSimpleObjectUnion
referenced by:
PostfixExpr
JSONSimpleObjectUnion:
JSONSimpleObjectUnion
::= '{|' Expr? '|}'
referenced by:
PrimaryExpr
ObjectConstructor:
ObjectConstructor
::= '{' PairConstructorList? '}'
referenced by:
PrimaryExpr
PairConstructorList:
PairConstructorList
::= PairConstructor ( ',' PairConstructor )*
referenced by:
JSONInsertExpr
ObjectConstructor
PairConstructor:
PairConstructor
::= ( ExprSingle | NCName ) ( ':' | '?:' ) ExprSingle
referenced by:
PairConstructorList
ArrayConstructor:
ArrayConstructor
::= '[' Expr? ']'
referenced by:
PrimaryExpr
BlockExpr:
BlockExpr
::= '{' StatementsAndOptionalExpr '}'
referenced by:
CommonContent
CompAttrConstructor
CompCommentConstructor
CompDocConstructor
CompPIConstructor
CompTextConstructor
PrimaryExpr
FunctionDecl:
FunctionDecl
::= 'function' EQName '(' ParamList? ')' ( 'as' SequenceType )? ( '{' StatementsAndOptionalExpr '}' | 'external' )
referenced by:
AnnotatedDecl
PragmaContents:
PragmaContents
::= ( Char* - ( Char* '#)' Char* ) ) &'#'
referenced by:
Pragma
DirCommentContents:
DirCommentContents
::= ( Char - '-' | '-' ( Char - '-' ) )*
referenced by:
DirCommentConstructor
DirPIContents:
DirPIContents
::= ( Char* - ( Char* '?>' Char* ) ) &'?'
referenced by:
DirPIConstructor
CDataSection:
CDataSection
::= '<![CDATA[' CDataSectionContents ']]>'
referenced by:
DirElemContent
CDataSectionContents:
CDataSectionContents
::= Char* - ( Char* ']]>' Char* )
referenced by:
CDataSection
Wildcard:
Wildcard ::= '*'
| NCName ':' '*'
| '*' ':' NCName
| BracedURILiteral '*'
referenced by:
NameTest
EQName:
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:
URIQualifiedName
::= BracedURILiteral NCName
referenced by:
EQName
BracedURILiteral:
BracedURILiteral
::= 'Q' '{' ( PredefinedEntityRef | CharRef | [^&{}] )* '}'
referenced by:
URIQualifiedName
Wildcard
URILiteral:
URILiteral
::= StringLiteral
referenced by:
BaseURIDecl
DefaultCollationDecl
DefaultNamespaceDecl
FTStopWords
FTThesaurusID
GroupingSpec
IndexKeyCollation
ModuleDecl
ModuleImport
NamespaceDecl
OrderModifier
SchemaImport
IntegerLiteral:
IntegerLiteral
::= Digits
referenced by:
FTLiteralRange
NamedFunctionRef
NumericLiteral
DecimalLiteral:
DecimalLiteral
::= '.' Digits
| Digits '.' [0-9]*
/* ws: explicit */
referenced by:
NumericLiteral
DoubleLiteral:
DoubleLiteral
::= ( '.' Digits | Digits ( '.' [0-9]* )? ) [Ee] [+#x002D]? Digits
/* ws: explicit */
referenced by:
NumericLiteral
StringLiteral:
StringLiteral
::= '"' ( JSONPredefinedCharRef | JSONCharRef | [^"\] )* '"'
| "'" ( PredefinedEntityRef | CharRef | EscapeApos | [^&'] )* "'"
/* ws: explicit */
referenced by:
DecimalFormatDecl
FTExtensionOption
FTLanguageOption
FTStopWords
FTThesaurusID
FTWordsValue
Literal
ObjectLookup
OptionDecl
PITest
URILiteral
VersionDecl
JSONPredefinedCharRef:
JSONPredefinedCharRef
::= '\' ( '\' | '/' | '"' | "'" | 'b' | 'f' | 'n' | 'r' | 't' )
/* ws: explicit */
referenced by:
StringLiteral
JSONCharRef:
JSONCharRef
::= '\' 'u' [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]
referenced by:
StringLiteral
PredefinedEntityRef:
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:
ElementContentChar
::= Char - [&<{}]
referenced by:
DirElemContent
QuotAttrContentChar:
QuotAttrContentChar
::= Char - ["&<{}]
referenced by:
QuotAttrValueContent
AposAttrContentChar:
AposAttrContentChar
::= Char - [&'<{}]
referenced by:
AposAttrValueContent
PITarget:
PITarget ::= NCName - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) )
referenced by:
DirPIConstructor
Name:
Name ::= NameStartChar NameChar*
referenced by:
NCName
NameStartChar:
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:
NameChar ::= NameStartChar
| [-.0-9#x00B7#x0300-#x036F#x203F-#x2040]
referenced by:
Name
NonNCNameChar
NCName:
NCName ::= Name - ( Char* ( ':' | '.' ) Char* )
referenced by:
CompPIConstructor
LocalPart
ModuleDecl
ModuleImport
NCName
NamespaceDecl
ObjectLookup
PITarget
PITest
PairConstructor
Prefix
Prefix
SchemaPrefix
URIQualifiedName
Wildcard
Char:
Char ::= [#x0009#x000A#x000D#x0020-#xD7FF#xE000-#xFFFD#x10000-#x10FFFF]
referenced by:
AposAttrContentChar
CDataSectionContents
CommentContents
DirCommentContents
DirPIContents
ElementContentChar
NCName
NonNCNameChar
PragmaContents
QuotAttrContentChar
QName:
QName ::= PrefixedName
| UnprefixedName
referenced by:
DirAttributeList
DirElemConstructor
EQName
PrefixedName:
PrefixedName
::= Prefix ':' LocalPart
referenced by:
QName
UnprefixedName:
UnprefixedName
::= LocalPart
referenced by:
QName
Prefix:
Prefix ::= NCName
referenced by:
CompNamespaceConstructor
PrefixedName
LocalPart:
LocalPart
::= NCName
referenced by:
PrefixedName
UnprefixedName
S:
S ::= [#x0009#x000A#x000D#x0020]+
referenced by:
DirAttributeList
DirElemConstructor
DirPIConstructor
Pragma
Whitespace
CharRef:
CharRef ::= '&#' [0-9]+ ';'
| '&#x' [0-9A-Fa-f]+ ';'
referenced by:
BracedURILiteral
CommonContent
StringLiteral
Digits:
Digits ::= [0-9]+
referenced by:
DecimalLiteral
DoubleLiteral
IntegerLiteral
CommentContents:
CommentContents
::= ( ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) - ( Char* '(' ) ) &':'
| ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &'('
referenced by:
Comment
EOF:
EOF ::= $
referenced by:
XQuery
NonNCNameChar:
NonNCNameChar
::= $
| ':'
| '.'
| Char - NameChar
referenced by:
DelimitingChar
DelimitingChar:
DelimitingChar
::= NonNCNameChar
| '-'
| '.'
no references
... generated by Railroad Diagram Generator