anchor.diff:    inherited;
   end;
   
  -function TmXmlElement.GetAttribute(Name: TmXmlString; DefaultValue: TmXmlString
  -  ): TmXmlString;
  -begin
  -  Result := FImpl._GetAttribute(Name, DefaultValue);
  -end;
  -
  -function TmXmlElement.GetDateTimeAttribute(Name: TmXmlString): TDateTime;
  -begin
  -  Result := FImpl._GetDateTimeAttribute(Name);
  -end;
  -
  -function TmXmlElement.GetDateTimeAttribute(Name: TmXmlString; DefaultValue: TDateTime): TDateTime;
  -begin
  -  Result := FImpl._GetDateTimeAttribute(Name, DefaultValue);
  -end;
  -
  -procedure TmXmlElement.SetFloatAttribute(Name: TmXmlString; Value: Double);
  -begin
  -  FImpl._SetFloatAttribute(Name, Value);
  -end;
  -
  -function TmXmlElement.GetFloatAttribute(Name: TmXmlString): Double;
  -begin
  -  Result := FImpl._GetFloatAttribute(Name);
  -end;
  -
  -function TmXmlElement.GetFloatAttribute(Name: TmXmlString; DefaultValue: Double): Double;
  -begin
  -  Result := FImpl._GetFloatAttribute(Name, DefaultValue);
  -end;
  -
  -function TmXmlElement.GetIntegerAttribute(Name: TmXmlString): integer;
  -begin
  -  Result := FImpl._GetIntegerAttribute(Name);
  -end;
  -
  -function TmXmlElement.GetIntegerAttribute(Name: TmXmlString; DefaultValue: integer): integer;
  -begin
  -  Result := FImpl._GetIntegerAttribute(Name, DefaultValue)
  +function TmXmlElement.GetAttribute(const aName: TmXmlString; const aDefaultValue: TmXmlString): TmXmlString;
  +begin
  +  Result := FImpl._GetAttribute(aName, aDefaultValue);
  +end;
  +
  +procedure TmXmlElement.GetAttribute(const aName: TmXmlString; const aValue: TNullableString);
  +begin
  +  if Self.HasAttribute(aName) then
  +    aValue.Value:= Self.GetAttribute(aName)
  +  else
  +    aValue.IsNull:= true;
  +end;
  +
  +function TmXmlElement.GetDateTimeAttribute(const aName: TmXmlString): TDateTime;
  +begin
  +  Result := FImpl._GetDateTimeAttribute(aName);
  +end;
  +
  +function TmXmlElement.GetDateTimeAttribute(const aName: TmXmlString; const aDefaultValue: TDateTime): TDateTime;
  +begin
  +  Result := FImpl._GetDateTimeAttribute(aName, aDefaultValue);
  +end;
  +
  +procedure TmXmlElement.GetDateTimeAttribute(const aName: TmXmlString; aValue: TNullableDateTime);
  +begin
  +  if Self.HasAttribute(aName) then
  +    aValue.Value:= Self.GetDateTimeAttribute(aName)
  +  else
  +    aValue.IsNull:= true;
  +end;
  +
  +procedure TmXmlElement.SetFloatAttribute(const aName: TmXmlString; const aValue: Double);
  +begin
  +  FImpl._SetFloatAttribute(aName, aValue);
  +end;
  +
  +procedure TmXmlElement.SetFloatAttribute(const aName: TmXmlString; const aValue: TNullableDouble);
  +begin
  +  if aValue.NotNull then
  +    Self.SetFloatAttribute(aName, aValue.Value);
  +end;
  +
  +function TmXmlElement.GetFloatAttribute(const aName: TmXmlString): Double;
  +begin
  +  Result := FImpl._GetFloatAttribute(aName);
  +end;
  +
  +function TmXmlElement.GetFloatAttribute(const aName: TmXmlString; const aDefaultValue: Double): Double;
  +begin
  +  Result := FImpl._GetFloatAttribute(aName, aDefaultValue);
  +end;
  +
  +procedure TmXmlElement.GetFloatAttribute(const aName: TmXmlString; aValue: TNullableDouble);
  +begin
  +  if Self.HasAttribute(aName) then
  +    aValue.Value := Self.GetFloatAttribute(aName)
  +  else
  +    aValue.IsNull:= true;
  +end;
  +
  +function TmXmlElement.GetIntegerAttribute(const aName: TmXmlString): integer;
  +begin
  +  Result := FImpl._GetIntegerAttribute(aName);
  +end;
  +
  +function TmXmlElement.GetIntegerAttribute(const aName: TmXmlString; const aDefaultValue: integer): integer;
  +begin
  +  Result := FImpl._GetIntegerAttribute(aName, aDefaultValue)
  +end;
  +
  +procedure TmXmlElement.GetIntegerAttribute(const aName: TmXmlString; aValue: TNullableInteger);
  +begin
  +  if Self.HasAttribute(aName) then
  +    aValue.Value:= Self.GetIntegerAttribute(aName)
  +  else
  +    aValue.IsNull:= true;
   end;
   
   procedure TmXmlElement.SetBooleanAttribute(Name: TmXmlString; Value: Boolean);
  
positive.code: end;
  
  
  procedure TmXmlElement.SetAttribute(Name, Value: TmXmlString);
  begin
    FImpl._SetAttribute(Name, Value)
  end;
  
  procedure TmXmlElement.SetDateTimeAttribute(Name: TmXmlString; Value: TDateTime);
  begin
    FImpl._SetDateTimeAttribute(Name, Value);
  end;
  
  procedure TmXmlElement.SetIntegerAttribute(Name: TmXmlString; Value: integer);
  begin
    FImpl._SetIntegerAttribute(Name, Value);
  end;
  
  { TmXmlDocument }
  
negative.code: interface
  
  uses
    Classes, SysUtils,
    mNullables;
  
  type
    TmXMLString = string;
  