[xml] Re: XML Schemas



[ I'm Cc'ing the xml gnome org list since it is general information
  and I'm definitely welcolme help on XML Schemas development ]

On Wed, May 01, 2002 at 11:33:29PM +0500, Hannu Krosing wrote:

On your webpage you advise to 

"get in touch with me if you want to test those
* Finishing up XML Schemas and XInclude "

What is the state of XML Schemas and how can I try it out.

 Grab the latests 2.4.21, look at TODO_SCHEMAS, configure and compile 
with --with-schemas, look at testSchemas.c, look at the Schemas regression
tests (make Schemastests). The XML Schemas part 2 regexp seems complete
see testRegexp.[ch] (make Regexptests), there is an advanced automata
support xmlautomata.h (make Automatatests).

 There is *a lot* to do, one relatively easy part would be to complete
the predefined simple datatypes (schemastypes.c). The parts about the
automata and regexp are far more complex but hopefully nearly complete
(xmlregexp.c). The Unicode support is generated by a python script
(genUnicode.py) which creates the xmlunicode.[ch] files from the
decription files found on the Unicode Consortium FTP, that C file
generation could certainly be improved for speed and compactness.
The Schemas parsing part is not complete (misses include, import,
and integrity constraints parsing), and the validation part itself
is very incomplete (trying to figure out the associated "prose" in the
spec itself one tend to identify with Champolion after the discovery
of the famous "Pierre de Rosette" during Napoleon's campain in Egypt,
oh well ...). And of course for convenience I just try to Schemas validate
existing trees, and not SAX streams, once the engine is understood I will
also provide SAX based entry points.

 At that point help with simple examples, giving the .xsd and .xml and
and indication of why it doesn't validate can help going forward, and
even better code suggestions for thing which are lacking (there is a bunch
of TODO marker in the codes which print an associated unimplemented
statement at run-time if crossed). Help on simple type implementation
would be welcome, some of the work done for EXSLT date/time/duration 
can certainly be reused, the decimal is only currently coded with 32bits
values, if someone feels the challenge to switch it to long long (64bits)
in a portable way that would be definitely appreciated too.

 Schemas is a *serious challenge*, help is definitely welcome. Moreover
my personal life has serious troubles so I tend to have a harder time 
concentrating on coding, but I remain dedicated to implement Schemas
(and Relax-NG as soon as I really want a break since from a quick glance
this seems quite easier and most of the hard part related to automatas
are already present).

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]