Class CheckingSchemaBuilder
- java.lang.Object
-
- org.kohsuke.rngom.rngparser.parse.host.Base
-
- org.kohsuke.rngom.rngparser.parse.host.SchemaBuilderHost
-
- org.kohsuke.rngom.rngparser.ast.util.CheckingSchemaBuilder
-
- All Implemented Interfaces:
SchemaBuilder
public class CheckingSchemaBuilder extends SchemaBuilderHost
Wraps aSchemaBuilder
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.
-
-
Constructor Summary
Constructors Constructor Description CheckingSchemaBuilder(SchemaBuilder sb, org.xml.sax.ErrorHandler eh)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ParsedPattern
expandPattern(ParsedPattern p)
Called after all the parsing is done.-
Methods inherited from class org.kohsuke.rngom.rngparser.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
-
-
-
-
Constructor Detail
-
CheckingSchemaBuilder
public CheckingSchemaBuilder(SchemaBuilder sb, org.xml.sax.ErrorHandler eh)
- Parameters:
sb
- YourSchemaBuilder
that parses RELAX NG schemas.eh
- All the errors found will be sent to this handler.
-
-
Method Detail
-
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 interfaceSchemaBuilder
- Overrides:
expandPattern
in classSchemaBuilderHost
- Throws:
BuildException
IllegalSchemaException
-
-