XPath | ::= | Expr |
AbbrevForwardStep | ::= | "@" NodeTest |
AbbrevReverseStep | ::= | ".." |
AnyArrayTest | ::= | "array" "(" "*" ")" |
AnyFunctionTest | ::= | "function" "(" "*" ")" |
AnyKindTest | ::= | "node" "(" ")" |
AnyMapTest | ::= | "map" "(" "*" ")" |
Argument | ::= | (ExprSingle | ArgumentPlaceholder) |
ArgumentList | ::= | "(" (Argument ("," Argument)) ")" |
ArgumentPlaceholder | ::= | "?" |
ArrayConstructor | ::= | (SquareArrayConstructor | CurlyArrayConstructor) |
ArrayTest | ::= | (AnyArrayTest | TypedArrayTest) |
ArrowFunctionSpecifier | ::= | (EQName | VarRef | ParenthesizedExpr) |
AtomicOrUnionType | ::= | _QName_or_EQName |
AttribNameOrWildcard | ::= | (AttributeName | "*") |
AttributeDeclaration | ::= | AttributeName |
AttributeName | ::= | _QName_or_EQName |
AttributeTest | ::= | "attribute" "(" (AttribNameOrWildcard ("," TypeName)) ")" |
AxisStep | ::= | (ReverseStep | ForwardStep) PredicateList |
BaseChar | ::= | [AA–ZZ aa–zz ÀÀ–ÖÖ ØØ–öö øø–ÿÿ ĀĀ–ıı ĴĴ–ľľ ŁŁ–ňň ŊŊ–žž ƀƀ–ǃǃ ǍǍ–ǰǰ ǴǴ–ǵǵ ǺǺ–ȗȗ ɐɐ–ʨʨ ʻʻ–ˁˁ ΆΆ ΈΈ–ΊΊ ΌΌ ΎΎ–ΡΡ ΣΣ–ώώ ϐϐ–ϖϖ ϚϚ ϜϜ ϞϞ ϠϠ ϢϢ–ϳϳ ЁЁ–ЌЌ ЎЎ–яя ёё–ќќ ўў–ҁҁ ҐҐ–ӄӄ ӇӇ–ӈӈ ӋӋ–ӌӌ ӐӐ–ӫӫ ӮӮ–ӵӵ ӸӸ–ӹӹ ԱԱ–ՖՖ ՙՙ աա–ֆֆ אא–תת װװ–ײײ ءء–غغ فف–يي ٱٱ–ڷڷ ںں–ھھ ۀۀ–ێێ ېې–ۓۓ ەە ۥۥ–ۦۦ अअ–हह ऽऽ क़क़–ॡॡ অঅ–ঌঌ এএ–ঐঐ ওও–নন পপ–রর লল শশ–হহ ড়ড়–ঢ়ঢ় য়য়–ৡৡ ৰৰ–ৱৱ ਅਅ–ਊਊ ਏਏ–ਐਐ ਓਓ–ਨਨ ਪਪ–ਰਰ ਲਲ–ਲ਼ਲ਼ ਵਵ–ਸ਼ਸ਼ ਸਸ–ਹਹ ਖ਼ਖ਼–ੜੜ ਫ਼ਫ਼ ੲੲ–ੴੴ અઅ–ઋઋ ઍઍ એએ–ઑઑ ઓઓ–નન પપ–રર લલ–ળળ વવ–હહ ઽઽ ૠૠ ଅଅ–ଌଌ ଏଏ–ଐଐ ଓଓ–ନନ ପପ–ରର ଲଲ–ଳଳ ଶଶ–ହହ ଽଽ ଡ଼ଡ଼–ଢ଼ଢ଼ ୟୟ–ୡୡ அஅ–ஊஊ எஎ–ஐஐ ஒஒ–கக ஙங–சச ஜஜ ஞஞ–டட ணண–தத நந–பப மம–வவ ஷஷ–ஹஹ అఅ–ఌఌ ఎఎ–ఐఐ ఒఒ–నన పప–ళళ వవ–హహ ౠౠ–ౡౡ ಅಅ–ಌಌ ಎಎ–ಐಐ ಒಒ–ನನ ಪಪ–ಳಳ ವವ–ಹಹ ೞೞ ೠೠ–ೡೡ അഅ–ഌഌ എഎ–ഐഐ ഒഒ–നന പപ–ഹഹ ൠൠ–ൡൡ กก–ฮฮ ะะ าา–ำำ เเ–ๅๅ ກກ–ຂຂ ຄຄ ງງ–ຈຈ ຊຊ ຍຍ ດດ–ທທ ນນ–ຟຟ ມມ–ຣຣ ລລ ວວ ສສ–ຫຫ ອອ–ຮຮ ະະ າາ–ຳຳ ຽຽ ເເ–ໄໄ ཀཀ–ཇཇ ཉཉ–ཀྵཀྵ ႠႠ–ჅჅ აა–ჶჶ ᄀᄀ ᄂᄂ–ᄃᄃ ᄅᄅ–ᄇᄇ ᄉᄉ ᄋᄋ–ᄌᄌ ᄎᄎ–ᄒᄒ ᄼᄼ ᄾᄾ ᅀᅀ ᅌᅌ ᅎᅎ ᅐᅐ ᅔᅔ–ᅕᅕ ᅙᅙ ᅟᅟ–ᅡᅡ ᅣᅣ ᅥᅥ ᅧᅧ ᅩᅩ ᅭᅭ–ᅮᅮ ᅲᅲ–ᅳᅳ ᅵᅵ ᆞᆞ ᆨᆨ ᆫᆫ ᆮᆮ–ᆯᆯ ᆷᆷ–ᆸᆸ ᆺᆺ ᆼᆼ–ᇂᇂ ᇫᇫ ᇰᇰ ᇹᇹ ḀḀ–ẛẛ ẠẠ–ỹỹ ἀἀ–ἕἕ ἘἘ–ἝἝ ἠἠ–ὅὅ ὈὈ–ὍὍ ὐὐ–ὗὗ ὙὙ ὛὛ ὝὝ ὟὟ–ώώ ᾀᾀ–ᾴᾴ ᾶᾶ–ᾼᾼ ιι ῂῂ–ῄῄ ῆῆ–ῌῌ ῐῐ–ΐΐ ῖῖ–ΊΊ ῠῠ–ῬῬ ῲῲ–ῴῴ ῶῶ–ῼῼ ΩΩ KK–ÅÅ ℮℮ ↀↀ–ↂↂ ぁぁ–ゔゔ ァァ–ヺヺ ㄅㄅ–ㄬㄬ 가가–힣힣 ] |
BracedURILiteral | ::= | "Q" "{" ([{}]) "}" |
Char | ::= | [	 


  –� ] |
CombiningChar | ::= | [̀–ͅ ͠–͡ ҃–҆ ֑–֡ ֣–ֹ ֻ–ֽ ֿ ׁ–ׂ ׄ ً–ْ ٰ ۖ–ۜ ۝–۟ ۠–ۤ ۧ–ۨ ۪–ۭ ँ–ः ़ ा–ौ ् ॑–॔ ॢ–ॣ ঁ–ঃ ় া ি ী–ৄ ে–ৈ ো–্ ৗ ৢ–ৣ ਂ ਼ ਾ ਿ ੀ–ੂ ੇ–ੈ ੋ–੍ ੰ–ੱ ઁ–ઃ ઼ ા–ૅ ે–ૉ ો–્ ଁ–ଃ ଼ ା–ୃ େ–ୈ ୋ–୍ ୖ–ୗ ஂ–ஃ ா–ூ ெ–ை ொ–் ௗ ఁ–ః ా–ౄ ె–ై ొ–్ ౕ–ౖ ಂ–ಃ ಾ–ೄ ೆ–ೈ ೊ–್ ೕ–ೖ ം–ഃ ാ–ൃ െ–ൈ ൊ–് ൗ ั ิ–ฺ ็–๎ ັ ິ–ູ ົ–ຼ ່–ໍ ༘–༙ ༵ ༷ ༹ ༾ ༿ ཱ–྄ ྆–ྋ ྐ–ྕ ྗ ྙ–ྭ ྱ–ྷ ྐྵ ⃐–⃜ ⃡ 〪–〯 ゙ ゚ ] |
| ::= | CommentStart (CommentContents | Comment) CommentEnd |
| ::= | Char |
| ::= | CommentContent |
| ::= | ":)" |
| ::= | "(:" |
| ::= | "comment" "(" ")" |
ContextItemExpr | ::= | "." |
CurlyArrayConstructor | ::= | "array" EnclosedExpr |
DecimalLiteral | ::= | (("." Digits) | (Digits "." [0–9])) |
Digit | ::= | [00–99 ٠٠–٩٩ ۰۰–۹۹ ००–९९ ০০–৯৯ ੦੦–੯੯ ૦૦–૯૯ ୦୦–୯୯ ௧௧–௯௯ ౦౦–౯౯ ೦೦–೯೯ ൦൦–൯൯ ๐๐–๙๙ ໐໐–໙໙ ༠༠–༩༩ ] |
Digits | ::= | [0–9] |
DocumentTest | ::= | "document-node" "(" (ElementTest | SchemaElementTest) ")" |
DoubleLiteral | ::= | (("." Digits) | (Digits ("." [0–9]))) [eE] [+-] Digits |
ElementDeclaration | ::= | ElementName |
ElementName | ::= | _QName_or_EQName |
ElementNameOrWildcard | ::= | (ElementName | "*") |
ElementTest | ::= | "element" "(" (ElementNameOrWildcard ("," TypeName "?")) ")" |
EnclosedExpr | ::= | Lbrace Expr Rbrace |
EQName | ::= | (QName | URIQualifiedName) |
EscapeApos | ::= | "''" |
EscapeQuot | ::= | """" |
Expr | ::= | ExprSingle ("," ExprSingle) |
ExprSingle | ::= | (ForExpr | LetExpr | QuantifiedExpr | IfExpr | OrExpr) |
Extender | ::= | [·· ːː ˑˑ ·· ــ ๆๆ ໆໆ 々々 〱〱–〵〵 ゝゝ–ゞゞ ーー–ヾヾ ] |
ForExpr | ::= | SimpleForClause "return" ExprSingle |
ForwardAxis | ::= | (("child" "::") | ("descendant" "::") | ("attribute" "::") | ("self" "::") | ("descendant-or-self" "::") | ("following-sibling" "::") | ("following" "::") | ("namespace" "::")) |
ForwardStep | ::= | ((ForwardAxis NodeTest) | AbbrevForwardStep) |
FunctionBody | ::= | EnclosedExpr |
FunctionCall | ::= | _Function_QName_or_EQName (ArgumentList) |
FunctionEQName | ::= | (FunctionQName | URIQualifiedName) |
FunctionItemExpr | ::= | (NamedFunctionRef | InlineFunctionExpr) |
FunctionQName | ::= | (QNameToken | "ancestor" | "ancestor-or-self" | "and" | "as" | "cast" | "castable" | "child" | "descendant" | "descendant-or-self" | "div" | "else" | "eq" | "every" | "except" | "following" | "following-sibling" | "for" | "ge" | "gt" | "idiv" | "in" | "instance" | "intersect" | "is" | "le" | "let" | "lt" | "mod" | "namespace" | "ne" | "of" | "or" | "parent" | "preceding" | "preceding-sibling" | "return" | "satisfies" | "self" | "some" | "then" | "to" | "treat" | "union") |
FunctionTest | ::= | (AnyFunctionTest | TypedFunctionTest) |
GeneralComp | ::= | ("=" | "!=" | LeftAngleBracket | "<=" | ">" | ">=") |
Ideographic | ::= | [一一–龥龥 〇〇 〡〡–〩〩 ] |
IfExpr | ::= | "if" "(" Expr ")" "then" ExprSingle "else" ExprSingle |
ImplicitlyAllowedWhitespace | ::= | WhitespaceChar |
InlineFunctionExpr | ::= | "function" "(" ParamList ")" ("as" SequenceType) FunctionBody |
IntegerLiteral | ::= | Digits |
ItemType | ::= | (KindTest | ("item" "(" ")") | FunctionTest | MapTest | ArrayTest | AtomicOrUnionType | ParenthesizedItemType) |
KeySpecifier | ::= | (NCName | IntegerLiteral | ParenthesizedExpr | "*") |
KindTest | ::= | (DocumentTest | ElementTest | AttributeTest | SchemaElementTest | SchemaAttributeTest | PITest | CommentTest | TextTest | NamespaceNodeTest | AnyKindTest) |
Lbrace | ::= | "{" |
LeftAngleBracket | ::= | "<" |
LetExpr | ::= | SimpleLetClause "return" ExprSingle |
Letter | ::= | (BaseChar | Ideographic) |
Literal | ::= | (NumericLiteral | StringLiteral) |
LocalPart | ::= | NCNameTok |
Lookup | ::= | "?" KeySpecifier |
MapConstructor | ::= | "map" Lbrace (MapConstructorEntry ("," MapConstructorEntry)) Rbrace |
MapConstructorEntry | ::= | MapKeyExpr ":" MapValueExpr |
MapKeyExpr | ::= | ExprSingle |
MapTest | ::= | (AnyMapTest | TypedMapTest) |
MapValueExpr | ::= | ExprSingle |
Minus | ::= | "-" |
NamedFunctionRef | ::= | _Function_QName_or_EQName "#" IntegerLiteral |
NamespaceNodeTest | ::= | "namespace-node" "(" ")" |
NameTest | ::= | (_QName_or_EQName | Wildcard) |
NCName | ::= | QName |
NCNameColonStar | ::= | NCNameTok ":*" |
NCNameTok | ::= | Nmstart Nmchar |
Nmchar | ::= | (Letter | CombiningChar | Extender | Digit | "." | "-" | "_") |
Nmstart | ::= | (Letter | "_") |
NodeComp | ::= | ("is" | "<<" | ">>") |
NodeTest | ::= | (KindTest | NameTest) |
NumericLiteral | ::= | (IntegerLiteral | DecimalLiteral | DoubleLiteral) |
NumericLiteralError | ::= | (("." Digits) | (Digits ("." [0–9]))) ([eE] [+-] Digits) [a–zA–Z] |
OccurrenceIndicator | ::= | ("?" | "*" | Plus) |
Param | ::= | "$" _QName_or_EQName TypeDeclaration |
ParamList | ::= | Param ("," Param) |
ParenthesizedExpr | ::= | "(" Expr ")" |
ParenthesizedItemType | ::= | "(" ItemType ")" |
PathExpr | ::= | ((Slash RelativePathExpr) | (SlashSlash RelativePathExpr) | RelativePathExpr) |
PITest | ::= | "processing-instruction" "(" (NCName | StringLiteral) ")" |
Plus | ::= | "+" |
PostfixExpr | ::= | PrimaryExpr (Predicate | ArgumentList | Lookup) |
Predicate | ::= | "[" Expr "]" |
PredicateList | ::= | Predicate |
PrimaryExpr | ::= | (Literal | VarRef | ParenthesizedExpr | ContextItemExpr | FunctionCall | FunctionItemExpr | MapConstructor | ArrayConstructor | UnaryLookup) |
QName | ::= | (FunctionQName | "array" | "attribute" | "comment" | "document-node" | "element" | "empty-sequence" | "function" | "if" | "item" | "map" | "namespace-node" | "node" | "processing-instruction" | "schema-attribute" | "schema-element" | "switch" | "text" | "typeswitch") |
QNameToken | ::= | (NCNameTok ":") LocalPart |
QuantifiedExpr | ::= | ("some" | "every") "$" VarName "in" ExprSingle ("," "$" VarName "in" ExprSingle) "satisfies" ExprSingle |
Rbrace | ::= | "}" |
RelativePathExpr | ::= | StepExpr ((Slash | SlashSlash) StepExpr) |
ReverseAxis | ::= | (("parent" "::") | ("ancestor" "::") | ("preceding-sibling" "::") | ("preceding" "::") | ("ancestor-or-self" "::")) |
ReverseStep | ::= | ((ReverseAxis NodeTest) | AbbrevReverseStep) |
SchemaAttributeTest | ::= | "schema-attribute" "(" AttributeDeclaration ")" |
SchemaElementTest | ::= | "schema-element" "(" ElementDeclaration ")" |
SequenceType | ::= | (("empty-sequence" "(" ")") | (ItemType OccurrenceIndicator)) |
SimpleForBinding | ::= | "$" VarName "in" ExprSingle |
SimpleForClause | ::= | "for" SimpleForBinding ("," SimpleForBinding) |
SimpleLetBinding | ::= | "$" VarName ":=" ExprSingle |
SimpleLetClause | ::= | "let" SimpleLetBinding ("," SimpleLetBinding) |
SimpleMapExpr | ::= | PathExpr ("!" PathExpr) |
SimpleTypeName | ::= | TypeName |
SingleType | ::= | SimpleTypeName "?" |
Slash | ::= | "/" |
SlashSlash | ::= | "//" |
SquareArrayConstructor | ::= | "[" (ExprSingle ("," ExprSingle)) "]" |
StarColonNCName | ::= | "*:" NCNameTok |
StepExpr | ::= | (PostfixExpr | AxisStep) |
StringLiteral | ::= | ((""" (EscapeQuot | ["]) """) | ("'" (EscapeApos | [']) "'")) |
TextTest | ::= | "text" "(" ")" |
TypedArrayTest | ::= | "array" "(" SequenceType ")" |
TypeDeclaration | ::= | "as" SequenceType |
TypedFunctionTest | ::= | "function" "(" (SequenceType ("," SequenceType)) ")" "as" SequenceType |
TypedMapTest | ::= | "map" "(" AtomicOrUnionType "," SequenceType ")" |
TypeName | ::= | _QName_or_EQName |
UnaryLookup | ::= | "?" KeySpecifier |
URIQualifiedName | ::= | BracedURILiteral NCNameTok |
URIQualifiedStar | ::= | BracedURILiteral "*" |
ValueComp | ::= | ("eq" | "ne" | "lt" | "le" | "gt" | "ge") |
VarName | ::= | _QName_or_EQName |
VarRef | ::= | "$" VarName |
WhitespaceChar | ::= | [	 


  ] |
Wildcard | ::= | ("*" | NCNameColonStar | StarColonNCName | URIQualifiedStar) |