Sonntag, 12. Februar 2012


Kolumne

Mittwoch, 19. Dezember 2007 | Kolumne

Naked XML: Do's and Don'ts

(Link zum Artikel: http://www.entwickler.de/jaxenter/kolumnen/040260)
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Martin Szugat

Mit XML kann man viel machen, aber man kann auch dementsprechend viel falsch machen. Wie man es richtig macht und was man besser nicht macht, ist Thema dieser Folge von Naked XML.

Namensfindung

Namen sind Schall und Rauch – so viel wissen wir bereits. Namen sind das "Verkaufsargument" für XML. Sie bringen die Semantik ins Spiel. Und: Namen haben ein Gewicht. Sie machen ein XML-Dokument schwerer als beispielsweise eine Binärdatei. Das ist das"Verkaufshindernis" von XML.

Insbesondere der Name eines Elements will wohl überlegt sein, denn im Gegensatz zu Attributen taucht er bei Elementen gleich zweimal auf (mit Ausnahme von leeren Elementen): als öffnende und als schließende Marke. Prägnant muss er sein, also kurz, aber dennoch verständlich. Wieso kurz?

Weil Sie dadurch Platz sparen: Auf der Platte, im Speicher und über die Leitung. Ein Name wie pdbml:proteinAtomCoordinateX innerhalb eines pdbml:proteinAtom-Elements innerhalb eines pdbml:protein-Elements ist in mehrfacher Hinsicht verschwenderisch, denn, dass es sich um die x-Koordinate eines Atoms in einem Protein (Eiweißmolekül) handelt, macht bereits der Kontext, also der Pfad deutlich: /protein/atom/x.

Falsche Freunde

Nicht zu empfehlen sind dagegen Abkürzungen, beispielsweise in Form von TLAs. Sie wissen nicht, was ein TLA ist? Dann schauen Sie doch mal hier nach …

Eben darum sind Abkürzungen zu vermeiden: sie sparen zwar Platz, aber Ihre Kollegen verlieren Zeit, Ihren Code und die Daten zu verstehen. Und Abkürzungen verursachen gefährliche Missverständnisse. Oder möchten Sie mit der „Truppenluftabwehr“ der NVA in Verbindung gebracht werden?

Erlaubt sind dagegen Abkürzungen bei den Präfixen. Denn Präfixe sind per Definition eine Abkürzung und zwar für den meist ellenlangen Namensraum-URI. Ihre Deklaration ist außerdem Teil des XML-Dokuments und somit für die Kollegen sichtbar. Zu vermeiden sind allerdings Präfixe der Form "p:". Präfixe sollten zumindest assoziativer Natur sein, wenn sie schon nicht intuitiv verständlich sind. Ein Präfix für die Elemente des Protein Data Bank Markup Language Formats wäre demnach "pdb" – oder eben "pdbml".

Doch auch solche Wahlmöglichkeiten führen meistens nur zu einem: zu mehr Fehlermöglichkeiten. Deshalb lautet eine weitere Empfehlung: erstellen Sie für sich und Ihre Kollegen sowie Partnerunternehmen ein Abkürzungsverzeichnis. Das beugt auch den eben erwähnten Missverständnissen vor.

Unnötiger Verzicht
Natürlich können Sie sich das Präfix auch sparen, sofern Sie nicht verschiedene Namensräume wild in einem Dokument mischen. Denn es entsteht schnell Verwirrung, wenn die Namensraumzuordnung nur noch durch extensive Analyse der Namensraumdeklarationen und ihrer Verschachtelungen ermittelt werden kann.

Doch selbst wenn ein XML-Dokument nur einen Namensraum besitzt, spricht einiges für die Verwendung eines Präfixes: Sie erziehen Ihre Kollegen, Kunden und Partner eben dieses eine Präfix zu verwenden und schaffen damit eine Konvention, die alle verstehen. Das ist notwendig, denn spätestens beim Einsatz von XPath oder der Verwendung von mehreren Namensräumen in einem Dokument kommen Sie an Präfixen nicht vorbei. Deshalb: machen Sie Präfixe zur Regel, statt zur Ausnahme.

Wie viel Gewicht Namen und Präfixe tatsächlich haben, zeigt ein kleines Programm namens XmlStatistic, welches das BioSchemas-Projekt auf Sourceforge im Quellcode und als .NET-Binary zur Verfügung stellt. Es misst das Verhältnis zwischen Metadaten (den Namen) und Nutzdaten sowie zwischen Nutzdaten und Leerraum, der nur der Formatierung dient ("Insignificant Whitespace"). Hierfür analysiert es eine beliebige Anzahl an Eingabedokumenten. 

Think twice
Die Grundlagen von XML sind einfach und die Möglichkeiten vielfältig. Das verleitet dazu, vieles zu tun, ohne viel darüber nachgedacht zu haben. Doch nicht alles, was möglich ist, ist auch sinnvoll. Und so gilt bei XML ganz besonders, was auch grundsätzlich gilt: Think twice. Dies gilt auch für die Empfehlungen dieser Kolumne. Es mag Fälle geben, in denen ein Do ein Don’t und ein Don’t ein Do ist.

Martin Szugat ist Fachautor, Konferenzsprecher und Berater für XML-basierte Technologien und Social-Web-Anwendungen. Neben seiner Kolumne Naked XML schreibt er auch für Create Or Die, einem Webmagazin für Webdesigner und Webentwickler.  Sie erreichen ihn via E-Mail an martin.szugat@techworker.net.

Kommentare

Gravatar Martin Szugat 21.01.2008
um 00:43 Uhr
Hallo Goofy,

Danke für Ihr Kommentar. Sie haben recht: es müsste "dos" heißen. Obgleich manche Dictionaries beide Formen kennen (z.B. Leo). Ein Blick in den Langenscheidt lässt aber nur noch eine Möglichkeit zu: "dos".

Viele Grüße

Martin Szugat
#zitieren

Folgende Links könnten Sie auch interessieren