Wed
2
Mar '05
preaching about xml
by Frank Spychalski filed under Computer, Rants, Work

Uli linked to an articles by Johannes Link which tries to tell us about the problems of XML. I read this article one or two years ago and is was the main reason not to subscribe the “xml magazin”.

Probleme einer XML-zentrierten Entwicklung
Fassen wir noch einmal zusammen, was bislang klar geworden sein sollte:

* XML bietet keinen standardisierten Mechanismus, um Querbezüge zwischen XML-Knoten herzustellen.

* Viele Abhängigkeiten in XML-Konfigurationen sind ungesichert, d.h. ein bloßes Parsen - auch unter Zuhilfenahme eines Schemas - genügt nicht, um die Konsistenz der XML-Datei sicherzustellen.

* Schon einfache Konfigurationsmöglichkeiten können einen Einfluss auf die tatsächliche Programmlogik haben.

my pretty free translation :

Problems with XML-centric development.
To summarize:
1. in XML no standardized way to crossreference between nodes
2. many dependencies in XML an not checked, parsing alone is not sufficient
3. simple configuration options can influence the program logic

1. Ever heard someone say, a text document has no standardized way to crossreference between something? XML is just the format. Maybe the author never heard of XML Schema and key/keyref elements

2. One example I could imagine is the configuration of a classname and checking wether this class exists and has the correct type. But I’m still looking for a better solution.

3. I always thought that’s the point of using a config file.

Don’t get me wrong, I’m not saying that XML is the solution. The author has a very valid point when he says

Eine zu generische Applikation ist ebenso unbrauchbar wie eine zu unflexible.
Too generic applications are as useless as an inflexible ones.

Unfortunately I can not propose a better solution, so my main point is XML is not as bad as this author tries to tell us…

ps: I’m working on one configfile which I will move away from XML, which contains a configuration similar to a programming language, to make it more readable and easier to modify by non-programmers.


Any comments? Or questions? Just leave a Reply: