IncludedXPath ::= IDXPath | AbsoluteLocationPath IDXPath ::= 'id(' IDValue ')' IDValue ::= NCName AbsoluteLocationPath ::= '/' RelativeLocationPath? | AbbreviatedAbsoluteLocationPath AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath RelativeLocationPath ::= FinalStep | NonFinalRelativeLocationPath '/' FinalStep | AbbreviatedRelativeLocationPath AbbreviatedRelativeLocationPath ::= NonFinalRelativeLocationPath '//' FinalStep NonFinalRelativeLocationPath ::= NonFinalStep | NonFinalRelativeLocationPath '/' NonFinalStep | NonFinalAbbreviatedRelativeLocationPath NonFinalAbbreviatedRelativeLocationPath ::= NonFinalRelativeLocationPath '//' NonFinalStep FinalStep ::= AxisSpecifier NameTest RestrictedFinalPredicate* | '.' AxisSpecifier ::= (AxisName '::')? AxisName ::= 'child' | 'descendant' | 'descendant-or-self' | 'following' | 'following-sibling' | 'self' NameTest ::= '*' | NCName ':' '*' | QName RestrictedFinalPredicate ::= '[' RestrictedFinalPredicateExpr ']' RestrictedFinalPredicateExpr ::= RestrictedPositionExpr | RestrictedNameTestExpr | RestrictedAttributeExpr NonFinalStep ::= AxisSpecifier NameTest RestrictedNonFinalPredicate* | '.' RestrictedNonFinalPredicate ::= '[' RestrictedNonFinalPredicateExpr ']' RestrictedNonFinalPredicateExpr ::= RestrictedPositionExpr | RestrictedNameTestExpr RestrictedPositionExpr ::= 'position()='? [1-9] [0-9]* RestrictedNameTestExpr ::= 'local-name()=' Literal ' and namespace-uri()=' Literal RestrictedAttributeExpr ::= AttributeAxisIdentifier NameTest '=' Literal AttributeAxisIdentifier ::= 'attribute::' | '@' Literal ::= '"' [^"]* '"' | "'" [^']* "'" ExcludedXPath ::= IDXPath | AbsoluteLocationPath IDXPath ::= 'id(' IDValue ')' IDValue ::= NCName AbsoluteLocationPath ::= '/' RelativeLocationPath? | AbbreviatedAbsoluteLocationPath AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath RelativeLocationPath ::= FinalStep | NonFinalRelativeLocationPath '/' FinalStep | AbbreviatedRelativeLocationPath AbbreviatedRelativeLocationPath ::= NonFinalRelativeLocationPath '//' FinalStep NonFinalRelativeLocationPath ::= NonFinalStep | NonFinalRelativeLocationPath '/' NonFinalStep | NonFinalAbbreviatedRelativeLocationPath NonFinalAbbreviatedRelativeLocationPath ::= NonFinalRelativeLocationPath '//' NonFinalStep FinalStep ::= AxisSpecifier NameTest RestrictedFinalPredicate* | '.' AxisSpecifier ::= (AxisName '::')? AxisName ::= 'attribute' | 'child' | 'descendant' | 'descendant-or-self' | 'following' | 'following-sibling' | 'self' NameTest ::= '*' | NCName ':' '*' | QName RestrictedFinalPredicate ::= '[' RestrictedFinalPredicateExpr ']' RestrictedFinalPredicateExpr ::= RestrictedPositionExpr | RestrictedNameTestExpr | RestrictedAttributeExpr NonFinalStep ::= AxisSpecifier NameTest RestrictedNonFinalPredicate* | '.' RestrictedNonFinalPredicate ::= '[' RestrictedNonFinalPredicateExpr ']' RestrictedNonFinalPredicateExpr ::= RestrictedPositionExpr | RestrictedNameTestExpr RestrictedPositionExpr ::= 'position()='? [1-9] [0-9]* RestrictedNameTestExpr ::= 'local-name()=' Literal ' and namespace-uri()=' Literal RestrictedAttributeExpr ::= AttributeAxisIdentifier NameTest '=' Literal AttributeAxisIdentifier ::= 'attribute::' | '@' Literal ::= '"' [^"]* '"' | "'" [^']* "'"