Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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)

Constructor Summary
`CheckingSchemaBuilder(SchemaBuilder sb, org.xml.sax.ErrorHandler eh)`
`CheckingSchemaBuilder(SchemaBuilder sb, org.xml.sax.ErrorHandler eh, org.relaxng.datatype.DatatypeLibraryFactory dlf)`

Method Summary
`ParsedPattern` | `expandPattern(ParsedPattern p)` Called after all the parsing is done.

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`

Constructor Detail

### 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)

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 interface `SchemaBuilder`
  Overrides:
    `expandPattern` in class `SchemaBuilderHost`
  Throws:
    `BuildException`
    `IllegalSchemaException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD