interface Path {
readonly attribute Value content;
readonly attribute Document document;
readonly attribute NodalPath parent;
readonly attribute Path previousPath;
readonly attribute Path nextPath;
RelativePath difference (in Path path);
};
interface RelativePath : Path {
};
interface NodePath : Path {
readonly attribute Path firstChild;
readonly attribute Path lastChild;
readonly attribute integer length;
Path item (in integer index);
Editor edit ();
};
interface NodePath : Path {
Path property (in Name name);
};
interface SequencePath : Path {
};
interface MapPath : Path {
Path value (in Value name);
};