Return-Path: Mailing-List: contact forrest-dev-help@xml.apache.org; run by ezmlm Delivered-To: mailing list forrest-dev@xml.apache.org Received: (qmail 39208 invoked from network); 11 Feb 2002 06:47:38 -0000 Received: from ptolemy.goulburn.net.au (203.28.11.5) by daedalus.apache.org with SMTP; 11 Feb 2002 06:47:38 -0000 Received: (qmail 4744 invoked from network); 11 Feb 2002 06:47:48 -0000 Received: from max-01-055.goulburn.net.au (HELO igacer) (203.28.11.191) by ptolemy.goulburn.net.au with SMTP; 11 Feb 2002 06:47:48 -0000 Content-Type: text/plain; charset="iso-8859-1" From: David Crossley Reply-To: crossley@indexgeo.com.au To: forrest-dev@xml.apache.org Subject: experiment with RELAX NG Date: Mon, 11 Feb 2002 17:44:33 +1100 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <02021117443401.01690@igacer> Content-Transfer-Encoding: 8bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N In the last thread, after we got frustrated with DTD limitations once too often, i said that i would start looking at RELAX NG. A summary follows, providing a quick-start. The thing that i am not clear on is whether these are the best tools to build our capability upon. Someone with more Java should look. I always get a good feel from this fellow's work and am excited about the possibilities for our projects. ----- Here is a dot-point summary of a RELAX NG and validation trial to ascertain potential for use with Forrest/Cocoon. * started at http://www.oasis-open.org/committees/relax-ng/ = http://www.relaxng.org/ * Downloaded two tools from www.thaiopensource.com/relaxng/ - DTDinst ... "converting XML DTDs into XML instance format" - Jing ... "A RELAX NG validator in Java" Both are covered by BSD-style licence. * Used DTDinst to convert a well-known DTD into a RELAX NG grammar. (The DTD is for our geospatial metadata.) As expected, automation creates a verbose grammar. However, this is considered OK for our experiment. Our grammar will probably eventually be rewritten from scratch. * Reviewed the excellent tutorial at the OASIS site. * Used Jing to validate an XML instance that we know is valid according to our DTD ... all is well. This could also be considered a test that the grammar that was generated by DTDinst is OK. * Now try using some XML instances that we know are broken. Yep, Jing says so too. * There is an Ant task provided, so it would be easy to hook up Jing for Forrest. * The bigger question, someone else should investigate. Is this a suitable base for building a Cocoon component? It appears so to me. * Of course the real work is in writing each grammar. Yes, the DTDinst will help to transform the Forrest DTDs. --David Crossley