Source for org.relaxng.datatype.ValidationContext

   1: package org.relaxng.datatype;
   2: 
   3: /**
   4:  * An interface that must be implemented by caller to
   5:  * provide context information that is necessary to 
   6:  * perform validation of some Datatypes.
   7:  * 
   8:  * @author <a href="mailto:jjc@jclark.com">James Clark</a>
   9:  * @author <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
  10:  */
  11: public interface ValidationContext {
  12:     
  13:     /**
  14:      * Resolves a namespace prefix to the corresponding namespace URI.
  15:      * 
  16:      * This method is used for validating the QName type, for example.
  17:      *
  18:      * <p>
  19:      * If the prefix is "" (empty string), it indicates
  20:      * an unprefixed value. The callee
  21:      * should resolve it as for an unprefixed
  22:      * element, rather than for an unprefixed attribute.
  23:      * 
  24:      * <p>
  25:      * If the prefix is "xml", then the callee must resolve
  26:      * this prefix into "http://www.w3.org/XML/1998/namespace",
  27:      * as defined in the XML Namespaces Recommendation.
  28:      * 
  29:      * @return
  30:      *        namespace URI of this prefix.
  31:      *        If the specified prefix is not declared,
  32:      *        the implementation must return null.
  33:      */
  34:     String resolveNamespacePrefix( String prefix );
  35: 
  36:     /**
  37:      * Returns the base URI of the context.  The null string may be returned
  38:      * if no base URI is known.
  39:      */
  40:     String getBaseUri();
  41: 
  42:     /**
  43:      * Checks if an unparsed entity is declared with the
  44:      * specified name.
  45:      * 
  46:      * @return
  47:      *  true
  48:      *        if the DTD has an unparsed entity declaration for
  49:      *        the specified name.
  50:      *  false
  51:      *        otherwise.
  52:      */
  53:     boolean isUnparsedEntity( String entityName );
  54: 
  55:     /**
  56:      * Checks if a notation is declared with the
  57:      * specified name.
  58:      * 
  59:      * @return
  60:      *  true
  61:      *        if the DTD has a notation declaration for the specified name.
  62:      *  false
  63:      *        otherwise.
  64:      */
  65:     boolean isNotation( String notationName );
  66: }