org.relaxng.datatype
Interface DatatypeBuilder

All Known Implementing Classes:
ParameterlessDatatypeBuilder

public interface DatatypeBuilder

Creates a user-defined type by adding parameters to the pre-defined type.

Author:
James Clark, Kohsuke KAWAGUCHI

Method Summary
 void addParameter(java.lang.String name, java.lang.String strValue, ValidationContext context)
          Adds a new parameter.
 Datatype createDatatype()
          Derives a new Datatype from a Datatype by parameters that were already set through the addParameter method.
 

Method Detail

addParameter

public void addParameter(java.lang.String name,
                         java.lang.String strValue,
                         ValidationContext context)
                  throws DatatypeException
Adds a new parameter.

Parameters:
name - The name of the parameter to be added.
strValue - The raw value of the parameter. Caller may not normalize this value because any white space is potentially significant.
context - The context information which can be used by the callee to acquire additional information. This context object is valid only during this method call. The callee may not keep a reference to this object.
Throws:
DatatypeException - When the given parameter is inappropriate for some reason. The callee is responsible to recover from this error. That is, the object should behave as if no such error was occured.

createDatatype

public Datatype createDatatype()
                        throws DatatypeException
Derives a new Datatype from a Datatype by parameters that were already set through the addParameter method.

Throws:
DatatypeException - DatatypeException must be thrown if the derivation is somehow invalid. For example, a required parameter is missing, etc. The exception should contain a diagnosis message if possible.