anchor.diff:        result := result + ''''+tokens[0]+'''';
       result := result + ']';
     end;
  -
  -end;
  +end;
  +
  +type
  +  TExpressionSyntaxMode = (esmNormal, esmForLoop, esmIfStmt);
  +
   function TMXmlParser.readXpathExpression(node: TXPathExpressionNode; endTokens : Array of String; alreadyRead : String = '') : String;
   var
     p, f : TXPathExpressionNode;
     done, readNext : boolean;
     s : String;
  -begin
  +  mode : TExpressionSyntaxMode;
  +begin
  +  mode := esmNormal;
     readNext := true;
     if alreadyRead = '' then
       s := readXPathToken(true)
  
positive.code:     node.Value := s
    else if (s = '@') then
      node.Value := '@'+readXPathToken(false)
    else if (s = '''') then
    begin
      node.NodeType := xentConstant;
  
negative.code:     property Group : TXPathExpressionNode read FGroup write SetGroup;
      property Params : TAdvList<TXPathExpressionNode> read GetParams;
      property value : String read FValue write FValue;
   end;
  
    TMXmlElementType = (ntElement, ntText, ntComment, ntDocument, ntAttribute, ntProcessingInstruction, ntDocumentDeclaration, ntCData);
  
  