$Id: step0e.html 1.4 2000/02/29 12:00:45 murata Exp $
STEP 0 gives a brief overview of RELAX and shows how to read this tutorial.
RELAX is a specification for describing XML-based languages. XHTML 1.0, for example, can be described in RELAX. A description written in RELAX is called a RELAX grammar.
Compared with traditional DTD (Document Type Definition), RELAX has new features as below:
The RELAX processor verifies XML documents against RELAX grammars. The input to the RELAX processors is an XML document and a RELAX grammar. To be precise, the RELAX processor does not directly handle XML documents and RELAX grammars, but rather receives the output of the XML processor which handles them.
The RELAX processor reports if the XML document is legitimate against the RELAX grammar. It may also report some other messages. The RELAX processor has no other outputs.
RELAX consists of RELAX Core and RELAX Namespace. RELAX Core handles elements in a single namespace and their attributes. RELAX Core borrows datatypes from XML Schema Part 2. RELAX Namespace combines multiple modules so as to handle multiple namespaces. At present, this tutorial covers RELAX Core only.
This tutorial is intended to be very easy to understand. All STEPs except this one use plenty of examples and provide concrete explanations.
STEP 1 thru 9 is concerned with RELAX Core. Even if you stop at any step, you have reasonable understanding. You can start to use RELAX immediately after reading STEP 1. If you further finish STEP 6, you know all features which DTD has. All RELAX processors are required to support these features. STEP 7 thru 9 explain new features of RELAX. RELAX processors are not required to support these new features.
A little inaccuracy saves tons of explanation. STEP 1 and 2 are sometimes inaccurate. Accurate explanations are provided by STEP 7 and 8.
RELAX is so simple. If you are familiar with DTD, you can be fluent in RELAX almost immediately. Even if you are not, you can easily master RELAX. Enjoy and RELAX!