また、中国における猿まわし発祥の地としても知られている。中国で最も多くの猿まわし師が住む地域でもある。
ピーポ君
データモデル.
ロケーションパス.
ロケーションステップ.
省略構文.
省略構文は簡潔な構文であり、よく使われる多くの既定値を使い省略してロケーションステップを記述することができる。
省略構文による簡単なロケーションパスの記述例を示す。
省略構文では、先の例より複雑な式を記述することもできる。ただし完全な構文と比べると記述能力は制限される。
少し複雑なロケーションパスの例を示す。
省略構文の一覧と正式な定義については後の#完全な構文と省略構文の対応関係の節で示す。
完全な構文.
完全な構文の一般式は以下の形となる。
このように完全な構文で記述されたロケーションパスの各ロケーションステップにおいては、
軸.
例を示す。
ノードテスト.
ロケーションステップのノードテストは、式もしくは特定のノード名によって記述される。
ノードテストの書式を示す。
完全な構文と省略構文の対応関係.
ロケーションステップの完全な構文と省略構文の対応関係を次に示す。
述語.
ロケーションステップでは、ノードテストの後に、角括弧でくくる述語で複雑な式を記述して、ノードテストで指定されたノード集合を絞り込むことができる。
ノード集合を絞り込む必要が無い場合は、述語は記述しない。
簡単な例を示す。
すなわち、絞り込み条件を複数重ねて指定することができる。
指定できる述語の数に制限は無い。
述語は、その述語を含むロケーションステップのコンテクストを変更することは無い。
その直前のノードテストで指定されたノード集合がそのロケーションステップのコンテクストであり、述語が指定されることでコンテクストが変更されることは無い。
複雑な例を示す。
データ型と演算子、関数.
関数.
データ型を変換する関数.
比較的よく使われる関数については、次の節以降で少し詳しく述べる。
文字列 (string) にはUnicodeの文字を含めることができる。
述語で演算子を使う例を示す。
例.
そのうち特に重要な変更は、多様なデータ型を扱えるようになったことである。
あらゆる値は、シーケンスとして扱われる。
一つの文字列値やノードは、シーケンスに含まれる要素の一つと位置づけられる。
実装.
Java.