Tree [r2] /
History



File Date Author Commit
WEB-INF 2009-11-30 petr_nalevka [r1]
ant 2009-11-30 petr_nalevka [r2]
build 2009-11-30 petr_nalevka [r2]
classes 2009-11-30 petr_nalevka [r2]
conf 2009-11-30 petr_nalevka [r1]
devlib 2009-11-30 petr_nalevka [r1]
lib 2009-11-30 petr_nalevka [r1]
release 2009-11-30 petr_nalevka [r2]
schema 2009-11-30 petr_nalevka [r1]
src 2009-11-30 petr_nalevka [r1]
web 2009-11-30 petr_nalevka [r1]
INSTALL 2009-11-30 petr_nalevka [r1]
LICENSE 2009-11-30 petr_nalevka [r1]
README 2009-11-30 petr_nalevka [r1]

Read Me

README - Relaxed the HTML validator
===================================

"Relaxed" is an HTML validation application (including
web-based and command-line interface) as well as a
XHTML 1.0 / HTML 4.01 and WCAG 1.0 schema definition
written in Relax NG with embedded Schematron patterns.
This is an extremely expressive combination of languages
which overcomes most of the limits of the commonly used
DTD-based validation. Many restrictions which cannot be
expressed with DTD are defined just verbally in the text
of the HTML standards. Thanks to "Relaxed" most of those
restrictions are expressed and can be automatically
validated. This may help authors of HTML documents
adhere better to commonly recognized standards and
thereby improve the accessibility of those documents
and the usability of web technology in general.

The application is written in Java (1.4 SDK) and the
web-based interface was tested on tomcat 5.0.14. JARV
interface with Sun MSV validator is used to allow language
independent validation but is currently used to validate
Relax NG definitions. Saxon is used to extract embedded
Schematron and validate HTML documents using it. Tagsoupe
library is used to convert HTML 4.01 documents into XML so
that those documents (still very common on WWW) may be
validated as well. Apache ANT is used for building,
installation, deployment, testing and validation.

The application has a modular architecture with an easy
to use API. Most of eventual application extensions may
be done just by changing configuration files without
the need of code changes. The HTML schemas stem from
the work of James Clark called "Modularization of XHTML
in Relax NG". After a deep analysis of the mentioned W3C
standards this schema was bug-fixed and extended with as
many additional restrictions as possible. Those are
formalized using Relax NG or Schematron (always the best
suitable is used). The schema was adjusted to allow
validation of strict, transitional and frameset HTML
subsets. Finally some of the WCAG 1.0 restrictions were
implemented using Schematron. There is a test-case library
testing all the newly added definitions. This allows keeping
the definition consistent and minimize bug occurrence during
development.

Currently the application is stable and running (you may try
to test it at here). There are many possibilities and
opportunities for extensions. It's just a short step to fully
suppor t modularization of XHTML and XML Basic standards. It
would be nice to support ISO-HTML validation where the use of
Relax NG and Schematron may significantly simplify the publication
process. The project is registered and managed at SourceForge.
The aim of making this project open source is to give all the
work I have done on this for several months to the community
so that people can use the tool freely, extend it in various
ways according to there needs and come with new valuable ideas.

Implemented features:
    * Web-based validation interface
    * Command-line validation interface
    * HTML definition development and testing environment
    * Validated standard may be dynamically chosen during validation
    * Validation output includes line number, severity and error description
    * Complete Relax NG schema with Schematron patterns for HTML 4.01/XHTML 1.0 and WCAG 1.0