anchor.diff:  end;
   
   function TXMLChilds.Item(const aName: TXavierString): IXMLNode;
  -begin
  -  // todo
  +var
  +  n: IXMLDOMNode;
  +begin
  +  n := fNode.selectSingleNode(aName);
  +  if not assigned(n) then
  +    raise EXMLError.CreateFmt('Node "%s" not found.', [aName]);
  +  result := TXMLNode.Create(n);
   end;
   
   function TXMLChilds.Count: Integer;
  
positive.code: uses
    Classes, 
    SysUtils,
    xmlDoc, 
    xmlIntf,
    xmlDom,
    SynCommons,
    JamesDataBase,
    JamesDataCore,
    XavierBase,
    XavierCore,
    XavierAdapters;
  
negative.code: end;
  
  function TXMLPack.Nodes(const XPath: TXavierString): IXMLNodes;
  var
    i: Integer;
    l: IInterfaceList;
    nodes: IXMLDomNodeList;
  begin
    l := TInterfaceList.Create;
    nodes := fDocument.selectNodes(XPath);
    for i := 0 to nodes.length -1 do
      l.Add(TXMLNode.Create(nodes.item[i]));
    result := TXMLNodes.Create(l);
  end;
  
  function TXMLPack.Node(const XPath: TXavierString): IXMLNode;
  