interface Test : Node {
 attribute Element    element;
 attribute long       type;
 readonly attribute boolean    hasChildren;
 attribute wstring    name;

 Element getChild(in Node foo, in long index);
 long    createChildren(in wstring ids, in boolean new);
 boolean isNew();
 wstring rename(in wstring newName);
 wstring setTimeout(in wstring expr /* ... */);
};

interface Test2 {
 readonly attribute Node me;
 attribute boolean foo;

 Document getMyDocument(/* ... */);
};
