com.sun.msv.verifier.identity
Class SelectorMatcher

java.lang.Object
  extended by com.sun.msv.verifier.identity.Matcher
      extended by com.sun.msv.verifier.identity.PathMatcher
          extended by com.sun.msv.verifier.identity.SelectorMatcher

public class SelectorMatcher
extends PathMatcher

XPath matcher that tests the selector of an identity constraint. This object is created whenever an element with identity constraints is found. XML Schema guarantees that we can see if an element has id constraints at the startElement method. This mathcer then monitor startElement/endElement and find matches to the specified XPath. Every time it finds a match ("target node" in XML Schema terminology), it creates a FieldsMatcher.

Author:
Kohsuke KAWAGUCHI

Field Summary
protected  Matcher[] children
          child matchers.
protected  IdentityConstraint idConst
           
 
Fields inherited from class com.sun.msv.verifier.identity.Matcher
owner
 
Method Summary
protected  void characters(char[] buf, int start, int len)
           
protected  void endElement(org.relaxng.datatype.Datatype type)
           
protected  int getDepth()
           
protected  void onAttributeMatched(String namespaceURI, String localName, String value, org.relaxng.datatype.Datatype type)
          this method is called when the attribute matches the XPath.
protected  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.
 
Methods inherited from class com.sun.msv.verifier.identity.PathMatcher
onAttribute, start, startElement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

idConst

protected IdentityConstraint idConst

children

protected Matcher[] children
child matchers.

Method Detail

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

onElementMatched

protected void onElementMatched(String namespaceURI,
                                String localName)
                         throws SAXException
Description copied from class: PathMatcher
this method is called when the element matches the XPath.

Specified by:
onElementMatched in class PathMatcher
Throws:
SAXException

onAttributeMatched

protected void onAttributeMatched(String namespaceURI,
                                  String localName,
                                  String value,
                                  org.relaxng.datatype.Datatype type)
Description copied from class: PathMatcher
this method is called when the attribute matches the XPath.

Specified by:
onAttributeMatched in class PathMatcher

getDepth

protected final int getDepth()

endElement

protected void endElement(org.relaxng.datatype.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


MSV