[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]
