08 mar. 2012

libroxsd : lightweight XSD validation

Today is the day I chose to create the libroxsd open source project.

By itself, the sentence does not give you mush details. So here are a few of them.

Presentation

Let's begin with the begining : what is libroxsd ?

Well, it's nothing more than an XML schema validation library. By schema validation, I mean a check that this XML file match the definitions given in this XSD file kind of tool. Since being sure that the schema is correct is a prerequisite of the validation procedure, libroxsd makes sure that your XML schema is indeed correct.

libroxsd is built upon libroxml, a lightweight XML parser with some XPATH capabilities. libroxml is an open source project that mainly target embedded platforms (the .so binary is a few dozen kilobytes only). Its API is very simple and such simplicity is also a key feature of libroxsd. In fact, the library exports only a few symbols. Among them, you'll find the really important ones:

  • roxsd_compile_schema()
  • roxsd_validate_document()
  • roxsd_get_error_count()
  • roxsd_get_error_desc()
  • roxsd_release_schema()

The goal is of course to enable the user to write simple yet powerfull code. My own, personnal goal is just to provide XML schema validation support in some other project of mine - and I don't want to mess up with a complex API[1].

Current state

I have quite a lot of things to set up before I can post the first bits of code in the public repository but all shall be done is a few days. The target for release 0.1.0 (a functionnal yet incomplete release) is on March the 20th - and before that, you may be able to get early versions of the tool.

An important link before I leave : the Google Code project page. Here you'll find anything you need to communicate with me about this project:

  1. the project wiki
  2. the issue tracker
  3. and, of course, the code repository

(For those who don't read French: I announced a few month ago that comments on this blog are moderated - I really get loads of spam. So don't be surprised if your comments are not posted in realtime: I have to check them before they go public. Usually, it's done in less than a day but on some rare occasions it took a bit longer. Sorry for the inconvenience.)

Expect me to announce update on this blog - as well as on the Google Code page. I will also try to explain both the code and its architecture in this very blog (these posts will be announced wherever I can announce them: twitter, google+, and - of course - in this blog newsletter).

See you soon!

Note

[1] that doesn't mean that the API will never evolve

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet