/*
* @(#)$Id: DOMVisitor.java,v 1.1 2001/08/02 17:31:33 Bear Exp $
*
* Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the proprietary information of Sun Microsystems, Inc.
* Use is subject to license terms.
*
*/
package com.sun.msv.util.xml;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
/**
* visits all DOM elements in the depth-first order (in-order).
*
* @author
* <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
*/
public abstract class DOMVisitor
{
public void visit( Document dom ) {
visit( dom.getDocumentElement() );
}
public void visit( Element e ) {
NodeList lst = e.getChildNodes();
int len = lst.getLength();
for( int i=0; i<lst.getLength(); i++ ) {
Node n = lst.item(i);
if( n.getNodeType() == n.ELEMENT_NODE )
visit( (Element)n );
else
visitNode( n );
}
}
/**
* other nodes.
*/
public void visitNode( Node n ) {}
}