anchor.diff:    i, n: integer;
   begin
   
  -  // c_pradelli, no podemos setear el valor de esta manera cuando hay mas de un chardata o hay otro tipo de subnodos
  +  // check to see if there are text subnodes
     n := 0;
     for i := 0 to FNodes.Count-1 do
       if FNodes[i].ElementType = xeCharData then
  
positive.code:     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;
  
      // add or update a value
      if FValueIndex < 0 then
  
negative.code:         // give the parser the codepage from encoding in the declaration.
          // The .SetCodePage setter cares for the re-encoding of the chunk.
          DeclarationEncodingString := TsdDeclaration(Node).Encoding;
  
          DoDebugOut(Self, wsInfo, Format('declaration with encoding "%s" and codepage %d',
            [TsdDeclaration(Node).Encoding, Parser.CodePage]));
  