Agata Savary - SOFTWARE
XMLCorrector is an implementation of an algorithm allowing to correct an XML document with respect to schema constraints expressed as a DTD. Namely, given a well-formed XML document t seen as a tree, a schema S and a non negative threshold th the algorithm finds every tree t' valid with respect to S such that the edit distance between t and t' is no bigger than th. The algorithm is based on a recursive exploration of the finite-state automata representing structural constraints imposed by the schema, as well as on the construction of an edit distance matrix storing edit sequences leading to correction candidate trees.
The implementation is released under the GNU LGPL v3 license.