>Eclipse: RelaxNG Tools

>Most people that work with XML have at least heard of DTDs and XML Schemas. Both are widely used to provide a validation model for the XML document. XML Schema has also been tried to be used as a general purpose modeling language and used within data binding frameworks for code generation. However, XML Schema and DTDs do not necessarily work or are the best fit for all document designs. XML Schema can be very heavy weight, overly wordy, and in general a pain to work with at times. DTDs do not allow data typing, and personally I hate the DTD syntax.

So, if you need the power that XML Schema can provide, but want an easier for humans to read language what are your alternatives. RelaxNG.

Bug 281529 has been opened to help bring a RelaxNG set of tools and frameworks over to the Web Tools Platform Incubator. RelaxNG provides both an XML syntax and a more human friendly Compact Syntax:

Sample Compact Syntax:

element addressBook {
element card {
attribute name { text },
attribute email { text }

In some ways I think the RelaxNG might be a good place for XText and its DSL editor generation abilities. The RelaxNG language is a doman specific language for XML validation. It’s compact syntax would seem to fit well into the range that XText can support.

RelaxNG is very popular in the Document centric industries. The Open Document set of grammars are written entirely in RelaxNG. A good set of open source tooling and integration within eclipse is missing for RelaxNG. OxygenXML does contain RelaxNG support but this isn’t an open source solution that others can use and contribute to build their own implementations. It would be ideal if we could get all interested players together to work off a common framework to meet the 80% that everybody needs, and then extend where necessary the additional 20%.

This entry was posted in eclipse, xml. Bookmark the permalink.

One Response to >Eclipse: RelaxNG Tools

  1. >Xtext should indeed be a very good fit for RelaxNG. We'll be glad to support any initiative. 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s