anchor.diff:  
   function TXMLAttribute.Name: TXavierString;
   begin
  -  result := fNode.NodeName;
  +  result := fAttr.name;
   end;
   
   function TXMLAttribute.Text: TXavierString;
   begin
  -  result := fNode.NodeValue;
  +  result := fAttr.value;
   end;
   
   function TXMLAttribute.Text(const aText: TXavierString): IXMLAttribute;
   begin
     result := self;
  -  fNode.NodeValue := aText;
  -end;
  -
  +  fAttr.value := aText;
   end;
   
   { TXMLAttributes }
   
  -constructor TXMLAttributes.Create(aNode: IXMLDomNode);
  +constructor TXMLAttributes.Create(const aNode: IXMLDomNode);
   begin
     inherited Create;
     fNode := aNode;
  
positive.code:   private
      fNode: IXMLDomNode;
    public
      constructor Create(aNode: IXMLDomNode);
      function Ref: IXMLAttributes;
      function Add(const aName, aText: TXavierString): IXMLAttribute;
      function Item(aIndex: Integer): IXMLAttribute; overload;
  
negative.code: 
  { TXMLNode }
  
  constructor TXMLNode.Create(const aNode: IXMLDomNode);
  begin
    inherited Create;
    fNode := aNode;
  