Note: the DAISY Validator is an unchartered project with no formal requirements, the following list is just informative.
Core Framework
The DAISY Validator should be a highly modular, customizable and extensible application:
- a generic abstract validator API should be provided as a base for the implementation of new validators.
- it should be possible to wrap existing validation tools (such as ZedVal, EpubCheck) so that they can be integrated easily as native validator implementations.
- the core runtime framework should allow dynamic plugging of validation functionality
- each validator should be distributed as a cohesive software component
- validators should be easily extensible with additional custom validation functionality (such as a Schematron schema with organisation-specific checks)
Initial Validator Set
The DAISY Validator should at least provide the following components:
- A new validator for Daisy 2.02 DTBs
- eventually replacing the formal DAISY 2.02 validator
- supporting single volume DTBs and multiple volume DTBs
- improving performance vis-a-vis the classic validator
- improving messaging vis-a-vis the classic validator
- A new validator for DAISY 4 Authoring and Interchange (aka "ZedAI") documents
- supporting discovery of document types/versions (not relying only on a local catalog)
- A new validator for DAISY 4 Distribution Format (aka "ZedDist") books
- Wrappers/Adapters for:
User Interfaces
The DAISY Validator is developed for the heterogeneous DAISY community and should be a versatile component usable as:
- an embedded Java library exposing the runtime engine as a Java API
- a web service
- callable remotely or locally from a non-Java environment
- available as REST or SOAP/WS-*
- a light dedicated UI with validation-specific functionality
- error messages as active links to the file where the error occurs
- embedded editor or easy launch of an external editor
- easy revalidation
- an online web application
- à la W3C validator
- only supporting validation of single XML documents (no DTBs or filesets)
- a black box validation tool issuing validation reports in a standardized XML syntax (à la SVRL)