Regular Language for XML Next Generation (RELAX NG) is a schema language for eXtensible Markup Language (XML). RELAX NG is used to validate XML instance documents. It was authored by Makoto Murata and James Clark with the design based on Clark’s Tree Regular Expression for XML (TREX) and Murata’s Regular Language description for XML (RELAX). One of the feature of RELAX NG is that a single RELAX NG schema document can validate many XML instance documents. (Or a single XML instance document can be validated by multiple RELAX NG schema documents.) Other features of RELAX NG include:
RELEAX NG has two different syntaxes, the XML syntax and compact syntax. Filename extensions of RELAX NG are “.rng” and “.rnc” for a regular syntax and compact syntax respectively.
The acronym makes sense when you see it written as: REgular LAnguage for XML Next Generation. The authors, Clark and Murata have created RELAX NG after Document Type Definition (DTD) and XML schema languages and have addressed several problems experienced with DTDs and XML schema languages. RELAX NG's approach to validation is based on patterns -- it uses pattern composition and named patterns to create resusable sections in schema documents. RELAX NG does not have the type hierarchy of XML schemas and does not support type inheritance but it does support datatyping with datatypes provided by the W3C XML schema as well as user-defined types. Although RELEAX NG is the most simple validation technology, support is not as widely available as compared to W3C XML schema.
Read More »
Get Techopedia delivered to your inbox!