Weitere Möglichkeiten

Größe: px
Ab Seite anzeigen:

Download "Weitere Möglichkeiten"

Transkript

1 Weitere Möglichkeiten mit XML 3

2 Weitere Möglichkeiten mit XML Nachdem Sie am gestrigen Tag die Grundlagen der XML-Programmierung abgeschlossen haben, können wir heute ein paar weiterführende Techniken der XML-Technologie besprechen. Mit den ersten Schritten möchte ich allerdings ein paar grundsätzliche Dinge besprechen, die Ihnen das Arbeiten und Verstehen im Umgang mit XML-Dokumenten sehr erleichtern werden. Definition: wohlgeformte Dokumente Ein Begriff, den ich Ihnen in den ganzen letzten Kapiteln verschwiegen habe, ist die Definition eines wohlgeformten Dokuments, das quasi die Grundvoraussetzung für jeden weiteren Arbeitsschritt ist. Ich habe diesen Begriff vorher nicht erwähnt, weil er eigentlich zu simpel und zu selbstverständlich ist, als dass er groß erklärt werden müsste. Auf der anderen Seite allerdings dient er dazu, eine bestimmte Art von XML-Dokumenten von anderen abzugrenzen, die einem noch strengeren Reglement unterworfen sind. Es hätte keinen Sinn gemacht, dieses Stichwort am Anfang dieses Buches einzuführen, wo außer ein paar kleinen Ansätzen noch keine wesentlichen Grundlagen der XML-Programmierung erklärt worden sind. Doch fangen wir von vorne an: Wenn ein Programmierer von»wohlgeformten XML-Dokumenten«spricht, dann meint er im Prinzip nichts anderes als ein XML-Dokument, das keine syntaktischen Fehler enthält. Der Autor dieses Dokuments hat also einen XML-Baum geschaffen, der sich an alle Regeln der XML-Syntax hält: Jeder Tag muss einen Abschluss-Tag besitzen. Der Abschluss-Tag muss mit dem Start-Tag übereinstimmen. Unterscheidung zwischen Groß- und Kleinschreibung: Das bedeutet, dass der Tag <FETT> nicht mit dem Tag <fett> übereinstimmt. Tags müssen in umgekehrter Reihenfolge, in der sie geöffnet wurden, wieder geschlossen werden. Alle konkreten Daten (Nicht-Tags) müssen innerhalb von Elementen abgelegt werden. Das folgende Beispiel zeigt ein NICHT wohlgeformtes XML-Dokument. Der Autor hat verschiedene Fehler bezüglich des Aufbaus und der Struktur der Daten gemacht: Listing 3.1: Fehlerhafte XML-Datei <?xml version="1.0"?> <book num="2 edition="paperback"> <author> <name>kurt</namen> <surname>rothmann</surname> <title>kleine Geschichte der deutschen Literatur</title> <publisher>reclam</publisher> <isbn> </isbn> <pages>410</pages> </book> 58

3 Der Parser würde sich bereits beim ersten Fehler in der Datei beschweren (fehlende Anführungszeichen Zeile 3) und den Dienst quittieren. Ein wohlgeformtes (englisch: well-formed) XML-Dokument ist die Grundvoraussetzung für die erfolgreiche Weiterverarbeitung der Daten mittels verschiedener Software-Komponenten. Würde ein Dokument Fehler enthalten, dann müssten Analyse oder Transformation der Daten in einer Fehlermeldung enden. Dem Ausdruck des»wohlgeformten Dokuments«steht die Definition des»gültigen Dokuments«gegenüber, welche ein noch strengeres Reglement definiert. Im Gegensatz zum wohlgeformten Dokument muss ein gültiges (englisch: valid) Dokument neben den allgemeinen Syntax-Regeln auch den Einschränkungen einer zusätzlichen Grammatik genügen. Diese so genannte Dokumenten-Typ-Definition werden wir im nächsten Kapitel genau besprechen. XML im Microsoft Internet Explorer Da die bisherigen Beispiele zum Thema XML zugegebenermaßen nicht sehr farbenfroh waren, möchte ich Ihnen an dieser Stelle eine Möglichkeit vorstellen, XML-Code einfach und übersichtlich darzustellen. Im Gegensatz zu den meisten anderen Mainstream-Browsern zeichnet sich der Microsoft Internet Explorer durch einen integrierten XSLT-Prozessor aus, der es erlaubt, XML-Dokumente strukturiert darzustellen. Um ein XML-Dokument im Browser betrachten zu können, müssen Sie es wie ein HTML- Dokument auf den Browser ziehen (Drag&Drop) oder über die Befehlszeile vom lokalen Rechner aus aufrufen. Dabei geben Sie einfach das Laufwerk und den Pfad zum XML-Dokument auf dem lokalen Rechner in die Adressleiste ein. C:\xml\dokumente\data.xml Testweise sollten Sie jetzt einmal eine XML-Datei von der beiliegenden CD-ROM öffnen und sich das Ergebnis anschauen. Das XML-Dokument (Abbildung 3.1) wird als interaktive Baumstruktur dargestellt, die es erlaubt, nach Belieben den Inhalt kompletter Knoten per Mausklick ein- und auszublenden. Alle Tags wurden automatisch braun eingefärbt, sodass sich die eigentlichen Daten davon abheben und leicht zu erkennen sind. Microsoft hat mit dieser Vorgehensweise der Konkurrenz einiges voraus, da die meisten anderen Browser XML-Daten wie einfache Textfiles behandeln. Der Netscape Navigator versucht dasselbe XML-File als HTML-File zu interpretieren und scheitert kläglich, weil keiner der verwendeten Tags bekannt ist. Der Microsoft Internet Explorer dagegen verwendet einen eingebauten XSLT-Prozessor, der XML-Daten ohne explizites Stylesheet in einem besonderen Default-Layout darstellt. Diese Möglichkeit erlaubt es, alle XML-Dateien einfach zu analysieren und die gespeicherten Daten bequem zu überblicken. Die Verwendung von eigenen Stylesheets im Internet Explorer wird am sechsten Tag dieser Woche besprochen. Neben der einfachen Darstellung der XML-Daten kann der Browser von Microsoft noch ein paar interessante Dinge mehr, die vor allem für Einsteiger sehr nützlich sein können. Der integrierte 59

4 Weitere Möglichkeiten mit XML Prozessor parst jedes XML-File vor der Transformation auf syntaktische Fehler und stellt so sicher, dass nur wohlgeformte Dokumente dargestellt werden. Sollte das Dokument einen Fehler enthalten, wird die Verarbeitung abgebrochen und der Fehler mit exakter Zeilen- und Zeichenangabe entlarvt (Abbildung 3.2). Abbildung 3.1: XML im Microsoft Internet Explorer Abbildung 3.2: Fehlermeldung vom Internet Explorer 60

5 Bei selbst geschriebenem oder unbekanntem XML-Code ist diese Eigenschaft sehr nützlich, um ohne großen Aufwand Fehler zu entdecken und zu korrigieren. Allerdings gilt auch an dieser Stelle hin und wieder ein gesundes Misstrauen gegenüber den Zeilenangaben der Fehlermeldung, da dieser immer nur an der Stelle gemeldet wird, wo er letztendlich aufgefallen ist. Besonders bei fehlenden Anführungszeichen kann der eigentliche Fehler schon ein paar Zeilen höher zu finden sein. Leere Elemente Eine Besonderheit von XML ist der Einsatz von so genannten leeren Elementen, die keine Informationen beinhalten. Wir hatten ja bereits besprochen, dass Elemente immer aus einem Start- und einem Endtag bestehen müssen, die zusammen mit den umschlossenen Daten ein vollständiges XML-Element bilden. <myelement> Ich bin ein Element! </myelement> Es gibt allerdings auch Fälle, in denen ein Element keine speziellen Daten enthält und nur für sich alleine dargestellt wird. Die Information, die dieses Element dann speichert, wird allein dadurch übergeben, dass dieses Element an dieser speziellen Stelle auftaucht. Die Situation ist vergleichbar mit einigen HTML-Tags, die ebenfalls aufgrund ihrer alleinigen»anwesenheit«einfluss auf die Darstellung des Dokuments nehmen. Das wichtigste und sicher am häufigsten verwendete HTML-Element ist <BR>, das einen simplen Zeilenumbruch markiert. Dasselbe gilt für den Einsatz von <HR>, das eine horizontale Linie in das HTML-Dokument einfügt. Beide Tags stehen ohne Abschluss-Tag im Dokument und werden interpretiert. Ähnlich kann es sich bei bestimmten XML-Elementen verhalten, die ebenfalls nur durch ihre Existenz Informationen übergeben. Denkbar wäre ein Element mit dem Namen incomplete, das anzeigt, dass ein bestimmter Datensatz nicht komplett ist. <incomlete></incomplete> Sie werden mir sicher zustimmen, wenn ich behaupte, dass diese Weise der Darstellung nicht der Weisheit letzter Schluss ist. Davon abgesehen, dass ein Dokument durch diese Schreibweise ziemlich aufgebläht wird, erscheint das abschließende Element als unnötig, da im Prinzip ja schon alles gesagt wurde. Die XML-Spezifikation ist sich dieser Situation durchaus bewusst, und hat deshalb eine Möglichkeit definiert, diese Schreibweise elegant zu verkürzen. <incomplete /> Die beiden Tags werden einfach zu einem Tag zusammengefasst, indem der öffnende Tag auch gleichzeitig den abschließenden Tag darstellt. Die Syntax unterscheidet sich an dieser Stelle von HTML, da ein Slash am Ende des Tags die Sonderstellung des Elements unterstreicht. Es ist nach wie vor möglich, einem leeren Element Attribute zuzuordnen, um weitere Informationen an dieser Stelle unterzubringen. Die Syntax unterscheidet sich dabei nicht wesentlich von den bekannten Möglichkeiten. <incomplete missing="name,isbn" /> 61

6 Weitere Möglichkeiten mit XML Das Element wird nach wie vor einfach mit einem abschließenden Slash geschlossen, nachdem alle Elemente gesetzt wurden. Ein weiterer wesentlicher Faktor, der für die Integration von leeren Elementen in XML gesprochen hat, ist die Möglichkeit von XML-kompatiblen HTML-Dateien, die besonders im Bereich der Internetanwendungen eine große Rolle spielen. Wenn Sie einmal versucht haben, ein HTML-Dokument von einem XML-Parser interpretieren zu lassen, dann werden Sie spätestens an den oben genannten nicht geschlossenen Tags Probleme bekommen haben. Der Parser beschwert sich, da die Elemente keinen Abschluss-Tag enthalten. Im Kapitel über XSL und XML-Transformation werden wir dieses Thema wieder ansprechen und das Problem durch den Einsatz von leeren Elementen lösen. 3.1 Namensräume Zu Beginn dieses Buches haben wir das Thema der Namensräume bereits kurz angeschnitten, ohne dabei jedoch weiter ins Detail zu gehen. An dieser Stelle möchte ich das Versäumte nachholen und das Thema in aller Ausführlichkeit vorstellen. Vorweg jedoch ein paar Worte, die den Einsatz dieser Technik ins rechte Licht rücken. Wie Sie bereits wissen, dienen Namensräume dazu, Namenskonflikte in bestimmten Bereichen zu verhindern. Solche Konflikte treten immer dann auf, wenn XML-Dokumente aus verschiedenen Bereichen zusammengefasst werden, die gleichnamige Elemente für unterschiedliche Merkmale verwenden. Ein entsprechendes Beispiel wurde bereits im einführenden Kapitel dieses Buches besprochen. In diesem Licht betrachtet, ist die Festlegung von Namensräumen natürlich nur dann sinnvoll, wenn XML-Dokumente mit verschiedenen anderen Dokumenten in Kontakt kommen und gemeinsam verarbeitet werden. Für alle anderen Dokumente, die im Laufe ihrer Lebenszeit ausschließlich für sich allein behandelt werden, ist diese Technik wertlos. Alle Elemente aus einem solchen Dokument werden automatisch einem allgemeinen Namensraum zugeordnet. Der Sinn von Namensräumen Alle modernen Programmiersprachen kennen die Möglichkeit, bestimmte Bezeichner innerhalb eines Programms für einen abgeschlossenen Bereich zu definieren. So wird verhindert, dass verschiedene Programmteile eines Systems miteinander in Konflikt geraten, indem sie dieselben Bezeichner verwenden. Klassisches Beispiel für eine solche Problemlösung ist der Einsatz von lokalen Variablen in prozeduralen Sprachen beziehungsweise von Klassen- und Instanzvariablen in objektorientierten Sprachen. Folgendes Beispiel demonstriert an einem sehr einfachen Javaprogramm den Einsatz und das Wirken von Namensräumen in einem Programm. 62

7 Namensräume Listing 3.2: Beispielprogramm für Namensräume in Java class A { //Variablen int zahl = 25; String name = "Dirk Ammelburger";... } public class namensraum { //Variablen static int zahl = 1000; static String name = "Albert Einstein"; //main()-methode public static void main(string args[]) { A a = new A(); //eigener Namensraum System.out.println(zahl); System.out.println(name); } } //qualifizierter Namensraum der Instanz von A System.out.println(a.zahl); System.out.println(a.name); 1000 Albert Einstein 25 Dirk Ammelburger Wie Sie sehen, existieren die Variablen zahl und name in beiden Klassen problemlos nebeneinander, ohne sich in irgendeiner Form in die Quere zu kommen. Jede der beiden Klassen hat einen eigenen Namensraum deklariert, die sich eindeutig voneinander unterscheiden lassen. Auf der einen Seite steht der Namensraum des Objektes a, der durch die Vorsilbe a. angesprochen wird, und auf der anderen Seite steht der Namensraum der Klasse namensraum. Innerhalb dieser Klasse kann auf die eigenen Variablen ohne eine explizite Vorsilbe zugegriffen werden. Dieser Zustand ist vergleichbar mit einem XML-Dokument, das keine eigenen Namensräume definiert hat. Wird aber ein weiteres Objekt in dieser Klasse verwendet, das Variablen mit identischen Bezeichnern verwendet, entsteht eine potenzielle Konfliktgefahr. Erst durch den Einsatz von Namensräumen, in dem Fall der Vorsilbe a., wird die Situation entschärft und kann ohne Probleme dargestellt werden. 63

8 Weitere Möglichkeiten mit XML Man spricht in diesem Fall auch von qualifizierten Namen für Variablen. Demgegenüber stehen die unqualifizierten Variablennamen, die ohne Namensraum eingesetzt werden. Das Beispiel zeigt, dass Java konsequent qualifizierte Namen den unqualifizierten vorzieht, um Probleme zu vermeiden. Ähnlich wie in diesem Beispiel verhält es sich mit XML-Dateien, die mit anderen XML-Daten verwendet werden sollen. Sobald verschiedene Elemente den gleichen Bezeichner verwenden, hat der Parser ein Problem, weil er nicht weiß, wie er die Daten behandeln soll. Aus diesem Grund wurde die Möglichkeit der Namensräume auf XML-Dokumente übertragen. Namenskonflikte in XML XML-Dokumente können in der Praxis aus sehr unterschiedlichen Quellen stammen. Ähnlich wie im vorhergehenden Java-Beispiel wollen wir zwei unterschiedliche Datenwelten aufeinander prallen lassen, die für verschiedene Definitionen dieselben Bezeichner verwenden. Auf der einen Seite steht das Dokument 1, das verschiedene Elemente im Wurzelelement DATA_1 definiert. Auf der anderen Seite steht ein zweites Dokument, das wir an dieser Stelle einfach mal 2 taufen, und definiert eine weitere Anzahl von Elementen im Wurzelelement DATA_2. Listing 3.3: Namenskonflikt zwischen zwei Dokumenten Dokument 1: <?xml version= 1.0?> <DATA_1> <A>Daten in Element A</A> <B> <C>Daten in Element C</C> <D>Daten in Element D</D> </B> <E>Noch mehr Daten in Element E</E> </DATA_1> Dokument 2: <?xml version= 1.0?> <DATA_2> <X>Daten in Element X</X> <A>Daten in Element A</A> <Y>Daten in Element Y</Y> </DATA_2> Wie Sie sehen, definiert sowohl der Datensatz DATA_1 als auch der Datensatz DATA_2 ein Element mit dem Namen A. In diesem Beispiel wäre das kein Problem, da beide Elemente dieselben Daten enthalten, aber davon kann man in der Praxis nicht immer ausgehen. Stößt jetzt ein Parser auf das Element A, dann hat er keine Chance, das Element richtig zu interpretieren, da es aus zwei völlig 64

9 Namensräume verschiedenen Kontexten stammt. Problematisch wird die Sache, wenn der Parser die Elemente der verschiedenen Datensätze unterschiedlich auslegen muss, um ein Ergebnis zu produzieren. So kann A in einem Dokument für den Titel eines Buches stehen, während in dem anderen Dokument A der Titel einer Gesamtausgabe ist. Es ist offensichtlich, dass diese Informationen getrennt voneinander verarbeitet werden müssen, um ein sinnvolles Ergebnis zu produzieren. Ein mögliche Lösung an dieser Stelle wäre der Vorschlag, die einzelnen Elemente anhand ihrer Position im Dokument zu analysieren, sofern der Parser diese Möglichkeit berücksichtigt. Es könnte beispielsweise versucht werden, zwischen den ehemaligen Wurzelelementen DATA_1 und DATA_2 zu unterscheiden, sofern diese Struktur erhalten geblieben ist. Dieses Vorgehen führt allerdings nur zu einem Erfolg, solange beide XML-Dokumente derselben oder keiner Grammatik unterliegen. Wir haben dieses Thema noch nicht genauer besprochen, darum werde ich im Kapitel über die Dokumenten-Typ-Definition noch einmal genauer darauf zurückkommen. Allgemein kann man sagen, dass eine Grammatik (DTD) den Elementen eines oder mehrerer XML-Dokumente bestimmte Eigenschaften zuordnet, nach denen sie sich richten müssen. Ist das der Fall, dann spricht man auch von validen (gültigen) Dokumenten. Problematisch wird es, wenn zwei Dokumente mit verschiedenen Grammatiken aufeinander stoßen. Die unterschiedlichen Definitionen der Elemente würden sich gegenseitig überschreiben, so dass keine korrekte DTD mehr zustande kommen kann. Auch hier sorgt eine Festlegung von Namensräumen für Ordnung und verhindert, dass Chaos entsteht. In unserem anfänglichen XML-Modell waren alle Namen und Bezeichner der verschiedenen Elemente einem allgemeinen und lokalen Namensraum zugeordnet. Wir mussten uns nicht weiter um die Einhaltung der Namenskonventionen kümmern, da keine Gefahr bestand, dass unser Namensraum verletzt wird. In Zukunft kann das anders sein, da wir nun zwischen»einfachen«unmodularen Dokumenten und den frei kombinierbaren Dokumenten unterscheiden müssen. Die erste Gruppe gehört zu den glücklichen Dateien, die nie einen Namensraum brauchen werden, während der ganze Rest in Zukunft einem Namensraum zugeordnet werden sollte. Die Lösung mit der Vorsilbe Wenn Sie die Einleitung zum»buchstabensalat«von XML gelesen haben, dann ahnen Sie sicher schon, wie es weitergeht. Wir brauchen eine Möglichkeit, um die verwendeten Elemente voneinander unterscheiden zu können, ohne allerdings die bestehende Struktur komplett auseinander zu reißen oder jedem doppelten Element einen neuen Namen zu verpassen. Was liegt hier näher, als sich am funktionierenden Beispiel anderer Sprachen zu orientieren und es dann für XML genauso zu machen? Genau wie im obigen Beispiel zu den Namensräumen in Java wird einfach jedem der beiden Dokumente ein eigener Bereich zugeordnet, für den die jeweiligen Bezeichner Gültigkeit haben. Dabei bedient man sich einer recht einfachen Vorsilben-Notation, die es erlaubt, zwischen den beiden Namensräumen zu unterscheiden. Anstelle eines Punkte wie bei Java verwendet man hier einen Doppelpunkt: 65

10 Weitere Möglichkeiten mit XML Listing 3.4: XML-Dokumente mit Namensräumen Dokument 1: <?xml version= 1.0?> <D1:DATA_1> <D1:A>Daten in Element A</D1:A> <D1:B> <D1:C>Daten in Element C</D1:C> <D1:D>Daten in Element D</D1:D> </D1:B> <D1:E>Noch mehr Daten in Element E</D1:E> </D1:DATA_1> Dokument 2: <?xml version= 1.0?> <D2:DATA_2> <D2:X>Daten in Element X</D2:X> <D2:A>Daten in Element A</D2:A> <D2:Y>Daten in Element Y</D2:Y> </D2:DATA_2> Die Lösung scheint so simpel wie genial zu sein, denn jetzt sind scheinbar alle Probleme gelöst. Beide Dokumente können nebeneinander von einem Parser verarbeitet werden, ohne dass es Probleme wegen der identischen Bezeichnung der Elemente gibt. Gleichzeitig musste keine der beiden Dateien in der Struktur verändert werden, da alle Bezeichner ihren Namen behalten haben. Die Elemente werden einfach anhand der Vorsilbe identifiziert und einem Namensraum zugeordnet. Allerdings wäre eine solche auf Vorsilben basierende Notation nicht komplett, wenn nicht noch einige zusätzliche Vorkehrungen getroffen würden. Wir haben an dieser Stelle zwar sichergestellt, dass die beiden Beispiele keinen Namenskonflikt mehr austragen müssen, allerdings fehlt nach wie vor die Sicherheit, dass unsere Vorsilben im kompletten Netz auch einzigartig sind. Für zwei Buchstaben ist diese Anforderung sicher etwas viel verlangt, vor allem wenn man bedenkt, dass die Ansprüche auch in Zukunft erfüllt werden sollten. Namensräume für das Internet Um den oben genannten Ansprüchen gerecht zu werden, muss also noch etwas geschehen. Die Namensraum-Definition, wie sie in den oben gemachten Beispielen vorgestellt wurde, muss greifbarer werden und eindeutig in einem globalen Netzwerk identifizierbar sein. Es ist offensichtlich, dass die Vorsilbe allein diesem Kriterium nicht gerecht wird, da schlicht zu wenig Zeichen verwen- 66

11 Namensräume det werden. Auch eine Ausweitung der Zeichenzahl würde zu Problemen führen, da spätestens bei Vorsilben mit mehr als 15 Zeichen die Lesbarkeit des Quellcodes stark leiden würde. Zum Glück ist dieses Problem schon an anderer Stelle für uns gelöst worden, denn XML ist nicht die einzige Technik, die nach eindeutigen Namen für Netzwerk-Ressourcen verlangt. Die Namensraum-Recommendation greift an dieser Stelle auf die bekannte Technik der Uniform Resource Identifier (URI) zurück, die es erlaubt, eindeutige Webnamen zu vergeben. Auf diese Weise kann ein XML-Element einem globalen Namensraum zugewiesen werden, der mit Sicherheit eindeutig definiert ist. Beispiel für eine URI: Da URIs zu lang sind, um als Vorsilbe in einem XML-Dokument verwendet zu werden, und außerdem nicht den geforderten Namenskonventionen entsprechen, muss diese eindeutige Adresse innerhalb des Dokuments mit der verwendeten Vorsilbe verknüpft werden. Das bedeutet, dass innerhalb des Dokuments die lokalen Bezeichnungen der Namensräume erhalten bleiben und erst vom Parser mit der jeweiligen URI assoziiert werden. Die Zuweisung der URI an den lokalen Bezeichner geschieht in der Regel im Wurzelelement des Dokuments. Zu diesem Zweck wird ein spezielles Attribut verwendet, das in der Recommendation für diese Verwendung definiert wurde. <D1:DATA_1 xmlns:d1=" Diese Zeile verknüpft die Silbe D1 mit der URI, die im Attribut angegeben wurde. Das Attribut xmlns muss spätestens an der Stelle verwendet werden, an der der lokale Bezeichner für den Namensraum zum ersten Mal verwendet wird. Der Bezeichner wird durch einen Doppelpunkt vom xmlns-attribut getrennt angegeben. In der Praxis sieht diese Definition dann so aus: Listing 3.5: Dokument mit Namensraum <?xml version="1.0"?> <D1:DATA_1 xmlns:d1=" <D1:A>Daten in Element A</D1:A> <D1:B> <D1:C>Daten in Element C</D1:C> <D1:D>Daten in Element D</D1:D> </D1:B> <D1:E>Noch mehr Daten in Element E</D1:E> </D1:DATA_1> 67

12 Weitere Möglichkeiten mit XML Der Internet Explorer 6 stellt dieses Dokument so dar: Abbildung 3.3: Namensraum im Internet Explorer Damit wäre unser Problem gelöst, denn wir haben eindeutige Bezeichner für unsere Namensräume, die keinerlei Irrtum mehr zulassen. Solange die URI eindeutig im Netz vergeben ist, ist der lokale Bezeichner ein Garant für die konfliktfreie Verwendung dieses Dokuments. Gültigkeit eines Namensraums An dieser Stelle stellt sich zwangsläufig die Frage, welchen Gültigkeitsbereich eine Namensraumdefinition besitzt. Vor allem in großen Dokumenten, die aus einer ganzen Reihe von Datenabschnitten bestehen, ist diese Frage interessant, da es durchaus möglich ist, innerhalb einer Datei verschiedene Namensräume zu definieren. Generell kann man sagen, dass sich eine Namensraumdefinition ähnlich verhält wie die allgemeinen Elementeigenschaften: Sie werden vererbt. Trifft ein XML-Parser auf ein Element mit einer Vorsilbe, wird überprüft, ob auch das Attribut xmlns gesetzt wurde. Ist das nicht der Fall, geht der Parser eine Ebene höher und überprüft das Elternelement auf diesen Namensraum. Das geht so lange, bis der Namensraum definiert wurde oder das Wurzelelement erreicht ist. Fehlt die Namensraumdefinition, liegt ein Fehler vor und der Parser bricht den Vorgang ab. Zusammengefasst bedeutet dies: Namensräume werden vererbt. Alle Kindselemente können denselben Namensraum verwenden wie das Elternelement. Namensräume werden nicht an nachfolgende Elemente der gleichen Ebene weitergegeben. Namensräume müssen definiert werden, sonst liegt ein Fehler vor. Namensräume, die im Wurzelelement definiert wurden, gelten für das gesamte Dokument. 68

13 Namensräume Ein Namensraum kann wie gesagt von einem Kindelement übernommen werden, da er über die Vererbung weitergegeben wird. Ein Kindelement muss allerdings den Namensraum des Elternelements nicht verwenden, es kann durchaus auch unabhängig im Dokument stehen. Es ist sogar möglich, innerhalb eines Namensraums einen weiteren zu definieren, und diesen einem der folgenden Elemente zuzuordnen. Listing 3.6: Dokument mit verschiedenen Namensräumen <?xml version="1.0"?> <D1:DATA_1 xmlns:d1=" <D1:A>Daten in Element A</D1:A> <D1:B xmlns:xyz=" <XYZ:D>Daten in Element C</XYZ:D> <D1:D>Daten in Element D</D1:D> </D1:B> <E>Noch mehr Daten in Element E</E> </D1:DATA_1> Abbildung 3.4: Ausgabe im Internet Explorer Das Beispiel zeigt (Abbildung 3.4), wie ein Dokument mit zwei verschiedenen Namensräumen arbeitet, die ineinander verschachtelt sind. Parallel zum bekannten Namensraum D1 wird im Element B der Namensraum XYZ definiert. So ist es möglich die zwei Elemente mit dem Bezeichner D voneinander anzugrenzen, obwohl sie denselben Namen verwenden. Komplett außerhalb dieser Definitionen steht das Element E, das gar keinem Namensraum angehört und so einem allgemeinen Datenbereich zugerechnet wird. Default-Namensraum Wie ich bereits im letzten Kapitel gesagt habe, werden Elemente, die keinem speziellen Namensraum angehören, als Teil eines globalen Namensraums angenommen, der für alle Dokumente gleich ist. Solange keine störenden Daten in dieses Universum eindringen, ist die 69

14 Weitere Möglichkeiten mit XML Sache problemlos. Sie können diese Situation allerdings umgehen, indem Sie einen so genannten Default-Namensraum definieren, der automatisch für alle Elemente Gültigkeit hat, die keinem Namensraum angehören. Der Default Namensraum gilt automatisch für alle Elemente, die keine Vorsilbe besitzen. Es ist also möglich, die bis dato lokalen Elemente ohne qualifizierten Namen automatisch einzuordnen und global zu definieren. Syntaktisch wird diese Möglichkeit ebenfalls über das xmlns-attribut erstellt: <DATA_1 xmlns=" Anstelle des lokalen Bezeichners des Namensraums wird das xmlns-attribut ohne weitere Angaben auf ein URI gesetzt. Der Parser nimmt automatisch für alle lokalen Elemente diesen Namensraum als gültig an. Listing 3.7: Dokument mit einem Default-Namensraum <?xml version="1.0"?> <DATA_1 xmlns=" <A>Daten in Element A</A> <B> <C>Daten in Element C</C> <D>Daten in Element D</D> </B> <E>Noch mehr Daten in Element E</E> </DATA_1> Abbildung 3.5: Default-Namensraum im Internet Explorer Innerhalb eines Dokuments kann der Default-Namensraum aufgehoben werden, indem er für untergeordnete Elemente überschrieben wird. Das geschieht entweder durch einen speziellen Namensraum mit Vorsilbe oder indem der Default-Namensraum auf einen Leerstring gesetzt wird. 70

15 Namensräume Listing 3.8: Default-Namensraum wird überschrieben <?xml version="1.0"?> <DATA_1 xmlns=" <A>Daten in Element A</A> <B xmlns=""> <C>Daten in Element C</C> <D>Daten in Element D</D> </B> <E>Noch mehr Daten in Element E</E> </DATA_1> Im Beispiel werden alle Elemente automatisch dem Namensraum der URI zugeordnet. Die einzige Ausnahme sind die Elemente B, C und D, bei denen der Namensraum durch den Leerstring überschrieben wurde. Attribute und Namensräume Auf den letzten Seiten haben wir bisher nur über Elemente und deren Bezeichner gesprochen. Genauso interessant ist aber auch die Frage, wie es mit Attributen aussieht. Auf den ersten Blick scheint die Sache sehr einfach zu sein, da Attribute automatisch dem Namensraum zugeordnet werden, aus dem auch das dazugehörige Element stammt. Genauso wird angenommen, dass ein Attribut, das Teil eines unqualifizierten Elements ist, ebenfalls keinem (bzw. dem globalen) Namensraum zugeordnet wird. Allerdings stört eine Tatsache dieses harmonische Bild: XML hat die Eigenart, zwischen den Namensräumen von Elementen und Attributen zu unterscheiden. Es gibt einen reservierten Namensraum für Elemente und parallel dazu einen Namensraum für Attribute, die unabhängig voneinander existieren. Die Konsequenz aus dieser Regelung ist, dass Attribute von Elementen eines Default-Namensraums nicht automatisch mit diesem Namensraum assoziiert werden. Sie werden einfach als lokale Attribute ohne Namensraum gewertet. Die einzige Möglichkeit, das zu umgehen, ist die Definition eines Nicht-Default-Namensraums, der explizit für alle Attribute angegeben wird. Listing 3.9: Attribute und Namensräume <?xml version="1.0"?> <DATA_1 xmlns=" xmlns:n=" > <A attr="data1">daten in Element A</A> <B N:attr="data2"> <C>Daten in Element C</C> 71

16 Weitere Möglichkeiten mit XML <D>Daten in Element D</D> </B> <E>Noch mehr Daten in Element E</E> </DATA_1> Das Beispiel zeigt, dass im Wurzelelement zwei Namensraumdefinitionen gemacht werden. Auf der einen Seite den Default-Namensraum und auf der anderen Seite den Namensraum N, der allerdings mit derselben URI assoziiert wird. Im Quelltext werden zwei Attribute mit Namen attr gesetzt, die jeweils zusätzliche Daten zu einem Element speichern. Das erste Attribut ist lokal definiert, da keine Vorsilbe einen Namensraum festlegt. Das zweite Attribut wird über die Vorsilbe N auf den Default-Namensraum gesetzt und ist so global definiert. Alles nur Show? Rückblickend auf dieses Kapitel dürften keine großen Fragen mehr bezüglich der Namensraumtechnologie offen geblieben sein. Mit einer Ausnahme vielleicht: Welchen Einfluss haben die URIs auf den Parse-Vorgang des Dokuments? Die Frage ist schnell beantwortet, nämlich gar keinen! Offen gesagt, nimmt eine URI in keiner Form an der Validierung des Dokuments teil, sondern wird lediglich als symbolischer Link ins Internet gewertet. Die URI sollte zwar eindeutig sein, doch das wird in keiner Weise verifiziert. Es spielt keine Rolle, ob die URL überhaupt existiert oder ein Dokument dahinter zu finden ist. Sie können so absurde Angaben wie <DATA_1 xmlns="mickey Maus ist toll!"> als URI angeben, ohne dass es Probleme gibt. Die URI dient lediglich dazu, einen symbolischen»eindeutigen«link zu kreieren, der den Namensraum von anderen Bereichen abgrenzt. Was soll das Ganze dann überhaupt? Welchen Sinn macht eine URI, wenn Sie letztendlich doch nicht verwendet wird? Der Sinn der Sache liegt darin, dass ein Parser diese Informationen nicht grundsätzlich ignoriert, auch wenn es ein wenig danach geklungen haben sollte. Es ist nur so, dass der Parser die Daten nicht automatisch einer Kontrolle unterzieht, sondern die Informationen lediglich an den Benutzer bzw. Programmierer zurückgibt. Was mit den Daten dann geschieht, ist Ihre Sache und liegt komplett in Ihrer Hand. Wenn Sie also ein Programm schreiben wollen, das alle genutzten URIs verifiziert, dann steht dem Nichts im Wege. 3.2 Processing Instructions Im letzten Kapitel haben wir bereits über die Möglichkeit von Anweisungen innerhalb eines XML-Dokuments gesprochen. Ein typisches Beispiel für eine Verarbeitungsanweisung (Processing Instruction) ist das <?xml...?>-element, das bei jeder XML-Datei im Kopf vorhanden sein muss. Anders als die meisten PIs handelt es sich bei dieser Anweisung um eine Reihe von Daten, die direkt an den Parser eines Dokumentes gerichtet werden. In der Regel dienen PIs 72

17 Processing Instructions dazu, Informationen über den Parser an höher stehende Applikationen weiterzugegeben. XML macht allerdings eine Ausnahme, indem eine Gruppe von so genannten XML-Instruktionen geschaffen wurde, die ausschließlich den Zweck haben, wesentliche Daten über das Dokument an den Parser weiterzugeben. PIs, die als Ziel xml in ihrem Namen angegeben haben, werden automatisch dieser Gruppe zugeordnet. <?xml version="1.0"?> Ein weiteres Beispiel für diese Art von Verarbeitungsanweisungen sind Verweise auf Stylesheets, die wir am sechsten Tag dieser Woche besprechen werden. Die Syntax ähnelt allerdings der allgemeinen Dokumentendefinition: <?xml-stylesheet href="style.xsl" type="text/xsl"?> Hier wird über den Namen xml-stylesheet angegeben, dass dieses Dokument ein Stylesheet verwendet, das bei der Interpretation der Daten berücksichtigt werden sollte. Zwei Parameter definieren die exakte Position dieses Stylesheets sowie den Typ des Dokuments, auf das referenziert wird. Allgemein kann man sagen, dass jede PI, die mit xml-[name] beginnt, ein Teil der XML-Instruktionen ist, und eine besondere Position innerhalb der übrigen Anweisungen einnimmt. Im Gegensatz zu den übrigen PIs wird eine solche Angabe direkt vom Parser verarbeitet, während alle anderen Instruktionen einfach mittels einer Funktion zurückgegeben werden. Allgemeine PIs Wie ich schon gesagt habe, ist die Aufgabe einer Processing Instruction der Transfer von Daten aus einem XML-Dokument über den Parser an eine außen stehende Applikation. In der Regel handelt es sich dabei um das Programm, das auch den Parser aufgerufen hat, um das vorliegende Dokument zu interpretieren. Aus diesem Grund stehen PIs oft außerhalb des XML- Baums, weil sie logisch gesehen nichts mit diesen Daten zu tun haben. Dieses Vorgehen ist allerdings keine Vorschrift, da PIs auch problemlos in Elemente integriert werden können. Syntaktisch sind alle PIs gleich aufgebaut: Sie bestehen aus zwei spitzen Klammern mit zwei Fragezeichen, die den eigentlichen Inhalt umschließen. Im Gegensatz zu normalen Elementen muss kein abschließender Tag gesetzt werden. Alle benötigten Informationen werden über die Attribute, die so genannten Anweisungen, übergeben. <?ziel anweisungen?> Der Aufbau einer Processing Instruction teilt sich in zwei Bereiche auf: Zum einen das Ziel, das durch den Elementnamen angegeben wird, und zum anderen die Anweisungen für dieses Ziel, die in Form von Attributen übergeben werden. <?zielapplikation attribut1="wert1" attribut2="wert2"...?> Im Gegensatz zu den fest definierten XML-Instruktionen, die in der Regel automatisch von einem Parser verarbeitet werden, können Sie beliebig viele eigene PIs schaffen, die spezielle 73

18 Weitere Möglichkeiten mit XML Funktionen übernehmen können. Sie sind dabei, von der regulären Syntax von XML und der oben besprochenen Form einmal abgesehen, an keine Regeln gebunden, die den Einsatz von PIs beschränken. Stellen Sie sich zum Beispiel vor, Sie wollen innerhalb eines XML-Dokuments Berechnungen durchführen, die von einem eigenen Programm gelöst werden sollen. <?math equation="12*23+4"?> Da das Ziel keinem bekannten Bereich zugeordnet ist, wird diese Anweisung in der Regel vom Parser nicht interpretiert, sondern zurückgegeben. Es ist dann die Aufgabe Ihres Programms, die Daten entgegenzunehmen und in irgendeiner Form zu verarbeiten. Es läuft darauf hinaus, dass die meisten PIs nur für spezielle Parser geschrieben werden, die mit solchen Informationen rechnen. Allgemein gibt es keine Festlegung von bestimmten PIs, die jeder Parser versteht. Einzige Ausnahme ist die Menge der XML-Instruktionen, die direkte Angaben über das Dokument machen. Anmerkungen zur Verwendung von PIs Nachdem nun mehr oder weniger alle wesentlichen Punkte bezüglich der technischen Möglichkeiten von Processing Instructions besprochen wurden, möchte ich noch eine kurze Anmerkung über den Einsatz von PIs machen. Neben den wenigen Vorteilen, die PIs mit sich bringen, müssen eine Reihe von Nachteilen in Kauf genommen werden, die nicht immer zu ignorieren sind: PIs gehorchen nicht der allgemeinen Syntax von XML, da sie keine Elemente sind. Es gibt keine direkte Verknüpfung zwischen der Struktur eines XML-Dokuments und einer PI. Das bedeutet, dass PIs nicht als Inhalt eines bestimmten Elements interpretiert werden, sondern einfach als unabhängige Daten im Dokument auftauchen. Es gibt so gut wie keine Situation, die eine Verwendung von PIs nötig macht. Es können immer reguläre Elemente verwendet werden. Die einzigen PIs, die verwendet werden müssen, sind eigentlich keine»richtigen«verarbeitungsanweisungen, da sie nicht vom Parser interpretiert werden. In der Praxis werden PIs so gut wie nie genutzt, da sie wie gesagt fast immer von regulären Elementen ersetzt werden können. Die einzigen beiden PIs, die Sie wirklich brauchen werden, sind die XML-Instruktionen für den Kopf des Dokuments sowie der Verweis auf ein verwendetes Stylesheet. <?xml version="1.0"?> <?xml-stylesheet href="style.xsl" type="text/xsl"?> Es ist gut möglich, dass eine der nächsten Versionen von XML komplett auf den Einsatz von PIs verzichtet und so eines der Vermächtnisse von SGML ein für allemal abschüttelt. 74

19 Sonderzeichen in XML-Dokumenten 3.3 Sonderzeichen in XML-Dokumenten Ein Parser unterscheidet bei der Analyse eines XML-Dokuments zwischen zwei verschiedenen Arten von Zeichen. Auf der einen Seite steht die Gruppe von Zeichen, die geparst werden müssen (PCDATA: Parsed Character Data), und auf der anderen Seite steht der ganze Rest der Zeichen, die keine Markup-Formatierungen enthalten (CDATA: Character Data). Elemente bestehen beispielsweise aus PCDATA, während Attributwerte automatisch als CDATA eingeordnet werden. Zeichen Bedeutung Beispiel PCDATA Parsed Character Data Elemente, konkrete Daten CDATA Character Data Attribute Tabelle 3.1: Zeichentypen Interessanterweise werden die konkreten Daten eines Dokuments nicht ebenfalls automatisch als CDATA eingeordnet, da der Parser nicht davon ausgehen kann, dass die vorliegenden Daten keine Elemente mehr enthalten. Es ist durchaus möglich, dass ein Dokument konkrete Daten und Elemente mischt, so dass der komplette Inhalt aller Tags als PCDATA interpretiert wird. An dieser Stelle stellt sich natürlich die Frage, anhand welcher Kriterien ein Parser Elemente von konkreten Daten unterscheidet. Offensichtlich natürlich an den spitzen Klammern, die charakteristisch für ein Element sind. Alles was zwischen einer öffnenden und schließenden spitzen Klammer eingeschlossen ist, wird als Element interpretiert. So weit so gut, doch was passiert, wenn genau diese»reservierten«zeichen als konkrete Daten in einem Dokument auftauchen? Listing 3.10: Fehlerhaftes XML-Dokument <?xml version="1.0"?> <data> <value>wert1 < wert2 => wert2 > wert1</value> </data> Der Versuch, eine simple logische Gleichung in XML zu codieren, scheitert zwangsläufig, da der Parser eine Fehlermeldung auswirft. Die Verwendung der spitzen Klammern führt dazu, dass die Daten verkehrt interpretiert werden. Um das Problem zu lösen, wurde eine weitere Zeichengruppe definiert: Der gesonderte Datentyp NMTOKEN (Namenszeichen) definiert eine Handvoll Strings, die an Stelle der reservierten Zeichen eingesetzt werden. Man spricht an dieser Stelle auch von so genannten»festen Entities«, die Webprogrammierern sicher aus HTML bekannt sein dürften. Im Gegensatz zu HTML definiert die XML-Recommendation nur fünf dieser Namenszeichen, die jeweils für eines der verbotenen Sonderzeichen stehen. 75

20 Weitere Möglichkeiten mit XML Zeichen Namensstring < < (»less than«) > > (»greater than«)» &qout; &apos; & & Tabelle 3.2: Namenszeichen Neben den spitzen Klammern werden auch doppelte und einfache Anführungszeichen codiert, da sie für die Kennzeichnung von Attributen verwendet werden. Darüber hinaus wird das &-Zeichen ebenfalls als Namensstring dargestellt, da es für die Kennzeichnung der codierten Sonderzeichen eingesetzt wird. Mit diesen Wissen können wir jetzt problemlos das oben gezeigte Beispiel korrigieren und in korrektem XML darstellen: Listing 3.11: XML-Dokument mit codierten Sonderzeichen <?xml version="1.0"?> <data> <value>wert1 < wert2 => wert2 > wert1</value> </data> Der Einsatz dieser Codierung macht das Dokument zwar nicht unbedingt lesbarer, aber für den Parser auf jeden Fall verständlich. Wenn Sie dieses Dokument jetzt im Internet Explorer betrachten, werden Sie sehen, dass alle verschlüsselten Sonderzeichen brav interpretiert werden und korrekt dargestellt sind. Abbildung 3.6: Sonderzeichen im Internet Explorer 76

21 Zeichensätze festlegen Im Kapitel über Grammatiken für XML werden Sie mehr über Entities und Abkürzungen erfahren. Es ist nämlich möglich, über den verhältnismäßig kleinen»grundwortschatz«von XML hinaus eigene Entities zu definieren, die nach demselben Prinzip verwendet werden. 3.4 Zeichensätze festlegen Standardmäßig gehen die meisten XML-Parser davon aus, dass ein XML-Dokument im UTF-8 Standard codiert worden ist. Diese kleine Menge von Zeichen wird vom Parser als Grundlage für alle Zeichengruppen angenommen, die in diesem XML-Dokument verwendet werden. Das bedeutet, dass sowohl die Gruppe der PCDATA als auch die Gruppe der CDATA und NMTOKEN nur aus den Zeichen dieses Zeichensatzes bestehen dürfen. Stößt der Parser auf ein unbekanntes Zeichen, gibt er einen Fehler aus, und der Vorgang wird abgebrochen. Diese durchaus sehr sinnvolle Vorgehensweise führt immer dann zu Problemen, wenn ein XML-Dokument Zeichen enthalten soll, die landesspezifische Besonderheiten aufweisen. In unseren Breitengraden sind das vor allem die so beliebten Umlaute ä, ö und ü sowie das ß, die hier auf Missgunst stoßen. Listing 3.12: XML-Dokument mit Umlauten <?xml version="1.0"?> <data> <value>ödes Wetter führt oft zu gähnender Langeweile!</value> </data> Wird dieses Dokument beispielsweise dem Internet Explorer zur Darstellung übergeben, wird er sich gnadenlos über ungültige Zeichen beschweren. Im Textinhalt wurde ein ungültiges Zeichen gefunden. Fehler beim Bearbeiten der Ressource. Um trotzdem nicht auf Sonderzeichen verzichten zu müssen, besteht die Möglichkeit, in der XML-Instruktion <?xml...?> das Attribut encoding zu nutzen, um einen erweiterten Zeichensatz als Grundlage für den Parser zu definieren. Der Wert des Attributs ist dabei abhängig von der gewählten Sprache des Dokuments. Sie können zwischen einer ganzen Reihe von ISO-Normen wählen, die eigentlich jeder Parser verstehen sollte. ISO-Norm ISO ISO ISO Zeichensatz Westeuropa, Lateinamerika (Latin-1) Osteuropa (Latin-2) Südeuropa (Latin-3) Tabelle 3.3: ISO-Zeichensätze 77

22 Weitere Möglichkeiten mit XML ISO-Norm ISO ISO ISO ISO ISO ISO ISO ISO-8859-JP Zeichensatz Skandinavien, Baltikum (Latin-4) Kyrillisch Arabisch Griechisch Hebräisch Türkisch Lappländisch Japanisch Tabelle 3.3: ISO-Zeichensätze (Forts.) Für good old Germany ist der ISO-Standard ISO ist die beste Wahl, da so alle deutschen Sonderzeichen unterstützt werden. Listing 3.13: XML-Dokument mit deutschen Sonderzeichen <?xml version="1.0" encoding="iso "?> <data> <value>ödes Wetter führt oft zu gähnender Langeweile!</value> </data> Mit diesem kleinen Zusatz ist die Darstellung von Umlauten im Browser plötzlich kein Problem mehr. Ohne mit der Wimper zu zucken, zeigt der Internet Explorer brav das komplette Dokument. Abbildung 3.7: Umlaute im Internet Explorer 78

23 Workshop Hinweis Auf den ersten Blick (Abbildung 3.7) scheint die Möglichkeit der erweiterten Codierung von XML-Dokumenten ein sehr nützliche Sache zu sein, um landessprachlich individuelle Daten anlegen zu können. In der Praxis ist es aber oft so, dass nicht jeder Parser oder jede XML-Applikation alle oben vorgestellten Zeichensätze unterstützt. Der PI-Parameter encoding ist vielmehr eine Art Vorschlag an den Parser»doch bitte auch die Zeichen des folgenden Zeichensatzes«zu berücksichtigen. Tut der Parser es nicht, dann kann es zu Problemen kommen. Normalerweise wird es nicht zu einem katastrophalen Absturz des Programms führen, aber ein unbekanntes Zeichen ist oft schlimm genug. Vor allem die verlockende Möglichkeit, neben den konkreten Daten auch Elemente mit landesspezifischen Sonderzeichen zu benennen, ist kritisch, wenn man bedenkt, dass ein Elementbezeichner zur Identifikation von Daten genutzt wird. Listing 3.14: Elemente mit Umlauten <?xml version="1.0" encoding="iso "?> <personen> <bäcker>ein wichtiger Datensatz!</bäcker> <müller>noch wichtigere Daten!</müller> <fischer>noch ein wichtiger Datensatz!</fischer> </personen> Die Daten werden zwar vom Internet Explorer problemlos dargestellt, können aber bei anderen Parsern schnell auf Missgunst stoßen. 3.5 Workshop Fragen und Antworten F F Gibt es weitere Browser, die XML darstellen können? A Ja, der Mozilla-Browser kann das ebenfalls. Sie werden ihn im Laufe des Buches kennen lernen. Der Explorer stellt das XML-Dokument nicht dar. Was kann ich tun? A Im Gegensatz zu HTML-Dokumenten achtet der Browser sehr genau auf die korrekte Syntax von XML. Darum sollten Sie das Dokument genau kontrollieren und die Fehlermeldung des Explorers nachvollziehen. 79

24 Weitere Möglichkeiten mit XML F F F Sollte ich Namensräume verwenden, wenn ich die XML-Daten in einem geschlossenen System verwende? A Nein, dann ist es in der Regel nicht nötig und macht die Sache nur unnötig kompliziert. Kann ich die URI für einen Namensraum frei wählen? Was ist, wenn es die URI nicht gibt? A Kein Problem. Sie sollten nur darauf achten, dass die URI in ihrem Kontext eindeutig ist. Der Internet Explorer beschwert sich über ungültige Zeichen, was ist los? A Kontrollieren Sie den angegeben Zeichensatz in der XML-PI. Quiz 1. Was ist ein wohlgeformtes Dokument? 2. Was unterscheidet den Microsoft Explorer von anderen Browsern bezüglich der Darstellung von XML-Dokumenten? 3. Ist dieses Element nach der Syntax von XML korrekt: <element />? 4. Was sind Namensräume? 5. Warum gibt es Namensräume? 6. Was sind URIs? 7. Was ist ein Default-Namensraum? 8. Welchem Namensraum gehört ein Attribut an? 9. Wofür steht die Abkürzung PI? 10. Sind PIs Elemente? 11. Was ist der Unterschied zwischen CDATA und PCDATA? 12. Über welches Attribut wird ein Zeichensatz festgelegt? Übungen 1. Erklären Sie den Sinn von leeren Elementen. 2. Erstellen Sie ein XML-Dokument, das zwei verschiedene Namensräume verwendet. Achten Sie auf die Attribute! 3. Erklären Sie, warum PIs so gut wie nie verwendet werden. 80

25 Zusammenfassung und Ausblick 3.6 Zusammenfassung und Ausblick Die letzten beiden Kapitel haben Ihnen gezeigt, was mit XML alles möglich ist. Sowohl der Aufbau als auch die Syntax eines XML-Dokuments wurden ausführlich besprochen, sodass prinzipiell keine konkreten Fragen mehr offen sein dürften. Zur Mitte der Woche hin werden wir jetzt einen weiteren Schritt in Richtung Zentrum des XML-Universums machen, und uns genauer mit dem Mysterium einer XML-Grammatik beschäftigen. Sie werden den Aufbau und die Funktion der Dokument-Typdefinition kennen lernen und damit in der Lage sein, XML-Daten einer persönlichen Diktion zu unterwerfen. Die DTD (Document Type Definition) ist der letzte große Meilenstein in dieser Woche und wird uns die nächsten zwei Tage beschäftigen. 81

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Übungsaufgaben zu XML:

Übungsaufgaben zu XML: Übungsaufgaben zu XML: Aufgabe 1 Allgemeine Fragen zu XML: (Benutzen Sie zum Lösen der Aufgaben die Online-Hilfen, welche wir erwähnt haben.) a) Was ist eine DTD? DTD steht für Document Type Definition.

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

Mehr

Folgeanleitung für Klassenlehrer

Folgeanleitung für Klassenlehrer Folgeanleitung für Klassenlehrer 1. Das richtige Halbjahr einstellen Stellen sie bitte zunächst das richtige Schul- und Halbjahr ein. Ist das korrekte Schul- und Halbjahr eingestellt, leuchtet die Fläche

Mehr

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten

Meet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Meet the Germans Lerntipp zur Schulung der Fertigkeit des Sprechens Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Handreichungen für die Kursleitung Seite 2, Meet the Germans 2. Lerntipp

Mehr

Stapelverarbeitung Teil 1

Stapelverarbeitung Teil 1 Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Alle gehören dazu. Vorwort

Alle gehören dazu. Vorwort Alle gehören dazu Alle sollen zusammen Sport machen können. In diesem Text steht: Wie wir dafür sorgen wollen. Wir sind: Der Deutsche Olympische Sport-Bund und die Deutsche Sport-Jugend. Zu uns gehören

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Das Persönliche Budget in verständlicher Sprache

Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,

Mehr

Folgeanleitung für Fachlehrer

Folgeanleitung für Fachlehrer 1. Das richtige Halbjahr einstellen Folgeanleitung für Fachlehrer Stellen sie bitte zunächst das richtige Schul- und Halbjahr ein. Ist das korrekte Schul- und Halbjahr eingestellt, leuchtet die Fläche

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Netzwerk einrichten unter Windows

Netzwerk einrichten unter Windows Netzwerk einrichten unter Windows Schnell und einfach ein Netzwerk einrichten unter Windows. Kaum ein Rechner kommt heute mehr ohne Netzwerkverbindungen aus. In jedem Rechner den man heute kauft ist eine

Mehr

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de

XML-Namensräume. Marc Monecke monecke@informatik.uni-siegen.de XML-Namensräume Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 19. Mai 2003 Inhaltsverzeichnis 1 Motivation

Mehr

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Dateiname: ecdl_p2_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 2 Tabellenkalkulation

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

So die eigene WEB-Seite von Pinterest verifizieren lassen!

So die eigene WEB-Seite von Pinterest verifizieren lassen! So die eigene WEB-Seite von Pinterest verifizieren lassen! Quelle: www.rohinie.eu Die eigene Seite auf Pinterest verifizieren Es ist offiziell. Vielleicht haben auch Sie in den vergangenen Wochen die Informationen

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

Erzherzog Johann Jahr 2009

Erzherzog Johann Jahr 2009 Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Outlook-Daten komplett sichern

Outlook-Daten komplett sichern Outlook-Daten komplett sichern Komplettsicherung beinhaltet alle Daten wie auch Kontakte und Kalender eines Benutzers. Zu diesem Zweck öffnen wir OUTLOOK und wählen Datei -> Optionen und weiter geht es

Mehr

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Anleitung für Evident Seite 1 Anleitung für Evident-Anwender: Einbinden der MIZ-Dokumente in Evident. Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen? Zunächst müssen Sie entscheiden,

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

Mehr

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................

Mehr

Die Excel Schnittstelle - Pro Pack

Die Excel Schnittstelle - Pro Pack Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

EINFACHES HAUSHALT- KASSABUCH

EINFACHES HAUSHALT- KASSABUCH EINFACHES HAUSHALT- KASSABUCH Arbeiten mit Excel Wir erstellen ein einfaches Kassabuch zur Führung einer Haushalts- oder Portokasse Roland Liebing, im November 2012 Eine einfache Haushalt-Buchhaltung (Kassabuch)

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch Tutorial Speichern Wer ein Fotobuch zusammenstellen möchte, der sucht oft auf dem ganzen Computer und diversen

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Ordnung auf/im (Win-)PC bzw. der Festplatte

Ordnung auf/im (Win-)PC bzw. der Festplatte Ordnung auf/im (Win-)PC bzw. der Festplatte Ein Versuch da was zu (er)klären von Uwe Troll Vorbemerkung: Alles was später hier gezeigt wird, wird auf Ihrem PC anders aussehen! Das Prinzip bleibt aber gleich.

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten. Personenverzeichnis Ab dem Wintersemester 2009/2010 wird das Personenverzeichnis für jeden Mitarbeiter / jede Mitarbeiterin mit einer Kennung zur Nutzung zentraler Dienste über das LSF-Portal druckbar

Mehr

Die Post hat eine Umfrage gemacht

Die Post hat eine Umfrage gemacht Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr