XQueryTokenizer.ebnf Find Productions:X Annotation AposAttr AposAttrContentChar AposChar AposString AttrTest BracedURILiteral CData CDataSectionContents Char CharRef Comment CommentContents CommentDoc DecimalLiteral DelimitingChar Digits DirCommentContents DirPIContents DocCommentContents DocTag DoubleLiteral EOF EQName EQName ElementContentChar EndTag FunctionName IntegerLiteral LocalPart ModuleDecl NCName NCName Name NameChar NameStartChar NonNCNameChar Operator OptionDecl PI PITarget Pragma PragmaContents PredefinedEntityRef Prefix Prefix PrefixedName QName QuotAttr QuotAttrContentChar QuotChar QuotString S StartTag Tag TagContent URILiteral URIQualifiedName UnprefixedName Variable Whitespace Wildcard XMLComment _EQName start var filter = document.getElementById("the-filter"), // search box list = document.querySelectorAll("#the-list li"); // all list items update=function(){ let search = filter.value.toLowerCase(); for (let i of list) { let item = i.innerHTML.toLowerCase(); if (item.indexOf(search) == -1) { i.classList.add("hide"); } else { i.classList.remove("hide"); } } }; window.addEventListener("load", () => {filter.onkeyup =update;}); var details = document.getElementById("the-details"), // form document.addEventListener('click', function(e){ if(!details.contains(e.target)){ details.removeAttribute('open') } })

start:

<![CDATA[ <!-- <? (# (:~ (: => " ' } { ( ) / [ ] , . ; : ! | Annotation ModuleDecl OptionDecl AttrTest Wildcard IntegerLiteral DecimalLiteral DoubleLiteral Variable EQName Tag Operator EOF

start    ::= '<![CDATA['
           | '<!--'
           | '<?'
           | '(#'
           | '(:~'
           | '(:'
           | '=>'
           | '"'
           | "'"
           | '}'
           | '{'
           | '('
           | ')'
           | '/'
           | '['
           | ']'
           | ','
           | '.'
           | ';'
           | ':'
           | '!'
           | '|'
           | Annotation
           | ModuleDecl
           | OptionDecl
           | AttrTest
           | Wildcard
           | IntegerLiteral
           | DecimalLiteral
           | DoubleLiteral
           | Variable
           | EQName
           | Tag
           | Operator
           | EOF

no references


StartTag:

> /> QName = " ' EOF

StartTag ::= '>'
           | '/>'
           | QName
           | '='
           | '"'
           | "'"
           | EOF

no references


TagContent:

ElementContentChar Tag EndTag <![CDATA[ <!-- PredefinedEntityRef CharRef {{ }} { EOF

         ::= ElementContentChar
           | Tag
           | EndTag
           | '<![CDATA['
           | '<!--'
           | PredefinedEntityRef
           | CharRef
           | '{{'
           | '}}'
           | '{'
           | EOF
          /* ws: explicit */

no references


AposAttr:

'' AposAttrContentChar PredefinedEntityRef CharRef {{ }} { ' EOF

AposAttr ::= "''"
           | AposAttrContentChar
           | PredefinedEntityRef
           | CharRef
           | '{{'
           | '}}'
           | '{'
           | "'"
           | EOF
          /* ws: explicit */

no references


QuotAttr:

"" QuotAttrContentChar PredefinedEntityRef CharRef {{ }} { " EOF

QuotAttr ::= '""'
           | QuotAttrContentChar
           | PredefinedEntityRef
           | CharRef
           | '{{'
           | '}}'
           | '{'
           | '"'
           | EOF
          /* ws: explicit */

no references


CData:

CDataSectionContents ]]> EOF

           | ']]>'
           | EOF
          /* ws: explicit */

no references


XMLComment:

DirCommentContents --> EOF

         ::= DirCommentContents
           | '-->'
           | EOF
          /* ws: explicit */

no references


PI:

DirPIContents ? ?> EOF

PI       ::= DirPIContents
           | '?'
           | '?>'
           | EOF
          /* ws: explicit */

no references


Pragma:

PragmaContents # #) EOF

           | '#'
           | '#)'
           | EOF
          /* ws: explicit */

no references


Comment:

:) (: CommentContents EOF

Comment  ::= ':)'
           | '(:'
           | CommentContents
           | EOF
          /* ws: explicit */

no references


CommentDoc:

DocTag DocCommentContents :) (: EOF

         ::= DocTag
           | DocCommentContents
           | ':)'
           | '(:'
           | EOF
          /* ws: explicit */

no references


QuotString:

PredefinedEntityRef CharRef "" QuotChar " EOF

         ::= PredefinedEntityRef
           | CharRef
           | '""'
           | QuotChar
           | '"'
           | EOF
          /* ws: explicit */

no references


AposString:

PredefinedEntityRef CharRef '' AposChar ' EOF

         ::= PredefinedEntityRef
           | CharRef
           | "''"
           | AposChar
           | "'"
           | EOF
          /* ws: explicit */

no references


Prefix:

NCName

Prefix   ::= NCName

referenced by:


_EQName:

EQName

no references


Whitespace:

S

         ::= S^WS
          /* ws: definition */

no references


EQName:

FunctionName attribute comment document-node element empty-sequence function if item namespace-node node processing-instruction schema-attribute schema-element switch text typeswitch

           | 'attribute'
           | 'comment'
           | 'document-node'
           | 'element'
           | 'empty-sequence'
           | 'function'
           | 'if'
           | 'item'
           | 'namespace-node'
           | 'node'
           | 'processing-instruction'
           | 'schema-attribute'
           | 'schema-element'
           | 'switch'
           | 'text'
           | 'typeswitch'

referenced by:


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

         ::= 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'

referenced by:


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

           | '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'

referenced by:


ModuleDecl:

import S module schema S namespace

         ::= ( 'import' S )? ( 'module' | 'schema' ) S 'namespace'

referenced by:


Annotation:

% EQName

         ::= '%' EQName?

referenced by:


OptionDecl:

declare S default S decimal-format option

         ::= 'declare' S ( ( 'default' S )? 'decimal-format' | 'option' )

referenced by:


Operator:

!= := >= <= = < > - + div || ?

Operator ::= '!='
           | ':='
           | '>='
           | '<='
           | '='
           | '<'
           | '>'
           | '-'
           | '+'
           | 'div'
           | '||'
           | '?'

referenced by:


Variable:

$ EQName

Variable ::= '$' EQName

referenced by:


Tag:

< QName

Tag      ::= '<' QName

referenced by:


EndTag:

</ QName S >

EndTag   ::= '</' QName S? '>'

referenced by:


PragmaContents:

Char* - ( Char* '#' Char* )

         ::= ( Char* - ( Char* '#' Char* ) )+

referenced by:


DirCommentContents:

- Char - '-'

         ::= ( '-'? ( Char - '-' ) )+

referenced by:


DirPIContents:

Char* - ( Char* '?' Char* )

         ::= ( Char* - ( Char* '?' Char* ) )+

referenced by:


CDataSectionContents:

( Char+ - ( Char* ']]>' Char* ) ) &']]' ( Char+ - ( Char* ']]>' Char* ) ) &$

         ::= ( Char+ - ( Char* ']]>' Char* ) ) &']]'
           | ( Char+ - ( Char* ']]>' Char* ) ) &$

referenced by:


AttrTest:

@ Wildcard QName

AttrTest ::= '@' ( Wildcard | QName )

referenced by:


Wildcard:

* : NCName NCName : BracedURILiteral *

Wildcard ::= '*' ( ':' NCName )?
           | ( NCName ':' | BracedURILiteral ) '*'

referenced by:


EQName:

QName URIQualifiedName

EQName   ::= QName
           | URIQualifiedName

referenced by:


URIQualifiedName:

BracedURILiteral NCName

referenced by:


BracedURILiteral:

Q { PredefinedEntityRef CharRef [^&{}] }

         ::= 'Q' '{' ( PredefinedEntityRef | CharRef | [^&{}] )* '}'

referenced by:


URILiteral:

StringLiteral

         ::= StringLiteral

no references


IntegerLiteral:

Digits

         ::= Digits

referenced by:


DecimalLiteral:

Digits . [0-9] . Digits

         ::= '.' Digits
           | Digits '.' [0-9]*
          /* ws: explicit */

referenced by:


DoubleLiteral:

Digits . [0-9] . Digits E e + [#x002D] Digits

         ::= ( '.' Digits | Digits ( '.' [0-9]* )? ) [Ee] [+#x002D]? Digits
          /* ws: explicit */

referenced by:


PredefinedEntityRef:

& lt gt amp quot apos ;

         ::= '&' ( 'lt' | 'gt' | 'amp' | 'quot' | 'apos' ) ';'
          /* ws: explicit */

referenced by:


QuotChar:

Char - ["&]

QuotChar ::= ( Char - ["&] )+

referenced by:


AposChar:

Char - [&']

AposChar ::= ( Char - [&'] )+

referenced by:


ElementContentChar:

Char - [&<{}]

         ::= ( Char - [&<{}] )+

referenced by:


QuotAttrContentChar:

Char - ["&<{}]

         ::= ( Char - ["&<{}] )+

referenced by:


AposAttrContentChar:

Char - [&'<{}]

         ::= ( Char - [&'<{}] )+

referenced by:


PITarget:

NCName - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) )

PITarget ::= NCName - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) )

no references


Name:

NameStartChar NameChar

referenced by:


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]

         ::= [: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:


NameChar:

NameStartChar - . [0-9] [#x00B7] [#x0300-#x036F] [#x203F-#x2040]

           | [-.0-9#x00B7#x0300-#x036F#x203F-#x2040]

referenced by:


NCName:

Name - ( Char* ':' Char* )

NCName   ::= Name - ( Char* ':' Char* )

referenced by:


Char:

[#x0009] [#x000A] [#x000D] [#x0020-#xD7FF] [#xE000-#xFFFD] [#x10000-#x10FFFF]

Char     ::= [#x0009#x000A#x000D#x0020-#xD7FF#xE000-#xFFFD#x10000-#x10FFFF]

referenced by:


QName:

PrefixedName UnprefixedName

QName    ::= PrefixedName
           | UnprefixedName

referenced by:


PrefixedName:

Prefix : LocalPart

         ::= Prefix ':' LocalPart

referenced by:


UnprefixedName:

LocalPart

         ::= LocalPart

referenced by:


Prefix:

NCName

Prefix   ::= NCName

referenced by:


LocalPart:

NCName

         ::= NCName

referenced by:


S:

[#x0009] [#x000A] [#x000D] [#x0020]

S        ::= [#x0009#x000A#x000D#x0020]+

referenced by:


CharRef:

&# [0-9] &#x [0-9] [A-F] [a-f] ;

CharRef  ::= ( '&#' [0-9]+ | '&#x' [0-9A-Fa-f]+ ) ';'

referenced by:


Digits:

[0-9]

Digits   ::= [0-9]+

referenced by:


CommentContents:

( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &'(:' ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &$ ( ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) - ( Char* '(' ) ) &':'

         ::= ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &'(:'
           | ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) &$
           | ( ( Char+ - ( Char* ( '(:' | ':)' ) Char* ) ) - ( Char* '(' ) ) &':'

referenced by:


DocTag:

@ NCName

DocTag   ::= ' @' NCName?

referenced by:


DocCommentContents:

( ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) - ( Char* '(' ) ) &':' ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &'(:' ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &' @' ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &$

         ::= ( ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) - ( Char* '(' ) ) &':'
           | ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &'(:'
           | ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &' @'
           | ( Char+ - ( Char* ( '(:' | ':)' | ' @' ) Char* ) ) &$

referenced by:


EOF:

$

EOF      ::= $

referenced by:


NonNCNameChar:

$ : Char - NameChar

         ::= $
           | ':'
           | Char - NameChar

referenced by:


DelimitingChar:

NonNCNameChar - .

         ::= NonNCNameChar
           | '-'
           | '.'

no references



  ... generated by RR - Railroad Diagram Generator R R