zu erlernen ist es am einfachsten anhand eines Beispieles , alle Schritte zu erläutern und auszuprobieren Als einfachstes Beispiel das wohl jeder nachvollziehen kann nehmen wir eine einfache Artikeldatei Bevor man an das Schreiben geht sollte man sich im klaren sein über die Struktur und den Aufbau der Datei. Zudem sollte man darauf achten die Erweiterbarkeit für später im Auge zu behalten und wenn möglich gleich einzubinden. Fangen wir also an: Als erstes Fragen wir uns was in einer
Artikeldatei stehen sollte? Da wäre einmal der Name der Artikel, die Artikelnummer, der Einzelpreis, eine kurze Beschreibung, dies reicht fürs erste einmal aus denke ich Jetzt müssen wir weiter überlegen wie wir die Artikeldaten darstellen wollen? als Liste als Tabelle geordnet oder ungeordnet? Wir nehmen einmal eine Listenform Zu überlegen ist auch noch die Rangordnung der Ausgabe , d.h. welche Daten sollen als erstes stehen ,sollen alle Daten ausgegeben werden oder nicht sollen sie geordnet sein? wenn ja nach welchen Kriterien? Der einfachheit halber stellen wir sie sortiert und in einer geordneten Listenform dar Da wir jetzt also wissen wie wir die Daten darstellen wollen können wir daran gehen den Aufbau der Datei zu planen und loszulegen Fangen wir mit der DTD an. In einer DTD werden alle Strukturangaben gemacht, festgelegt welche Daten in der XML Datei später erscheinen , wie oft sie erscheinen , ob sie doppelt sein dürfen , welche Attribute sie haben und welche Tags verwendet werden können Nun gibt es verschiedene Möglichkeiten zur Verwendung einer DTD, einfach eine vorgefertigte nehmen oder aber eine eigene entwerfen. Wir wollen es ja lernen und entwerfen deshalb eine eigene!
--------------------------------------------------------------------------------
In XML kann man Daten viel strukturierter Darstellen und auch bei Bedarf sortieren oder durchsuchen in HTML vermischt sich die Formatierung mit den eigentlichen Daten ,dies kann man durch einlesen einer externen Datei mittels javascript ein wenig auffangen aber halt nicht so ganz die Formatierung muss ja irgendwo hin und muss sich an regeln halten, damit ist man in seiner Kreativität recht eingeschränkt und muss einige Kompromisse eingehen
Fakten:
Einlesen einer externen Datei ist in Javascript möglich durch verlinken des Datenscriptes oder aber durch einlesen einer Textdatei die dann aber nicht geordnet erscheint sondern als fliesstext! In XML kann man seine Daten auch einfach extern abspeichern aber geordnet!!!!!!! dies ist der wesentliche Faktor um den es eigentlich geht Wie alle wissen kann man Daten darstellen eingeschlossen in tags(befehle) diese sind in html und auch in Javascript festgelegt und vorgegeben ,man kann daran nichts ändern!
In xml hat man nun die Möglichkeit alle Formatierungsbefehle zu wählen wie man sie benötigt dies ist möglich mit Hilfe einer dtd in der man das aussehen und die Struktur der Daten genau festlegt!!!
so ist es machbar eine klare genaue Definition der Ausgabe zu erreichen schauen wir uns unser alten Beispiel an eine liste oder Tabelle in der wir den Namen Vornamen und Telefon ausgeben
In xml sieht das ganze folgendermaßen aus :
in der dtd legt man fest welche art von Daten ausgegeben werden sollen und wie die Struktur des ganzen ist also braucht man einen Container Adressen in dem die Namen Vornamen und Telefonnummern gespeichert werden den Container erzeugt man in der dtd damit im eigentlichen Dokument nicht zu definiert werden braucht
jetzt haben wir einen Container in dem der name,vorname und die telefonnummer gespeichert wird welcher Name etc ist dabei ganz unerheblich !!!!ist somit beliebig aender und austauschbar! : Da Daten und Darstellung voneinander getrennt sind, werden Änderungen im Layout relativ einfach (verglichen mit HTML).
Ein Style Sheet definiert dann die Darstellung von Tabellen oder Listen. Die Suche nach Daten ist einfach und effizient. Suchmaschinen können durch die Strukturierung der Daten diese wesentlich gezielter auswerten. Komplexe Datenstrukturen können vermittelt werden. Die Information ist für Außenstehende Personen viel leichter verständlich und man benötigt z.B. weniger Einarbeitungszeit. In unserem Beispiel ist es offensichtlich, dass die ZAHL die Postleitzahl der Wohnadresse des jeweiligen Kunden darstellt. XML erklärt
sich somit von selbst!
Um die Funktionsweise von DB Abfragen etc zu verstehen sollte man vielleicht zuerst einmal den Aufbau verstehen , und die Wirkungsweise der einzelnen Komponenten
--------------------------------------------------------------------------------
Eine Datenbank muss immer irgendwo hinterlegt sein das zugehörige Abfragemodul muss auch irgendwo gespeichert sein und mit der Datenbank kommunizieren d.h. Daten müssen ausgetauscht werden was in der Regel über ein script oder eine Routine(kleines Programm) erfolgt nun muss diese Routine die Eingabe des Users aufnehmen und verarbeiten d.h. prüfen ob der nachgefragte Datensatz vorhanden ist!
Also vergleicht er die Eingabe mit den hinterlegten Daten diese müssen also verfügbar sein! normalerweise laufen Scripte aber clientseitig sind also vorgeladen auf den PC des Users ,die Datenbank muss also im nächsten schritt abgefragt werden ,diese liegt aber auf einem Server und wird nicht zum client übermittelt "!(logischerweise)also muss die abfrage auch serverseitig laufen was sie auch tut (gewöhnlich)
Die Kommunikation zwischen client und Server muss also ein ständiges hin und her sein bezieht man jetzt die transferrate der Leitung ,,die Leistung des Servers und die Größe der jeweiligen Datenbank mit ein kommt man zum folgerichtigen Ergebnis das so eine abfrage unter umständen ziemlich lange dauern kann!!!
Dies zu umgehen ist XML in Verbindung mit Javascript hervorragend geeignet wie wir gelesen haben kann man in xml dateninseln erschaffen und sie in html anzeigen mittels einer id eine feste variable zuweisen und sie speichern (verarbeiten) mit javascript kann man hervorragend eine suchroutine schreiben !
Javascript lauft clientseitig wird also immer vollständig geladen und gecached wenn man es nicht vermeidet also liegt der Schluss doch nahe einen weg zu wählen mit dem man die vorteile einer serverseitigen Datenbank und einer clientseitigen abfrage paaren kann mit dem einfachen Handling von xml!!!!!!!
Dies alles ohne ASP,JSP,CGI oder PHP einsetzen zu müssen dieser weg hat noch einen anderen Vorteil , nämlich die Aktualisierung aber dazu später mehr Die Suchroutine sollte die Abfragen ausführen ,dazu kann man zwei Möglichkeiten wählen
1)man gibt die Suchbegriffe fest vor und hinterlegt sie in einer Datei
2)man lässt die Routine die Datenbank durchsuchen
Ersteres hat den Vorteil dass man keine sql abfrage durchzuführen braucht also einfach mittels eines jscripts die suchmaske vorgibt ,außerdem kann man falsche oder fehlerhafte sucheingaben abfangen indem man diese vorsieht in der Routine! die zweite Möglichkeit durchforstet die db direkt(mittels sql oder asp) muss also nicht extra aktualisiert werden, findet aber auch lediglich begriffe die exakt angegeben wurden für was man sich entscheidet ist letztendlich geschmacksache! aber back to XML Dies ist die einfache Definition einer Datensammlung bib ist die Bibliothek in dieser befindet sich das Erscheinungsjahr des Buches ,der titel,author und publisher,sowie Name und lastname(Nachname)des Autors wie direkt ins Auge fällt ist der author und lastname identisch, des Weiteren Publisher und Name sind gleich bzw. haben den gleichen Inhalt! dies ist eine relativ einfache art und weise Suchbegriffe für dateninseln zu verbinden in diesem fall ist author und Nachname ein begriff,folglich kann dieser Eintrag gefunden werden wenn nach author oder Nachname gesucht wird!
<bib > < book year="1990">
< title> Erlauterungen zur Datenbank </title>
< author> <lastname> Mann </lastname> </author>
< publisher> <name> Thomas </name > </publisher>
< /book>