Hallo Volker,
ist XML das geeignete Werkzeug um in einem Intranet eine kleine dynamische Datenbank anzulegen / zu verwalten (ich habe bisher wenig Ahnung von XML!)? Oder bin ich mit ASP/PHP auf der sichereren Seite?
hm, also ein XML-Dokument kann man durchaus als Datenbank ansehen und auch mittels XSLT plus z.B. Scriptsprache durchsuchen. XML ließe sich z.B. mit einem Datenformat wie ASCII vergleichen, wobei der Vorteil ist, daß XML inhaltliche/strukturelle Informationen über die einzelnen Elemente des Dokuments tragen kann.
Also z.B. sowas könnte man als DB ansehen:
<dramendb>
<drama>
<titel>Der Lohndrücker</titel>
<autor>
<vorname>Heiner</vorname>
<name>Müller</name>
</autor>
<erscheinungsjahr>1952</erscheinungsjahr>
</drama>
<drama>
<titel>Wie es euch gefällt</titel>
<autor>
<vorname>William</vorname>
<name>Shakespeare</name>
</autor>
<erscheinungsjahr>1552</erscheinungsjahr>
</drama>
</dramendb>
Constraints könnten dann über die DTD definiert werden. Etwa, daß das Tag Autor nur die Tags <vorname> und <name> enthalten darf o.ä.
Wenn du dann die dtd in einen XML-Editor lädts, wie zB. X-Metal, dann kannst du dort Daten eingeben wie in Tabellen einer DB, eben in die Tags.
Dynamische Seiten erzeugst du dann mittels XSL(T) und/oder einer Scriptsprache. Mittels XSLT kannst du z.B. verschiedene Reports generieren, also Templates schreiben, wo z.B. nur der Stücktitel ausgegebn wird. Sortieren geht natürlich auch. Interaktivität erhälts du über Scriptsprachen.
Also die Wahl besteht eigentlich nicht zwischen XML und PHP/ASP, sondern eher, zwischen DB und XML-Format.
Habe selbst keine große Projekterfahrung, aber soweit ich die jetzige Fummelei mit den nötigen Werkzeugen für XML-Processing einschätzen kann, würde ich mal sagen, wenns wirklich schnell gehen muß und ein kleines Projekt ist, dann lieber der klassische Weg über relationale DB und PHP oder was auch immer, falls du dich da auskennst.
Zumal das W3C zwar Richtung XML-QL, so ne Art SQL für XML arbeitet, aber auf dem Gebiet noch nichts nutzbar ist.
Generell ist XML aber geignet für dein Vorhaben einer *kleinen* DB.
Du kannst ja auch XML-Dokumente in ner DB speichern und aus der DB dann dynamisch generieren was du brauchst. Aber das ist nur sinnvoll, wenn du wirklich strukturierte Dokumente zur Weiterverarbeitung benötigst. Wenn du aber nur XML-Dokumente generierst/bzw. speicherst um sie danach 1:1 in HTML auszugeben ist das ein Overhead.
Gruß
Franz