Kleines XML Tutorial

in german language/auf deutsch
Post Reply
Online
User avatar
bad_brain
Site Owner
Site Owner
Posts: 11532
Joined: 06 Apr 2005, 16:00
15
Location: The zone.
Contact:

Kleines XML Tutorial

Post by bad_brain »

Naja,so wie das Java Tut auch eher ne Stichwortsammlung als n Tutorial.. :wink:

XML

Verwendung von XML:
-Dokumenten- und Contentmanagement
XMList ideal für die vielseitige, flexible Präsentation im Medienbereich (z.B. Süddeutsche Zeitung)
-Elektronischer Datenaustausch von Geschäftsdokumenten
-Web Services

Dokumentenorientierte Verarbeitung
Stellt den Nutzen Informationen in verschiedener Form zur Verfügung

Datenorientierte Verarbeitung
Softwareanwendungen tauschen Informationen untereinander aus

XML = Extensible Markup Language //erweiterbare Auszeichnungssprache
Durch die Trennung von Inhalt und Präsentation können XML-Dokumente in verschiedenenMedien wiedergegeben werden.
Die strukturierung der Daten ist vorteilhaft beim Umgang mit grossen Datenmengen und Dokumenten.

Bsp:

<?xml version="1.0" encoding="ISO-8859-1"?> //prolog,encoding gibt Zeichensatz an,hier westeurop. mit ü,ö..
auch "Processing Instructions" genannt
<!DOCTYPE Sachbuchsammlung SYSTEM "xxx.dtd"> //Legt Wurzelelement fest sowie wo die dtd liegt
<Sachbuchsammlung> //Wurzelelement,ist allen anderen Elementen übergeordnet
<Buch>
<Titel>Buch xxxxxx</Titel>
<Autor>bad_brain</Autor>
<Verlag>xxx-Verlag</Verlag>
<Erscheinungsjahr>2005</Erscheinungsjahr>
<Gebiet>Hacking</Gebiet>
</Buch>
...
<!-- Kommentar --> //Kommentare werden durch <!-- --> definiert
...
...
</Sachbuchsammlung>

Attribut
Ein Attribut ist ein Zusatz zu einem Tag welchen zuätzliche Informationen zum Inhalt des Tags gibt,z.B.:
<Titel Gebiet="XML">Mein Buch</Titel>

Entity
Ein Entity ist eine Art Shortcut, wird benutzt um oft vorkommende Textpassagen nicht jedes Mal neu eingeben zu müssen:
<!ENTITY name "Text">
Anstelle des kompletten Textes muss nun nur noch &name; angegeben werden.
Vordefinierte Entities:
< = <
> = >
&apos; = '
" = "
& = &

CDATA
Charakter Data <! [CDATA[
.....
.....
]]> //alles innerhalb des CDATA-Bereichs wird als Zeichen gelesen,und nicht als Anweisung,auch wenn es Tags sind.
Wohlgeformtes Dokument
- Elemente müssen Start- und Endtag besitzen (ausser leere Elemente)
-Eindeutiges Wurzelelement
-Tags müssen richtig geschachtelt sein
-Das Dokument muss mindestens aus einem Element bestehen,Prolog ist optional

Leere Elemente
Werden z.B. gebraucht um externe Objekte wie Bilder einzubinden:
<MEINBILD source="dateiname.gif"/> //kein Endtag,da das Ende im Tag selbst vorhanden ist "/>"

DTD //Document Type Definition
DTDs definieren die zulässigen Tags und die Elemente eines XML-Dokuments

Benutzung eines externen DTDs:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE nameoberstesElement SYTEM "name.dtd">

Benutzung eines internen DTDs:
<?xml version="1.0" encoding="ISO 8859-1"?>
<!DOCTYPE nameoberstesElement [
...
...
...]>

Wird benutzt um den Austausch von XML-Dokumenten zwischen Partnern zu erleichtern, in DTDs wird die Struktur des XML-Dokuments festgelegt, so wird die Weiterverarbeitung erleichtert.

<!ELEMENT Buch (Titel, Autor, Verlag, Erscheinungsjahr, Gebiet)>
<!ELEMENT Titel (#PCDATA)> //PCDATA=Inhalt zwischen Tags darf jedes Zeichen sein ausser
Element Tags wie <>,&,]]
<!ELEMENT Verlag (#ANY)> //JEDES Zeichen darf vorkommen
Ein XML-Dokument ist GÜLTIG wenn es den Regeln der DTD entspricht.

<!ELEMENT Kundenadresse (Kunde+)> // bei Angabe von "+" MUSS dieses Element mindestend 1x vorkommen!
<!ELEMENT Kunde (Nachname, Vorname*)> //bei Angabe von "*" kann das Element 1x,mehrmals oder garnicht vorkommen!
<!ELEMENT Kunde (Email | Tel-Nummer)> //bei Angabe muss entweder das eine oder das andere Element vorkommen!
<!ELEMENT Kunde(Name?)> //bei Angabe von "?" darf dass Element nur 1x vorkommen!

Entities in DTDs:
<!ENTITY % name "Text">
extern:
<!ENTITY % SYSTEM "url">

Beide Seiten (Sender und Empfänger) müssen die gleiche DTDs benutzen, bei grossen Unternehmen z.B. sind diese in sog. Repositories im Internet gespeichert und werden bei Bedarf zur Verfügugn gestellt
XML Parser sind Programme die zur Verarbeitung von XML-Dokumenten, zur Überprüfung ihrer Wohlgeformtheit und Gültigkeit.

DOM und SAX //Document Object Model und Simple API for XML
DOM stellt ein Standard -Interface zum Zugriff und zur Manipulation von XML-Strukturen bereit. XML-Dokumente werden in Form einer Objekthierarchie dargestellt. Das Interface ist plattform- und programmiersprachenneutral.
DOM stellt die notwendigen Informationen in einem Objektbaum im Hauptspeicher des Rechners zur Verfügung, so dass dann darauf mit dem Parser zugegriffen werden kann wenn das Dokument komplett analysiert wurde, es gibt DOM-Parser für z.B. Java, C++, C#, Perl, COBOL.
SAX ist hauptsächlich für Java-Entwickler gedacht, stellt eine einfachere Schnittstelle zur Verfügung als DOM, bietet aber weniger Funktionalität. Im Gegensatz zu DOM stellt SAX schon beim Einlesen des Dokuments Informationen dem Parser zur Verfügung und nicht erst wenn das komplette Dokument eingelesen wurde. Er meldet dem Anwendungsprogramm z.B. Ereignisse wie "bin am Anfang des Dokuments", "ich habe den Start eines Elements" oder "ich habe das Ende eines Dokuments". Deshalb ist die Performance bei SAX besser als bei DOM.
SAX ist besser geeignet zum Lesen einzelner Informationen aus dem XML-Dokument
DOM ist besser geeignet zum Lesen von Struktur-Informationen und zum Ändern von Inhalten im XML-Dokument.

Präsentation von XML-Dokumenten mit CSS und XSL
Angabe eines CSS-Stylesheets:
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="Dateiname.css"?>
...
...
...

Bsp:
Gebiet
{
background: blue;
text-align: center;
color: Yellow;
display: block; //block=eigener Absatz
font-size: 26pt;
}

"display"-Eigenschaften in CSS:

Buch {
display:none //Element wird nicht angezeigt
}

display:block; //Erzeugt einen Block,also einen Absatz
display:inline; //erzwingt Fliesstext, also keine Absätze
display:list-item; //erzeugt Liste,funktioniert aber nicht in IE und Mozilla

border:
border-style:solid; //durchgezogener Rand
border-style:dottet; //gepunkteter Rand
border-style:dashed; //gestrichelter Rand
border-style:double; //Doppellinie

margin: //legt Abstand zum Rand fest
margin-top:20px; //20 pixel Abstand von oben (right,left,bottom,top)

text-align:
text-align:left; //Textausrichtung nach links (left,right,center,justify<als Blocksatz)

font-weight: //bold<fett,bolder<extra fett,lighter<dünn)
font-style: //italic<kursiv
font-size: //kann in pt<punkt,pc<pica=12pt,in<inch,mm,cm angegeben werden

Schriftarten:
font-family: //serif,sans-serif,cursive,fantasy,monospaced

Hintergrundfarbe:
background-color: // kann mit 'ff0000, rgb(200,200,200), blue/red,etc. angegeben werden

XSL
XSL=Extensible Style Language
XSL ist eine regelbasierte Sprache, die ein XML-Dokument in ein anderes transformiert. Das Ergebnisdokument kann mit zusätzlichem Text und Stilanweisungen versehen werden.

XSL zerlegt den Vorgang der Darstellung eines XML-Dokuments in 2 Schritte:
WAS wird angezeigt //Transformationssprache
WIE wird es angezeigt //Formatierungssprache

Vorteile von XSL zu CSS:
Die Anzeige bleit bei CSS relativ statisch, während bei XSL das Dokument beliebig umgeformt, die Anzeige in eine neue Reihenfolge gebracht und damit flexibel präsentiert werden kann.

XSLT
XSLT bietet Regeln für den Transformations-Prozess eines Source Trees (XML Ausgangsdokument) in einen Result Tree (XML Zieldokument).
Die regeln einer XSL-Transformation heissen Schablonenregeln (Template Rules), dabei werden die Knoten (Nodes) in der Baumstruktur identifiziert und Anweisungen zur weiteren Verarbeitung formuliert. XSLT kann Bestandteile des Dokuments herausfiltern, Passagen umordnen oder das Dokument völlig umformen.
Durch einen Mustervergleich (Pattern Matching) wird der jeweilige Knoten identifiziert und eine Verarbeitungsregel formuliert. Daraus resultiert ein neuer Verzeichnisbaum.
Schablonenregel Bsp:
<xsl:template match="Autor"> //die folgenden Anweisungen gelten also für das Element "Autor"

XPATH
XPath dient als Sprache zur Adressierung von Teilen eines XML-Dokuments

XQUERY
XQuery ist eine von W3C standardisierte XML-Anfragesprache, sie nutzt XPath.
Anfratge mit "for" und "where"-Parametern ergeben ein "return" Ergebnis als in Form von einer XML-Struktur.
XLink
XLink definiert wie ein Dokument mit einem anderen verknüpft wird, das Konzept erweitert die von HTML bekannten Möglichkeiten.

XPointer
XPointer baut auf die Spezifikationen von XPath auf und ergänzt sie um spezielle Eigenschaften welche für die Link-Funktionalität benötigt werden.
Single Source Documentation: Ausgangsmaterial muss nur 1x gespeichert sein, die Arten der verschiedenen Darstellungsmöglichkeiten werden mit XML geregelt.

EDI
=Electonic Data Interchange
EDI wurde für den zwischenbetrieblichen Austausch von Geschäftsdokumenten wie Bestellungen, Rechnungen oder Lieferscheinen konzipiert. Es soll zwischen Behörden, Industrie-, Handels- und Dienstleistungsunternehmen in der ganzen Welt eingesetzt werden.
Die Standards für EDI sind in EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport) festgelegt, Sender und Empfänger müssen den gleichen Standard benutzen!
Vorteile von EDI:
-Die Vermeidung von Fehlern bei der wiederholten erfassung von Dokumenten
-Verbesserung des Kundenservices
-Beschleunigte Abwicklung der Geschäftsvorfälle durch elektronischen Datenaustausch im Vergleich zum physischen Versand von Dokumenten (Brief)
-Reduzierung der Lagerhaltungskosten
-Aufbau strategischer Geschäftspartnerschaften

Bei EDI werde die Dateninhalte, Felder, Bedeutungen der Felder über sog. Transaktionssätze geregelt.
DHTML
Dynamic HTML, W3C-Standard für die Erweiterung von HTML, der aus HTML 4.0, CSS, DOM und Skriptsprachen besteht.


Web Services //Dienste imWeb
XML wird auch verwendet um verschiedene Anwendungen miteinander zu verbinden, zum Beispiel in Unternehmen, auf Basis von XML werden Dienste im Web angeboten welche über den schlichten Datenaustasuch hinaus die Nutzung von Programmfunktionen erlaubt.Webe-Services erleichtern die Integration von Anwendungen, unabhängig von der Programmiersprache oder dem Betriebssystem. Web Services spielen zum Beispiel eine grosse Rolle in der Microsoft .net-Architektur und auch in der Java Entwicklungsumgebung J2EE.

Web Services regeln:
-das Format der Nachrichten
-Adressinformationen und das Interface mit dem die Nachricht gesendet wird
-Beschreibung der Regeln mit der die Nachricht mit den Programmen zusammenspielt
-Beschreibung der Mechanismen wie Web Services zu veröffentlichen und zu finden sind (Nutzerbeschränkung,Verschlüsselung)

XML und SOAP
Web Services werden mit XML-Tags beschrieben, die Bedeutung der Auszeichnungen werden mit dem Protokoll SOAP (Simple Object Access Protocol) geklärt.
Bei SOAP geht es hauptsächlich darum Funktionen eines enfernten Programms aufzurufen und dabei XML-Technologie und das HTTP-Protokoll zu nutzen.
Diese Nutzung von Funktionen entfernter Programme mit Übergabe von Parametern für das zu nutzende Programm und den erhalt für Rückgabewerten bezeichnet man als RPC (Remote Procedure Call)

SOAP=RPC mit XML und HTTP
Einen RPC nennt man die aufzurufende Funktion,beschreibt Parameter und Rückgabewerte und benötigt ein Transportprotokoll, bei SOAP ist die HTTP mit Beschreibungen in Form von XML.
Die Beschreibung von Web Service findet mit WSDL (Web Services Description Language) statt, WSDL basiert auf XML und definiert die Interfaces, Daten- und Nachrichtentypen und wird in XML-Schema geschrieben.

UDDI
Universal Description,Discovery and Integration
Ist eine Art "gelbe Seiten" von Web Services, mit dem sich Dienste von z.B. Firmen auffinden lassen.
Ist aber noch im Probestadium, da noch Fragen wie Sicherheitsmechanismen und Bezahlsystem geklärt werden müssen.

Post Reply