[1] [[XPath 1.0]] の構文は次のように[[字句]]の組み合わせとして表せます。 [FIG[ - [25] [[式]]は、[[演算子]]を[[区切子]]とする1個以上の[[単項式]] - [24] [[単項式]]は、0個以上の [CODE[[[-]]]]、[[論理和式]] - [23] [[論理和式]]は、[CODE[[[|]]]] を[[区切子]]とする1個以上の[[パス式]] - [10] [[一次式]]は、次のいずれか -- [[変数参照]] -- [CODE[[[(]]]]、[[式]]、[CODE[[[)]]]] -- [[リテラル]] -- [[数]] -- [[関数呼び出し]] - [22] [[パス式]]は、[[所在地パス]]か、[[所在地パス]]の1つ目が[[ステップ]]のかわりに[[フィルター式]]であるもの - [7] [[所在地パス]]は、[CODE[[[/]]]]、[CODE[[[//]]]]、[[ステップ]]の1個以上の組み合わせ、ただし -- [CODE[[[/]]]] と [CODE[[[//]]]] の両者が連続してはいけない -- [CODE[[[/]]]] 同士や [CODE[[[//]]]] 同士が連続してはいけない -- [CODE[[[/]]]] や [CODE[[[//]]]] が末尾ではいけない --- ただし [CODE[[[/]]]] だけや [CODE[[[//]]]] だけなら良い -- [[ステップ]]同士が連続してはいけない - [2] [[ステップ]]は、次のいずれか -- [[軸指定子]]、[[節点テスト]]、0個以上の[[述語]] -- [CODE[[[.]]]] -- [CODE[[[..]]]] - [6] [[軸指定子]]は、次のいずれか -- [[軸名]]、[CODE[[[::]]]] -- [CODE[[[@]]]] - [8] [[節点テスト]]は、次のいずれか -- [[名前テスト]] -- [[節点型]]、[CODE[[[(]]]]、[CODE[[[)]]]] -- [CODE[[[processing-instruction]]]]、[CODE[[[(]]]]、[[リテラル]]、[CODE[[[)]]]] - [9] [[述語]]は、[CODE[[['''[''']]]]、[[式]]、[CODE[[[''']''']]]] - [21] [[フィルター式]]は、[[一次式]]、0個以上の[[述語]] - [11] [[関数呼び出し]]は、[[関数名]]、[CODE[[[(]]]]、引数並び、[CODE[[[)]]]] - [12] 引数並びは、 [CODE[[[,]]]] を[[区切子]]とする0個以上の[[式]] ]FIG]