This is very cool! Rick Jelliffe has been reading my Master's thesis and commented on it on his blog: "I recommend any student wanting to get a grip surveying the capabilities of schemas and the classes of grammars involved should start with this thesis: well done Janus (and Anders!)". This is very nice indeed, I didn't think anybody would ever read my thesis besides me, my superviser, and the examiner!
I my thesis I compared six schema languages, DTD, XSD, Relax NG, DSD, Summary Graphs, and Schematron. My conclusion is that the relation between the schema languages is very complex and not very nicely explained or comprehended - many subtle differences exists. This complexity is not well depicted by Venn diagrams and is bettet explained by the kind of diagrams mentioned by Rick, where various shades of grey is used to indicate how much of the language is convient to use. Most schema languages covers areas of application where the schema is not intuitive to use and some careful thinking has to be done inorder for it to work, thus the darker a region is the more inconvient the language is. These kind of diagrams show the proportion of the application areas where a given language is convient compared to the areas where it is less convient.
I see Schematron as a very good suppliment to Relax NG, because most XML languages are very nicely described in Relax NG, and in the few cases where the constraints are impossible to express in Relax NG, Schematron steps in and saves the day. But I would rather not write intire schemas in Schematron it is too unstructed and if the schemas span more than a page it becomes impossible to figure out where if anywhere a given constraint is inforced!
This also leads to the conclusion that Schematron is disproportionally large compared to the other schema languages in the diagram on Rick's blog. And expecially the white part showing the areas where Schematron can be used conviently is just too big. Schematron is good but not that great.
Ingen kommentarer:
Send en kommentar
Bemærk! Kun medlemmer af denne blog kan sende kommentarer.