Package com.sun.msv.verifier.identity
Class IDConstraintChecker
- java.lang.Object
-
- com.sun.msv.verifier.AbstractVerifier
-
- com.sun.msv.verifier.Verifier
-
- com.sun.msv.verifier.identity.IDConstraintChecker
-
- All Implemented Interfaces:
IDContextProvider2,IVerifier,org.iso_relax.verifier.VerifierHandler,org.relaxng.datatype.ValidationContext,ContentHandler,DTDHandler
public class IDConstraintChecker extends Verifier
Verifier with XML Schema-related enforcement.This class can be used in the same way as
Verifier. This class also checks XML Schema's identity constraint.- Author:
- Kohsuke KAWAGUCHI
-
-
Field Summary
Fields Modifier and Type Field Description static StringERR_DOUBLE_MATCHstatic StringERR_NOT_UNIQUEstatic StringERR_NOT_UNIQUE_DIAGstatic StringERR_UNDEFINED_KEYstatic StringERR_UNMATCHED_KEY_FIELDprotected XMLSchemaGrammargrammarthe grammar object against which we are validating.protected Vectormatchersactive mathcers.-
Fields inherited from class com.sun.msv.verifier.Verifier
current, docDecl, ERR_DUPLICATE_ID, ERR_MISSING_ATTRIBUTE, ERR_UNCOMPLETED_CONTENT, ERR_UNEXPECTED_ATTRIBUTE, ERR_UNEXPECTED_ELEMENT, ERR_UNEXPECTED_STARTTAG, ERR_UNEXPECTED_TEXT, ERR_UNSOLD_IDREF, errorHandler, hadError, panicLevel
-
Fields inherited from class com.sun.msv.verifier.AbstractVerifier
dummyLocator, idrefs, ids, locator, namespaceSupport, performIDcheck
-
-
Constructor Summary
Constructors Constructor Description IDConstraintChecker(XMLSchemaGrammar grammar, ErrorHandler errorHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidadd(Matcher matcher)protected booleanaddKeyValue(SelectorMatcher scope, com.sun.msv.verifier.identity.KeyValue value)adds a new KeyValue to the value set.voidcharacters(char[] buf, int start, int len)voidendDocument()voidendElement(String namespaceUri, String localName, String qName)protected org.relaxng.datatype.Datatype[]feedAttribute(Acceptor child, String uri, String localName, String qName, String value)protected SelectorMatchergetActiveScope(IdentityConstraint c)protected com.sun.msv.verifier.identity.KeyValue[]getKeyValues(SelectorMatcher scope)gets the allKeyValues that were added within the specified scope.static StringlocalizeMessage(String propertyName, Object arg)static StringlocalizeMessage(String propertyName, Object[] args)protected voidonNextAcceptorReady(StartTagInfo sti, Acceptor next)this method is called from the startElement method after the tag name is processed and the child acceptor is created.protected voidpopActiveScope(IdentityConstraint c, SelectorMatcher matcher)protected voidpushActiveScope(IdentityConstraint c, SelectorMatcher matcher)protected voidremove(Matcher matcher)protected voidreportError(ErrorInfo ei, String propKey, Object[] args)reports an error.protected voidreportError(Locator loc, ErrorInfo ei, String propKey, Object[] args)voidstartDocument()-
Methods inherited from class com.sun.msv.verifier.Verifier
getCurrentElementType, getErrorHandler, getLastCharacterType, ignorableWhitespace, init, isValid, onDuplicateId, onError, onError, setErrorHandler, setPanicMode, startElement, verifyText
-
Methods inherited from class com.sun.msv.verifier.AbstractVerifier
endPrefixMapping, getBaseUri, getLocator, isNotation, isUnparsedEntity, notationDecl, onID, processingInstruction, resolveNamespacePrefix, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.xml.sax.ContentHandler
endPrefixMapping, processingInstruction, setDocumentLocator, skippedEntity, startPrefixMapping
-
Methods inherited from interface com.sun.msv.verifier.IVerifier
getLocator
-
-
-
-
Field Detail
-
grammar
protected final XMLSchemaGrammar grammar
the grammar object against which we are validating.
-
matchers
protected final Vector matchers
active mathcers.
-
ERR_UNMATCHED_KEY_FIELD
public static final String ERR_UNMATCHED_KEY_FIELD
- See Also:
- Constant Field Values
-
ERR_NOT_UNIQUE
public static final String ERR_NOT_UNIQUE
- See Also:
- Constant Field Values
-
ERR_NOT_UNIQUE_DIAG
public static final String ERR_NOT_UNIQUE_DIAG
- See Also:
- Constant Field Values
-
ERR_DOUBLE_MATCH
public static final String ERR_DOUBLE_MATCH
- See Also:
- Constant Field Values
-
ERR_UNDEFINED_KEY
public static final String ERR_UNDEFINED_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IDConstraintChecker
public IDConstraintChecker(XMLSchemaGrammar grammar, ErrorHandler errorHandler)
-
-
Method Detail
-
add
protected void add(Matcher matcher)
-
remove
protected void remove(Matcher matcher)
-
getActiveScope
protected SelectorMatcher getActiveScope(IdentityConstraint c)
-
pushActiveScope
protected void pushActiveScope(IdentityConstraint c, SelectorMatcher matcher)
-
popActiveScope
protected void popActiveScope(IdentityConstraint c, SelectorMatcher matcher)
-
addKeyValue
protected boolean addKeyValue(SelectorMatcher scope, com.sun.msv.verifier.identity.KeyValue value)
adds a new KeyValue to the value set.- Returns:
- true if this is a new value.
-
getKeyValues
protected com.sun.msv.verifier.identity.KeyValue[] getKeyValues(SelectorMatcher scope)
gets the allKeyValues that were added within the specified scope.
-
startDocument
public void startDocument() throws SAXException- Specified by:
startDocumentin interfaceContentHandler- Overrides:
startDocumentin classVerifier- Throws:
SAXException
-
endDocument
public void endDocument() throws SAXException- Specified by:
endDocumentin interfaceContentHandler- Overrides:
endDocumentin classVerifier- Throws:
SAXException
-
onNextAcceptorReady
protected void onNextAcceptorReady(StartTagInfo sti, Acceptor next) throws SAXException
Description copied from class:Verifierthis method is called from the startElement method after the tag name is processed and the child acceptor is created.This method is called before the attributes are consumed.
derived class can use this method to do something useful.
- Overrides:
onNextAcceptorReadyin classVerifier- Throws:
SAXException
-
feedAttribute
protected org.relaxng.datatype.Datatype[] feedAttribute(Acceptor child, String uri, String localName, String qName, String value) throws SAXException
- Overrides:
feedAttributein classVerifier- Throws:
SAXException
-
characters
public void characters(char[] buf, int start, int len) throws SAXException- Specified by:
charactersin interfaceContentHandler- Overrides:
charactersin classVerifier- Throws:
SAXException
-
endElement
public void endElement(String namespaceUri, String localName, String qName) throws SAXException
- Specified by:
endElementin interfaceContentHandler- Overrides:
endElementin classVerifier- Throws:
SAXException
-
reportError
protected void reportError(ErrorInfo ei, String propKey, Object[] args) throws SAXException
reports an error.- Throws:
SAXException
-
reportError
protected void reportError(Locator loc, ErrorInfo ei, String propKey, Object[] args) throws SAXException
- Throws:
SAXException
-
-