Hallo,
Ich glaube, mein Problem ist, daß die Theorie oder Empfehlungen zu einer Verfahrensweise mir in der Regel wenig darüber sagen, _was_ ich denn nun konkret anwenden soll. Zum Beispiel:
<zitier>
In Dokumenten, die unterschiedliches Markup-Vokabular enthalten, können Probleme mit der Erkennung und Kollisionen auftreten. Software-Module müssen die Tags und Attribute erkennen, für deren Verarbeitung sie geschaffen wurden, auch im Fall einer Kollision, wenn Markup, das für eine andere Software geschrieben wurde, die gleichen Elementtypen und Attributnamen verwendet.
</zitier>
Was sagt mir das für meinen Anwendungsfall?
Das du im Text nicht weitergelesen hast?! :)
"Diese Überlegungen erfordern, dass Dokumentkonstrukte, deren Geltungsbereich über den des beinhaltenden Dokuments hinausgeht, einzigartige Namen haben sollten. Diese Spezifikation beschreibt einen Mechanismus, XML-Namensräume, der diese Anforderungen erfüllt."
Alles klar? ;-)
»»Werde ich mir irgendwann die Haare raufen, weil die Tags meines CMSystems mit denen einer externen Datenquelle kollidieren (oder andersrum)?
Nur wenn du es schlecht Programmierst ;) Sonst ist es ziemlich unwahrscheinlich. Namensräume sind ja genau für solche Fälle geschafft, denn so kannst du zwei Elemente vom gleichen Typ unterscheiden.
Du hast in deinem XML <name>Hakuna Matata</name> aus einer anderen Quelle bekommst du <name>YAGNI WYISWYNG</name>, jetzt könnte dein Programm durcheinander kommen. Wenn du aber Namesräume verwendest:
my:nameHakuna Matata</my:name> und your:nameYAGNI WYISWYNG</your:name> kann das Programm (wenn es Namesräume versteht) unterscheiden und die Daten richtig verarbeiten.
Solche Fragen verunsichern mich immer etwas, da ich in meinem Bekanntenkreis diese Fragestellungen auch kaum erhellend diskutieren kann. :)
Dafür gibt's ja das Forum hier :)
Grüße
Thomas