RelaxNg

From WikiWorld

Jump to: navigation, search

RELAX NG http://www.oasis-open.org/committees/relax-ng/compact-20021121.html

RELAX NG Compact Syntax Committee Specification 21 November 2002

Topologi Collaborative Markup Editor Supports RELAX NG. http://xml.coverpages.org/ni2002-04-05-a.html

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. http://www.xmlconference.org/xmlusa/2002/mondaypm.asp

http://www.oasis-open.org/committees/relax-ng/tutorial-20011203.html

namespace x = "http://www.example.com"
external "foo.rng" inherit = x

is equivalent to

<externalRef href="foo.rng"
  ns="http://www.example.com"
  xmlns="http://relaxng.org/ns/structure/1.0"/>

and

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

turns into

<element name="lang"
    xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
    xmlns="http://relaxng.org/ns/structure/1.0">
  <a:documentation>Represents a language</a:documentation>
  <choice>
    <value>en</value>
    <a:documentation>English</a:documentation>
    <value>jp</value>
    <a:documentation>Japanese</a:documentation>
  </choice>
</element>

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 http://www.w3.org/ collaboratively, WikiObjects will be BIG fun toys.

http://www.oasis-open.org/committees/relax-ng/compact-20021121.html

Personal tools