/*
* @(#)$Id: Matcher.java,v 1.2 2001/08/08 00:01:20 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.verifier.identity;
import org.relaxng.datatype.Datatype;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
/**
* Base abstract implementation of XPath matcher.
*
* XPath mathcer tracks the startElement event and the endElement event.
* The characters event is also used by some derived classes.
*
* @author <a href="mailto:kohsuke.kawaguchi@eng.sun.com">Kohsuke KAWAGUCHI</a>
*/
public abstract class Matcher {
protected final IDConstraintChecker owner;
Matcher( IDConstraintChecker owner ) {
this.owner = owner;
}
protected abstract void startElement( String namespaceURI, String localName ) throws SAXException;
protected abstract void onAttribute( String namespaceURI, String localName, String value, Datatype type ) throws SAXException;
protected abstract void endElement( Datatype type ) throws SAXException;
protected void characters( char[] buf, int start, int len ) throws SAXException {
// do nothing by default.
}
}