anchor.diff:      else if FNodes[i].ElementType in [xeWhiteSpace,xeCData] then
         n := MaxInt;
     if n > 1 then
  -    raise Exception.Create('No se puede setear el valor directamente porque hay mutiples nodos de datos');
  -  //
  -
  -  if Length(Value) > 0 then
  -  begin
  -    // value that will be set.
  -    Res := Value;
  +    raise Exception.Create('Can not set text value when there are several text subnodes');
  +
  +  // value that will be set.
  +  Res := sdTrim(Value);
  +  if Length(Res) > 0 then
  +  begin
   
       // add or update a value
       if FValueIndex < 0 then
  
positive.code:     // finally, free the single tag names list
      FreeAndNil(FSingleTagNames);
    end;
  end;
  
  function TNativeXml.ParseSubstituteContentFromNode(ANode: TXmlNode; const ASubstitute: Utf8String): TXmlNode;
  
negative.code:   i, n: integer;
  begin
  
    // check to see if there are text subnodes
    n := 0;
    for i := 0 to FNodes.Count-1 do
      if FNodes[i].ElementType = xeCharData then
  