Information technology - Document description and processing languages - Regular Language Description for XML (RELAX) - Part 1: RELAX Core (Technical Report)
This Technical Report gives mechanisms for formally specifying the syntax of XML-based languages. For example@ the syntax of XHTML 1.0 can be specified in RELAX. Compared with DTDs@ RELAX provides the following advantages: - Specification in RELAX uses XML instance (i.e.@ document) syntax@ - RELAX provides rich datatypes@ and - RELAX is namespace-aware The RELAX specification consists of two parts@ RELAX Core and RELAX Namespace. This part of the Technical Report gives RELAX Core@ which may be used to describe markup languages containing a single XML namespace. Part 2 of this Technical Report gives RELAX Namespace@ which may be used to describe markup languages containing more than a single XML namespace@ consisting of more than one RELAX Core document. Given a sequence of elements@ a software module called the RELAX Core processor compares it against a specification in RELAX Core and reports the result. The RELAX Core processor can be directly invoked by the user@ and can also be invoked by another software module called the RELAX Namespace processor. RELAX may be used in conjunction with DTDs. In particular@ notations and entities declared by DTDs can be constrained by RELAX. This part of the Technical Report also gives a subset of RELAX Core@ which is restricted to DTD features plus datatypes. This subset is very easy to implement@ and with the exception of datatype information@ conversion between this subset and XML DTDs results in no information loss. NOTE 1 Since XML is a subset of WebSGML (TC2 of ISO 8879)@ RELAX is applicable to SGML. NOTE 2 A successor of RELAX Core is being developed at the RELAX NG TC of OASIS.