IDPF/epubcheck — pull request #423 by rdeltour (2014-08-26 07:41:33+00:00)
Title: Support custom schema-based checks for specific publication types

This PR implements a mechanism to:
* identify top-level publication types (i.e. `dc:type` in OPF) early-on
* be able to access publication types from `OPFData`, and also from content checkers
* allow checkers to validate against a list of schema, which can be initialized based on the publication type

Details of changes are listed in commit messages, but essentially:
* `OPFData` is now an immutable data object, parsed in a new `OPFPeeker` (replacing `VersionRetriever`)
* `OPFData` and `OCFData` are memoized and can be now be queried multiple times without extra parsing
* The set of publication types (`Set`) is now passed to content checkers via the `ContentCheckerFactory` factory interface.
* When initializing `XMLValidators` in their init method, content checkers can create any number of validators, e.g. based on the publication type