王朝网络
分享
 
 
 

RELAX NG home page

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

RELAX NG home page

Last updated: 2003-09-24

Contents

Introduction

Documents

Tutorials

Specifications

Other documents

Mailing lists

Software

Validators

Conversion tools

Code generators

XML Editors

Other software

Schemas

Test suites

Other RELAX NG pages

Introduction

RELAX NG is a schema language for XML. The key features of RELAX NG are that it:

is simple

is easy to learn

has both an XML syntax and a compact non-XML syntax

does not change the information set of an XML document

supports XML namespaces

treats attributes uniformly with elements so far as possible

has unrestricted support for unordered content

has unrestricted support for mixed content

has a solid theoretical basis

can partner with a separate datatyping language (such W3C XML Schema Datatypes)

The RELAX NG specifications have been developed within OASIS by the RELAX NG Technical Committeee. RELAX NG is being developed into an International Standard (ISO/IEC 19757-2) by ISO/IEC JTC1/SC34/WG1; it is currently at the final stage of standardization. RELAX NG was based on TREX designed by James Clark and RELAX designed by MURATA Makoto.

Documents

Tutorials

RELAX NG Tutorial (errata), OASIS Committee Specification, 3 December 2001. Tutorial for RELAX NG using the XML syntax. More recent, but not officially approved Working Draft, 26 March 2003 also available

RELAX NG Compact Syntax Tutorial, OASIS Working Draft, 26 March 2003. Tutorial for RELAX NG using the compact syntax, not assuming prior knowledge of XML syntax.

Specifications

RELAX NG Specification (errata), OASIS Committee Specification, 3 December 2001. Definitive specification for RELAX NG using the XML syntax.

ISO/IEC FDIS 19757-2 Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG. ISO version of RELAX NG Specification; the technical content of this is identical to the OASIS Committee Specification, but there are editorial changes to satisfy ISO rules.

RELAX NG Compact Syntax, OASIS Committee Specification, 21 November 2002. Definitive specification for the compact syntax in terms of the XML syntax.

RELAX NG DTD Compatibility, OASIS Committee Specification, 3 December 2001. Defines annotations and datatypes that support some of the features from XML 1.0 DTDs not supported directly by RELAX NG.

Guidelines for using W3C XML Schema Datatypes with RELAX NG, OASIS Committee Specification, 7 September 2001.

Other documents

XML Matters: Kicking back with RELAX NG, Part 1, Part 2, Part 3, David Mertz, IBM developerWorks. Series of articles introducing RELAX NG.

Relax NG, Eric van der Vlist. Book in progress for O'Reilly to be made freely available on the Web.

Relax NG, Compared, Eric van der Vlist, XML.com. Article comparing RELAX NG and W3C XML Schema.

RELAX NG's Compact Syntax, Michael Fitzgerald, XML.com. Article introducing RELAX NG using the compact syntax.

XML and the IETF: Making the case for RELAX NG, Michael Smith, xmlhack. Reports on arguments advanced as to why RELAX NG is preferable to W3C XML Schema, in the context of IETF discussions on XML.

The Design of RELAX NG, James Clark. Paper discussing the thinking behind the design of RELAX NG.

ZVON RELAX Reference, Jiri Jirat. On-line reference guide to RELAX NG.

Notes on implementing RELAX NG, James Clark. Provides some information on how to implement a RELAX NG validator.

Mailing lists

The relaxng-user mailing list is for anything related to the use of RELAX NG. Questions from new users are welcome.

Software

Validators

Jing, RELAX NG validator. Supports both XML and compact syntaxes. Can be used as a library for validation with any SAX2 parser. Implemented in Java. Written by James Clark. Open source (BSD license).

Libxml2, the XML C library for Gnome. Recent versions of libxml2 (at least 2.5.5) support RELAX NG validation. Only the XML syntax is supported. Libxml2 is included in most modern Linux distributions. Implemented in C. Written by Daniel Veillard. Open source (MIT license).

MSV, Sun Multi-Schema XML Validator. Validates RELAX NG. Supports XML syntax only. Also supports other schema languages including W3C XML Schema. Can be used as a library for validation and for accessing the schema. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

Bali, RELAX NG validator compiler. Reads a RELAX NG schema and produces a validator that can validate documents with the given schema. Compiler uses MSV and is implemented in Java. Generated validator can be in Java, C++ for Win32 (using MSXML4) or C#. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

Tenuto, RELAX NG validator for .NET. Implemented in C#. Open source (BSD license).

VBRELAXNG, ActiveX DLL for validating RELAX NG. RELAX NG Workshop sample client application also available. Uses MSXML4. Implemented in Visual Basic. Written by YONEKURA Koji. Freely downloadable.

XVIF, XML Validation Interoperability Framework. Proof of concept implementation of the idea of embedding XML processing pipelines in a grammar. Includes a partial implementation of RELAX NG. Implemented in Python. Written By Eric van der Vlist. Open source (MPL).

RelaxngValidatingReader, .NET XmlReader that validates using RELAX NG. Implemented in C#. Included in Mono. Written by Atsushi Enomoto. Open source (public domain).

Online validation for RELAX NG. Provides Web interface for validating RELAX NG. Uses MSV. Written by MURATA Makoto.

ManekiNeko, Xerces parser configuration that supports RELAX NG validation. Puts an XNI wrapper around Jing. Implemented in Java. Written by Andy Clark. Open source (Apache-style license).

Sun MSV Schematron add-on, allows a document to be validated against a RELAX NG grammar and also against Schematron constraints embedded as annotations in the RELAX NG. Uses MSV. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

Topologi Schematron Validator, a Windows application for validating an XML document against a variety of schema languages, including RELAX NG. Uses VBRELAXNG. Freely downloadable.

Conversion tools

Trang, multi-format schema converter based on RELAX NG. Trang supports the following languages: RELAX NG (both XML and compact syntax), XML 1.0 DTDs, W3C XML Schema. A schema written in any of the supported schema languages can be converted into any of the other supported schema languages, except that W3C XML Schema is supported for output only, not for input. Trang can also infer a schema from one or more example XML documents. Trang aims to produce human-understandable schemas; it tries to preserve all aspects of the input schema that may be significant to a human reader, including the definitions, the way the schema is divided into files, annotations and comments. Uses Jing. Implemented in Java. Written by James Clark. Open source (BSD license).

Sun RELAX NG Converter. The Sun RELAX NG Converter is a tool to convert schemas written in various schema languages to their equivalent in RELAX NG. It supports schemas written in XML DTD, RELAX Core, RELAX namespace, TREX, W3C XML Schema, and RELAX NG itself. It does aims only to produce a RELAX NG schema that is equivalent to the input schema in the sense that it validates the same documents as the input schema; it does not aim to preserve information that is not significant for validation such as the use of definitions. Based on MSV. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

InstanceToSchema, a tool to generate a RELAX NG schema from XML instances. Implemented in Java. Written by Didier Demany. Open source (BSD license).

rng2srng, a tool to convert RELAX NG (XML or compact syntax) into the simple syntax. The simple syntax is a minimal subset of the XML syntax defined by the RELAX NG specification, into which any RELAX NG schema can be transformed. Uses Jing. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

NekoDTD, DTD to instance converter. Uses the Xerces Native Interface (XNI) to convert DTD into an XML document, which can then be converted into other formats. Includes XSLT stylesheets to convert XML output format into RELAX NG. Implemented in Java. Written by Andy Clark. Open source (Apache-style license).

RNG to RNC Converter. Contains XSLT stylesheets for converting RELAX NG schemas in the XML syntax to the compact syntax. The stylesheets can output either a plain text result, or a hyperlinked HTML document. Written by David Rosenborg. Open source (BSD license).

rnc2rng, converter from RELAX NG Compact Syntax to RELAX NG XML Syntax. Implemented in Python. Written by David Mertz. Open Source (public domain).

Code generators

Relaxer, schema compiler. Can generate a collection of Java classes from a RELAX NG schema along with code to create instances of those classes from XML and vice-versa. Provides many other features useful for processing data described by a RELAX NG schema. Uses MSV. Implemented in Java. Written by ASAMI Tomoharu. Open source (GPL for compiler, BSD license for generated code, LGPL for runtime libraries).

RelaxNGCC, RELAX NG Compiler Compiler. Tool for generating Java source code from a given RELAX NG grammar. By embedding code fragments in the grammar like yacc or JavaCC, you can take appropriate actions while parsing valid XML documents against the grammar. Uses MSV. Implemented in Java. Written by Daisuke OKAJIMA and Kohsuke KAWAGUCHI. Open source (GPL for compiler, public domain for generated code).

XML editors

xmloperator, an XML editor, suitable for editing data oriented documents. Allows any RELAX NG schema to be used to guide editing. Implemented in Java. Written by Didier Demany. Open source (BSD license).

Topologi Collaborative Markup Editor, XML editor including support for RELAX NG. Commercial.

<oXygen/> XML editor. Provides validation and completion using RELAX NG. Supports both XML and compact syntaxes. Multiplatform, implemented in Java. Commercial.

Other software

RNC Emacs Mode. A small emacs mode for editing RELAX NG schemas in the compact syntax. Written by David Rosenborg. Open source (BSD license).

RNC SAX Parser. SAX2 parser for the RELAX NG Compact syntax. It will parse a compact syntax schema and send events to a content handler as if it was reading a RELAX NG schema in the XML syntax. Implemented in Java. Written by David Rosenborg. Open source (BSD license).

RNC Vim syntax definition. It allows the Vim editor to do syntax highlighting for RELAX NG compact syntax schemas. Written by Hans Fugal. Open source.

RELAX NG datatype interface. Interface between RELAX NG validators and datatype libraries. Java, .NET and COM versions available. Written by James Clark and Kohsuke KAWAGUCHI. Open source (BSD license).

Sun XML datatypes library. Implementaton of the datatypes of XML Schema Part 2. Supports the RELAX NG datatype interface. Used by MSV. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (BSD license).

Sun XML Instance Generator. Tool to generate valid and invalid instances from schemas. It can be used for generating test cases for XML applications that need to conform to a particular schema. Uses MSV. Implemented in Java. Written by Kohsuke KAWAGUCHI. Freely downloadable, but not open source.

RelaxMeter, a tool to check whether a RELAX NG grammar is ambiguous. Uses MSV. Implemented in Java. Written by Kohsuke KAWAGUCHI. Open source (MIT license).

Schema simplifier in XSLT. An XSLT stylesheet to perform the RELAX NG syntax simplification described in the RELAX NG specification. Written by Eric van der Vlist.

Schemas

RELAX NG 1.0, from the RELAX NG Specification, with errata applied.

TEI, Sebastian Rahtz.

DocBook, Norman Walsh.

XHTML, James Clark.

XSLT 1.0, James Clark.

SVG 1.1, Yutaka Furubayashi.

MathML 2.0, Yutaka Furubayashi.

P3P 1.0, Yutaka Furubayashi.

W3C XML Schema, Jeni Tennison.

VoiceXML, Kohsuke KAWAGUCHI.

XML-DSig, Joseph Reagle.

XENC, Joseph Reagle.

RDF, James Clark, David Beckett.

IBTWSH, John Cowan.

Test suites

Test suite, James Clark. Unofficial test suite using the XML syntax.

Other RELAX NG pages

OASIS RELAX NG TC home page

Robin Cover's RELAX NG page

James Clark's RELAX NG page

Kohsuke KAWAGUCHI's RELAX NG page

Yutaka Furubayashi's RELAX NG page

This web page is maintained by James Clark

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有