From WikiWorld

Jump to: navigation, search


RELAX NG Compact Syntax Committee Specification 21 November 2002

Topologi Collaborative Markup Editor Supports RELAX NG.

RELAX NG: DTDs on Warp Drive A major goal of RELAX NG is that it be easy to learn and easy to use. Schemas can be patterned after the structure of the documents they describe, but need not be: definitions to be composed from other definitions in a variety of ways. Attributes and elements are treated uniformly as much as possible. RELAX NG supports pluggable simple datatype libraries, from a trivial one that describes only strings and tokens to the full XML Schema Part 2; new ones can be readily designed and built as needed. RELAX NG provides full support for namespaces. RELAX NG provides two interconvertible syntaxes, an XML one for processing, and a compact non-XML one for human authoring.

You will learn how to use the RELAX NG schema language, an alternative schema language for XML. RELAX NG allows easy and intuitive descriptions of just what is and what is not allowed in an XML document. It is simple enough to learn in a few hours, and rich and flexible enough to support the design and validation of every kind of document from the very simple to the very complex. Once RELAX NG's concepts have crossed the blood-brain barrier, you will never be able to take any other schema language seriously again.

namespace x = ""
external "foo.rng" inherit = x

is equivalent to

<externalRef href="foo.rng"


## Represents a language
element lang {
  ## English
  "en" ||
  ## Japanese

turns into

<element name="lang"
  <a:documentation>Represents a language</a:documentation>

This is very muck like what WikiTalk. Is WikiTalk really necessary anymore? It is at the very least a place to do RELAX NG and all the other good stuff at collaboratively, WikiObjects will be BIG fun toys.

Personal tools