XML query language extensions  XPath string functions: general guidelines

Chapter 2: XML Services

XPath general syntax

XML Services supports the following XPath syntax; the extensions are in bold. Adaptive Server version 12.5.2 extends the syntax for primary_expr and adds syntax for function_call.

xpath::= or_expr
or_expr::= and_expr | and_expr TOKEN_OR or_expr
and_expr::= union_expr | union_expr TOKEN_AND and_expr
union_expr::= intersect_expr
      | intersect_expr TOKEN_UNION union_expr
intersect_expr::= comparison_expr
      | comparison_expr TOKEN_INTERSECT intersect_expr
comparison_expr::= range_exp
      | range_expr general_comp comparisonRightHandSide
general_comp::= TOKEN_EQUAL  | TOKEN_NOTEQUAL
      | TOKEN_LESSTHAN  | TOKEN_LESSTHANEQUAL
      | TOKEN_GREATERTHAN  | TOKEN_GREATERTHANEQUAL
range_expr::= unary_expr  | unary_expr TOKEN_TO unary_expr
unary_expr::= TOKEN_MINUS path_expr
      | TOKEN_PLUS path_expr
      | path_expr
comparisonRightHandSide::=  literal
path_expr::= relativepath_expr  | TOKEN_SLASH
      | TOKEN_SLASH   relativepath_expr
      | TOKEN_DOUBLESLASH   relativepath_expr
relativepath_expr::= step_expr
      | step_expr TOKEN_SLASH relativepath_expr
      | step_expr TOKEN_DOUBLESLASH relativepath_expr
step_expr::= forward_step predicates
      | primary_expr predicates	
      | predicates
primary_expr::= literal | function_call | (xpath)
function_call::=
      tolower([xpath])
      | toupper([xpath])
      | normalize-space([xpath])
      | concat([xpath [,xpath]...])
forward_step::= abbreviated_forward_step
abbreviated_forward_step::= name_test
      | TOKEN_ATRATE name_test
      | TOKEN_PERIOD
name_test::= q_name  | wild_card | text test
text_test ::= TOKEN_TEXT TOKEN_LPAREN TOKEN_RPAREN
literal::= numeric_literal  | string_literal
wild_card::= TOKEN_ASTERISK
q_name::= TOKEN_ID
string_literal::= TOKEN_STRING 
numeric_literal::= TOKEN_INT  | TOKEN_FLOATVAL|
      | TOKEN_MINUS TOKEN_INT 
      | TOKEN_MINUSTOKEN_FLOATVAL
predicates::= 
      | TOKEN_LSQUARE expr TOKEN_RSQUARE predicates
      | TOKEN_LSQUARE expr TOKEN_RSQUARE 




Copyright © 2004. Sybase Inc. All rights reserved. XPath string functions: general guidelines

View this book as PDF