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
Читать дальше