anchor.diff:  implementation
   
   uses
  -  mXML_oxml;
  +  mXML_oxml, mUtility;
   
   var
     InternalFactory : TImpl_Factory;
  
positive.code: 
  interface
  
  uses
    Classes, SysUtils,
    mNullables;
  
  type
  
negative.code: begin
    Result := StrToBool(Self.GetAttribute(Name, BoolToStr(DefaultValue, true)));
  end;
  
  {$IFDEF GRAPHICS_AVAILABLE}
  procedure TmXmlElement.SetColorAttribute(const aName: TmXmlString; const aValue: TColor);
  begin
    Self.SetAttribute(aName, ColorToString(aValue));
  end;
  {$ENDIF}
  
  {$IFDEF GRAPHICS_AVAILABLE}
  procedure TmXmlElement.SetColorAttribute(const aName: TmXmlString; const aValue: TNullableColor);
  begin
    if aValue.NotNull  then
      Self.SetColorAttribute(aName, aValue.Value)
    else
      Self.DeleteAttribute(aName);
  end;
  {$ENDIF}
  
  {$IFDEF GRAPHICS_AVAILABLE}
  function TmXmlElement.GetColorAttribute(const aName: TmXmlString): TColor;
  begin
    Result := GetColorAttribute(aName, clNone);
  end;
  {$ENDIF}
  
  {$IFDEF GRAPHICS_AVAILABLE}
  function TmXmlElement.GetColorAttribute(const aName: TmXmlString; const aDefaultValue: TColor): TColor;
  var
    str: String;
    tmpColor: TColor;
  begin
    str:= GetAttribute(aName);
    if TryToUndestandColorString(str, tmpColor) then
      Result := tmpColor
    else
      Result := aDefaultValue;
  end;
  {$ENDIF}
  
  {$IFDEF GRAPHICS_AVAILABLE}
  procedure TmXmlElement.GetColorAttribute(const aName: TmXmlString; aValue: TNullableColor);
  begin
    if Self.HasAttribute(aName) then
      aValue.Value:= Self.GetColorAttribute(aName)
    else
      aValue.IsNull:= true;
  end;
  {$ENDIF}
  
  procedure TmXmlElement.SetValue(const aValue: TmXMLString);
  begin
  