com.sun.msv.verifier.identity
Class PathMatcher

java.lang.Object
  extended by com.sun.msv.verifier.identity.Matcher
      extended by com.sun.msv.verifier.identity.PathMatcher
Direct Known Subclasses:
FieldMatcher, SelectorMatcher

public abstract class PathMatcher
extends Matcher

Base implementation of XPath matching engine. It only supports the subset defined in XML Schema Part 1. Extra care must be taken to call the testInitialMatch method after the creation of an object. Match to an attribute is not supported. It is implemented in FieldPathMatcher class. The onMatched method is called when the specified XPath matches the current element. Derived classes should implement this method to do something useful.

Author:
Kohsuke KAWAGUCHI

Field Summary
protected  Matcher[] children
          child matchers.
 
Fields inherited from class com.sun.msv.verifier.identity.Matcher
owner
 
Constructor Summary
protected PathMatcher(IDConstraintChecker owner, XPath[] paths)
           
 
Method Summary
protected  void characters(char[] buf, int start, int len)
           
protected  void endElement(Datatype type)
           
protected  int getDepth()
           
protected  void onAttribute(String namespaceURI, String localName, String value, Datatype type)
           
protected abstract  void onAttributeMatched(String namespaceURI, String localName, String value, Datatype type)
          this method is called when the attribute matches the XPath.
protected abstract  void onElementMatched(String namespaceURI, String localName)
          this method is called when the element matches the XPath.
protected  void onRemoved()
          called when this bundle is deactivated.
protected  void start(String namespaceURI, String localName)
          this method should be called immediately after the installment of this PathMatcher.
protected  void startElement(String namespaceURI, String localName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

children

protected Matcher[] children
child matchers.

Constructor Detail

PathMatcher

protected PathMatcher(IDConstraintChecker owner,
                      XPath[] paths)
Method Detail

start

protected void start(String namespaceURI,
                     String localName)
              throws SAXException
this method should be called immediately after the installment of this PathMatcher.

Throws:
SAXException

onElementMatched

protected abstract void onElementMatched(String namespaceURI,
                                         String localName)
                                  throws SAXException
this method is called when the element matches the XPath.

Throws:
SAXException

onAttributeMatched

protected abstract void onAttributeMatched(String namespaceURI,
                                           String localName,
                                           String value,
                                           Datatype type)
                                    throws SAXException
this method is called when the attribute matches the XPath.

Throws:
SAXException

startElement

protected void startElement(String namespaceURI,
                            String localName)
                     throws SAXException
Throws:
SAXException

onAttribute

protected void onAttribute(String namespaceURI,
                           String localName,
                           String value,
                           Datatype type)
                    throws SAXException
Throws:
SAXException

getDepth

protected final int getDepth()

endElement

protected void endElement(Datatype type)
                   throws SAXException
Specified by:
endElement in class Matcher
Throws:
SAXException

characters

protected void characters(char[] buf,
                          int start,
                          int len)
                   throws SAXException
Overrides:
characters in class Matcher
Throws:
SAXException

onRemoved

protected void onRemoved()
                  throws SAXException
called when this bundle is deactivated. This method is called by the endElement method when this bundle is removed. A derived class can override this method to do whatever necessary.

Throws:
SAXException


MSV