/* Generated By:JJTree: Do not edit this line. D:/projects/xml-xalan-xslt20/xpath_rwapi/src2/org/apache/xpath/impl/parser\XPathVisitor.java */

package org.apache.xpath.impl.parser;

public interface XPathVisitor
{
  public Object visit(SimpleNode node, Object data);
}
