Jing Version 2002-02-13
Date: Wed, 13 Feb 2002 16:31:46 +0700 From: James Clark <firstname.lastname@example.org> To: RELAX NG Mailing List <email@example.com> Subject: [relax-ng] Jing update
I've released a new version of Jing:
There are a lot of changes in this release:
- the ID/IDREF/IDREFS checking part of DTD Compatibility is implemented
- I've almost completely rewritten the validator using an improved algorithm
- there's a documented API for Jing; in fact there are two APIs, a native API and JARV
I've also created a page with pointers to information about implementing RELAX NG
I've also rewritten the description of derivative-based validation to correspond to what I've implemented and to incorporate the feedback I received on the previous version from Murata-san and Kawaguchi-san:
In the old algorithm, the state of the validation was represented by a stack of sets of patterns. In the new algorithm, the state is represented by a single pattern. To enable this it introduces a new kind of pattern: x/y matches x followed by an end-tag followed by y. The old algorithm optimized the common case where there was only a single content model possible for an element of a given name. The new algorithm no longer makes this a special case; it doesn't improve significantly on this common case, but it is much more efficient for other cases. In particular, it can handle quite efficiently the case which would arise from translating W3C XML Schema, where there are many content models possible for an element name (according to the value of xsi:type).
There's also a new error recovery strategy (details in the above document).