package org.relaxng.datatype; | |
/** | |
* An interface that must be implemented by caller to | |
* provide context information that is necessary to | |
* perform validation of some Datatypes. | |
* | |
* @author <a href="mailto:jjc@jclark.com">James Clark</a> | |
* @author <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a> | |
*/ | |
public interface ValidationContext { | |
/** | |
* Resolves a namespace prefix to the corresponding namespace URI. | |
* | |
* This method is used for validating the QName type, for example. | |
* | |
* <p> | |
* If the prefix is "" (empty string), it indicates | |
* an unprefixed value. The callee | |
* should resolve it as for an unprefixed | |
* element, rather than for an unprefixed attribute. | |
* | |
* <p> | |
* If the prefix is "xml", then the callee must resolve | |
* this prefix into "http://www.w3.org/XML/1998/namespace", | |
* as defined in the XML Namespaces Recommendation. | |
* | |
* @return | |
* namespace URI of this prefix. | |
* If the specified prefix is not declared, | |
* the implementation must return null. | |
*/ | |
String resolveNamespacePrefix( String prefix ); | |
/** | |
* Returns the base URI of the context. The null string may be returned | |
* if no base URI is known. | |
*/ | |
String getBaseUri(); | |
/** | |
* Checks if an unparsed entity is declared with the | |
* specified name. | |
* | |
* @return | |
* true | |
* if the DTD has an unparsed entity declaration for | |
* the specified name. | |
* false | |
* otherwise. | |
*/ | |
boolean isUnparsedEntity( String entityName ); | |
/** | |
* Checks if a notation is declared with the | |
* specified name. | |
* | |
* @return | |
* true | |
* if the DTD has a notation declaration for the specified name. | |
* false | |
* otherwise. | |
*/ | |
boolean isNotation( String notationName ); | |
} |