org.kohsuke.rngom.ast.util
Class CheckingSchemaBuilder
java.lang.Object
org.kohsuke.rngom.parse.host.Base
org.kohsuke.rngom.parse.host.SchemaBuilderHost
org.kohsuke.rngom.ast.util.CheckingSchemaBuilder
- All Implemented Interfaces:
- SchemaBuilder
public class CheckingSchemaBuilder
- extends SchemaBuilderHost
Wraps a SchemaBuilder
and does all the semantic checks
required by the RELAX NG spec.
Usage
Whereas you normally write it as follows:
YourParsedPattern r = (YourParsedPattern)parseable.parse(sb);
write this as follows:
YourParsedPattern r = (YourParsedPattern)parseable.parse(new CheckingSchemaBuilder(sb,eh));
The checking is done by using the rngom.binary package, so if you are using
that package for parsing schemas, then there's no need to use this.
- Author:
- Kohsuke Kawaguchi (kk@kohsuke.org)
Methods inherited from class org.kohsuke.rngom.parse.host.SchemaBuilderHost |
annotate, annotateAfter, commentAfter, getNameClassBuilder, makeAnnotations, makeAttribute, makeChoice, makeCommentList, makeDataPatternBuilder, makeElement, makeElementAnnotationBuilder, makeEmpty, makeErrorPattern, makeExternalRef, makeGrammar, makeGroup, makeInterleave, makeList, makeLocation, makeMixed, makeNotAllowed, makeOneOrMore, makeOptional, makeText, makeValue, makeZeroOrMore, usesComments |
Methods inherited from class org.kohsuke.rngom.parse.host.Base |
cast, cast |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CheckingSchemaBuilder
public CheckingSchemaBuilder(SchemaBuilder sb,
org.xml.sax.ErrorHandler eh)
- Parameters:
sb
- Your SchemaBuilder
that parses RELAX NG schemas.eh
- All the errors found will be sent to this handler.
CheckingSchemaBuilder
public CheckingSchemaBuilder(SchemaBuilder sb,
org.xml.sax.ErrorHandler eh,
org.relaxng.datatype.DatatypeLibraryFactory dlf)
expandPattern
public ParsedPattern expandPattern(ParsedPattern p)
throws BuildException,
IllegalSchemaException
- Description copied from interface:
SchemaBuilder
- Called after all the parsing is done.
This hook typically allows as SchemaBuilder
to expand
notAllowed (if it's following the simplification as in the spec.)
- Specified by:
expandPattern
in interface SchemaBuilder
- Overrides:
expandPattern
in class SchemaBuilderHost
- Throws:
BuildException
IllegalSchemaException