Klaus Schild, XML Clearinghouse Verarbeitung von XML- Dokumenten
|
|
- Klaus Vogel
- vor 7 Jahren
- Abrufe
Transkript
1 Verarbeitung von XML- Dokumenten
2 Lernziele Was unterscheidet Pull- von Push-Parser? Was unterscheidet Einschritt- von Mehrschritt-Parser? Wie ordnen sich SAX und DOM bezüglich dieser Kategorien ein? Warum sollte immer die Anwendungslogik vom Datenzugriff getrennt werden? Was sind Schema-Übersetzer?
3 Grundlegende Architektur Zeichenkette XML- Dokument Serialisierer Parser standardisierte APIs Anwendung Möglichst immer standardisierte APIs verwenden! Parser: Analysiert XML-Dokument und erstellt Parse-Baum mit Tags, Text-Inhalten und Attribut-Wert-Paaren als Knoten. Serialisierer: Generiert aus Datenstruktur einer Anwendung ein XML-Dokument.
4 Kategorien von Parser Parser können bezüglich folgender Kriterien eingeordnet werden: Pull- vs. Push-Parser: Wer hat die Kontrolle über das Parsen, die Anwendung oder der Parser selbst? Einschritt- vs. Mehrschritt-Parser (engl. one-step vs. multistep parsing): Wird das XML-Dokument in einem Schritt vollständig geparst oder werden die einzelnen syntaktischen Einheiten Schritt für Schritt analysiert? Beachte: Die Kategorien sind unabhängig voneinander, sie können beliebig kombiniert werden.
5 Pull-Parser Parser Pull-Parser nächste Einheit? übersetzte Einheit Anwendung Die Anwendung hat die Kontrolle über das Parsen. Die Analyse der nächsten syntaktischen Einheit muss von der Anwendung aktiv angefordert werden.
6 Push-Parser Parser Push-Parser übersetzte Einheit Anwendung Der Parser selbst hat die Kontrolle über das Parsen. Sobald der Parser eine syntaktische Einheit analysiert hat, benachrichtigt er die Anwendung und übergibt die entsprechende Analyse.
7 XML-Parser One-step Multi-step Pull DOM JAXP Push SAX DOM: Document Object Model SAX: Simple API for XML JAXP: Java API for XML Processing
8 Simple API for XML (SAX) standardisiertes API für Push-Mehrschritt-Parsen von XML-Dokumenten ursprünglich nur Java-API, inzwischen werden aber auch andere Sprachen unterstützt kein W3C-Standard, sondern de facto Standard
9 Ereignisbasiertes Parsen SAX-Parser Parse Information Event Handler Anwendung
10 Ereignisbasiertes Parsen <pricelist> [Parser ruft startelement auf] <coffee> [Parser ruft startelement auf] <name> [Parser ruft startelement auf] Mocha Java Java [Parser ruft characters auf] </name> [Parser ruft endelement auf] <price> [Parser ruft startelement auf] [Parser ruft characters auf] </price> [Parser ruft endelement auf] </coffee> [Parser ruft endelement auf] </pricelist> [Parser ruft endelement auf] Sobald eine syntaktische Einheit geparst wurde, wird die Anwendung benachrichtigt: z.b. mit startelement(,pricelist, ) Beachte: Es wird kein Parse-Baum aufgebaut!
11 Callback-Methoden startelement, endelement und characters werden Call-Back- Methoden genannt, weil sie vom Parser aufgerufen werden. Für jede syntaktische Struktur in XML gibt es eine eigene Callback-Methode. Die Standard-Implementierung der Call-Back-Methoden (DefaultHandler) machen gar nichts. Jede Callback-Methode kann aber entsprechend den Erfordernissen überschrieben werden.
12 Ein SAX-Parser SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxparser = factory.newsaxparser(); saxparser.parse("pricelist.xml", handler); SAXParserFactory.newInstance() liefert eine SAXParserFactory. Die Methode newsaxparser() liefert einen SAXParser mit einer Methode parse(). pricelist.xml: die zu parsende Datei (kann auch eine URL oder ein Stream sein). handler: Instanz von DefaultHandler, implementiert die Callback-Funktionen.
13 Exkurs: Factory Method Design Pattern aus Design Patterns von Gamma, Helm, Johnson, Vlissides (1995). liefert ein Objekt Objekt ist Instanz einer abstrakten Klasse oder einem Interface. wird von mehreren Klassen implementiert Beispiel: Iterator i = list.iterator();
14 Beispiel <pricelist> <coffee> <name> Mocha Java Java </name> <price> </price> </coffee> </pricelist> Gib des Preis des Kaffees Mocha Java aus!
15 Die Callback-Methoden public void voidstartelement(..., String elementname,...){...){ if if (elementname.equals("name")){ inname = true; }} else elseif if (elementname.equals("price") && && inmochajava ){ ){ inprice = true; true; <name>mocha Java</name> inname = false; } } <price>11.95</price> public void voidcharacters(char [] [] buf, buf, int intoffset, int intlen) { String s s = new newstring(buf, offset, len); len); if if (inname && && s.equals("mocha Java")) { inmochajava = true; true; inname = false; } else elseif if (inprice) { System.out.println("The price priceof of Mocha Java Java is: is: "" + s); s); inmochajava = false; inprice = false; } }
16 Die Callback-Methoden public void voidstartelement(..., String elementname,...){...){ if if (elementname.equals("name")){ inname = true; true; } else elseif if (elementname.equals("price") && && inmochajava ){ ){ inprice = true; true; <name>mocha Java</name> inname = false; } } <price>11.95</price> public void voidcharacters(char [] [] buf, buf, int intoffset, int intlen) { String s s = new newstring(buf, offset, len); len); if if (inname && && s.equals("mocha Java")) {{ inmochajava = true; inname = false; }} else elseif if (inprice) { System.out.println("The price priceof of Mocha Java Java is: is: "" + s); s); inmochajava = false; inprice = false; } }
17 Die Callback-Methoden public void voidstartelement(..., String elementname,...){...){ if if (elementname.equals("name")){ inname = true; true; } else elseif if (elementname.equals("price") && && inmochajava ){ ){ inprice = true; <name>mocha Java</name> inname = false; }}} <price>11.95</price> public void voidcharacters(char [] [] buf, buf, int intoffset, int intlen) { String s s = new newstring(buf, offset, len); len); if if (inname && && s.equals("mocha Java")) { inmochajava = true; true; inname = false; } else elseif if (inprice) { System.out.println("The price priceof of Mocha Java Java is: is: "" + s); s); inmochajava = false; inprice = false; } }
18 Die Callback-Methoden public void voidstartelement(..., String elementname,...){...){ if if (elementname.equals("name")){ inname = true; true; } else elseif if (elementname.equals("price") && && inmochajava ){ ){ inprice = true; true; <name>mocha Java</name> inname = false; } } <price>11.95</price> public void voidcharacters(char [] [] buf, buf, int intoffset, int intlen) { String s s = new newstring(buf, offset, len); len); if if (inname && && s.equals("mocha Java")) { inmochajava = true; true; inname = false; } else elseif if (inprice) {{ System.out.println("The price of of Mocha Java Java is: is: " + s); s); inmochajava = false; inprice = false; } }
19 Vor- und Nachteile von SAX + sehr effizient, auch bei großen XML-Dateien Kontext (Parse-Baum) muss von der Anwendung selbst verwaltet werden. Abstrahiert nicht von der spezifischen XML-Syntax. nur Parsen von XML-Dokumenten möglich, keine Modifikation oder Erstellung von Dokumenten
20 Weitere Informationen zu SAX
21 Zusätzliche Schicht zum Datenzugriff Anwendung SAX SAX startelement characters Datenzugriff Datenzugriff getpricelist() Anwendungslogik Immer Anwendungslogik durch spezielle Schicht von dem Datenzugriff trennen (nicht nur bei SAX). Z.B. könnte getpricelist() eine Liste von Ware-Preis- Paaren liefern. Sollte nicht nur von SAX-APIs, sondern auch von der XML-Syntax abstrahieren.
22 Document Object Model (DOM) XML- Parser DOM Anwendung W3C-Standard zum Zugreifen, Modifizieren und Erstellen von Parse-Bäumen nicht nur für XML-, sondern auch für HTML-Dokumente abstrakte Schnittstelle, unabhängig von Programmiersprachen im Ergebnis ein Einschritt-Pull-Parser
23 Parse-Bäume in DOM <?xml version="1.0"?>?> <pricelist> <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist> Document Node NodeList Element Node: PriceList NodeList Element Node: coffee Beachte: In DOM ist pricelist nicht die Dokument-Wurzel. DOM führt virtuelle Dokument-Wurzel ein, um auch syntaktische Einheiten außerhalb von pricelist repräsentieren zu können.
24 Parse-Bäume in DOM <?xml version="1.0"?>?> <pricelist> <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist> Beachte: Text-Inhalte werden als eigene Knoten dargestellt. Element Node: coffee NodeList Element Node: name NodeList Text Node: Mocha Java Element Node: price NodeList Text Node: 11.95
25 Navigationsmodell parentnode previoussibling Node nextsibling childnodes firstchild lastchild
26 Ein DOM-Parser DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); Document document = builder.parse("pricelist.xml"); DocumentBuilderFactory.newInstance() liefert eine DocumentBuilderFactory. Die Methode newdocumentbuilder() von DocumentBuilderFactory liefert einen DOM-Parser. Der DOM-Parser hat eine Methode parse().
27 Beispiel <pricelist> <coffee> <name> Mocha Java Java </name> <price> </price> </coffee> </pricelist> Gib des Preis des Kaffees Mocha Java aus!
28 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); NodeList coffeenodes = document.getelementsbytagname("coffee"); Direkter Zugriff auf bestimmte Elemente mit getelementsbytagname möglich. Resultat ist eine NodeList. <?xml version="1.0"?>?> <pricelist> <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist>
29 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); for for (int (inti=0; i=0; i i < coffeenodes.getlength(); i++) i++) {{ thiscoffeenode = coffeenodes.item(i); <?xml version="1.0"?>?> }} <pricelist> <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> coffeenodes.item(0) </pricelist>
30 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); for for (int (inti=0; i=0; i i < coffeenodes.getlength(); i++) i++) { thiscoffeenode = coffeenodes.item(i); Node thisnamenode = thiscoffeenode.getfirstchild(); String data data = thisnamenode.getfirstchild().getnodevalue(); if if (data.equals("mocha Java")) { Node thispricenode = thiscoffeenode.getnextsibling(); String price price = thispricenode.getfirstchild().getnodevalue(); <?xml version="1.0"?>?> break; } } <pricelist> <coffee> firstchild <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist>
31 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); for for (int (inti=0; i=0; i i < coffeenodes.getlength(); i++) i++) { thiscoffeenode = coffeenodes.item(i); Node thisnamenode = thiscoffeenode.getfirstchild(); String data data = thisnamenode.getfirstchild().getnodevalue(); if if (data.equals("mocha Java")) { Node thispricenode = thiscoffeenode.getnextsibling(); price <?xml version="1.0"?>?> String price = thispricenode.getfirstchild().getnodevalue(); <pricelist> break; } } firstchild <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist> Beachte: getfirstchild() liefert den Text-Knoten, nicht dessen Inhalt Mocha Java!
32 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); for for (int (inti=0; i=0; i i < coffeenodes.getlength(); i++) i++) { thiscoffeenode = coffeenodes.item(i); Node thisnamenode = thiscoffeenode.getfirstchild(); String data data = thisnamenode.getfirstchild().getnodevalue(); if if (data.equals("mocha Java")) { Node thispricenode = thisnamenode.getnextsibling(); String price price = thispricenode.getfirstchild().getnodevalue(); <?xml version="1.0"?>?> break; } } <pricelist> <coffee> <name>mocha Java</name> nextsibling <price>11.95</price> </coffee> </pricelist>
33 DOM-Methoden Methoden NodeList coffeenodes = document.getelementsbytagname("coffee"); <?xml version="1.0"?>?> for (int i=0; i i++) <pricelist> for (int i=0; i < coffeenodes.getlength(); i++) { <coffee> thiscoffeenode = coffeenodes.item(i); <name>mocha Java</name> Node thisnamenode = thiscoffeenode.getfirstchild(); <price>11.95</price> String data data = thisnamenode.getfirstchild().getnodevalue(); </coffee> firstchild if if (data.equals("mocha Java")) { </pricelist> Node thispricenode = thisnamenode.getnextsibling(); String price = thispricenode.getfirstchild().getnodevalue(); break; } }
34 Vor- und Nachteile von DOM + Kontext (Parse-Baum) muss nicht von der Anwendung verwaltet werden. + Auch direkter Zugriff auf Elemente und Attribute über ihre Namen (unabhängig von deren Position) möglich. + Nicht nur Parsen von XML-Dokumenten möglich, sondern auch Modifikation oder Erstellung von Dokumenten. speicherintensiv, insbesondere bei großen XML-Dateien Abstrahiert nur unzureichend von der spezifischen XML- Syntax.
35 SAX oder DOM? SAX ist geeignet, um gezielt bestimmte Teile von XML- Dokumenten herauszufiltern, ohne dass zu einem späteren Zeitpunkt andere Teile des Dokumentes benötigt werden. DOM ist geeignet, um auf unterschiedliche Teile eines XML-Dokumentes zu verschiedenen Zeitpunkten zuzugreifen. DOM ist zum Erstellen und Modifizieren von Dokumenten geeignet.
36 Schema-Übersetzer Datenabstraktion XML- Schema übersetzen Java- Klassen Instanz validieren Instanzen XML- Dokument deserialisieren serialisieren Java- Objekte Java Architecture for XML Binding (JAXB)
37 Marshalling/Unmarshalling XML- Dokument marshal serialisieren deserialisieren unmarshal Java- Objekte Deserialisieren/Unmarshalling erstellt keinen Parse-Baum, sondern Java-Objekte mit Methoden zum Zugreifen und Modifizieren der Daten. Marshalling = führen, geleiten
38 Beispiel <pricelist> <coffee> <name>mocha Java</name> <price>11.95</price> </coffee> </pricelist> PriceList-Schema JAXB public interface PriceList { java.util.list getcoffee(int index); public interface CoffeeType { String getname(); void voidsetname(string value) java.math.bigdecimal getprice(); void voidsetprice(java.math.bigdecimal value) } }
39 Weiterführende Informationen zu JAXB
40 Zusammenfassung Ein Parser analysiert XML-Dokumente und erstellt Parse- Bäume mit Tags, Text-Inhalten und Attribut-Wert-Paaren als Knoten. Ein Serialisierer generiert aus interner Datenstruktur einer Anwendung ein XML-Dokument. Bei einem Pull-Parser hat die Anwendung die Kontrolle über das Parsen, bei einem Push-Parser übernimmt der Parser selbst die Kontrolle. Einschritt-Parser analysieren das vollständige Dokument in einem einzigen Schritt, Mehrschritt-Parser analysieren die einzelnen syntaktischen Einheiten Schritt für Schritt.
41 Zusammenfassung SAX (Simple API for XML) ist ein API für das Push- Mehrschritt-Parsen von XML-Dokumenten. Ereignisbasiertes Parsen von SAX wird mit Call-Back- Methoden realisiert. DOM (Document Object Model) ist eine abstrakte Schnittstelle zum Zugreifen, Modifizieren und Erstellen von XML-Parse-Bäumen. Im Ergebnis ist DOM ein Einschritt-Pull-Parser. DOM ist ein W3C-Standard, SAX ein de facto Standard.
42 Zusammenfassung SAX ist geeignet, um gezielt bestimmte Teile von XML- Dokumenten herauszufiltern, ohne dass zu einem späteren Zeitpunkt andere Teile des Dokumentes benötigt werden. DOM ist geeignet, um auf unterschiedliche Teile eines XML-Dokumentes zu verschiedenen Zeitpunkten zuzugreifen. DOM ist zum Erstellen und Modifizieren von Dokumenten geeignet.
43 Zusammenfassung Immer Anwendungslogik durch spezielle Schicht von dem Datenzugriff trennen (sowohl bei SAX, als auch bei DOM). Schema-Übersetzer wie JAXB (Java Architecture for XML Binding) generieren eine solche Datenzugriffsschicht automatisch.
Verarbeitung von XML- Dokumenten
Überblick 1. XML Verarbeitung Netzprogrammierung 11. XML Dokumente und ihre Verarbeitung Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
MehrXML-Parser. Parser. Heutige Vorlesung. Grundlegende Architektur. Kategorien von Parser
Heutige Vorlesung XML- Welche XML- gibt es? Was sind ihre Vor- und Nachteile? Was sind Schema-Übersetzer? Klaus Schild, 2004 1 Klaus Schild, 2004 2 Grundlegende Architektur XML- Dokument Serialisierer
MehrXML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
XML-Parser Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.de Was bisher geschah Syntax wohlgeformter XML-Dokumente
MehrXML-Parser K. Schild, 2006 / M. Mochol 2007 1
XML-Parser 1 Heutige Vorlesung letzte Woche XML-Schema - Datentypen - Element- und Attribut-Deklarationen - Typsubstitution heutige Vorlesung Welche XML-Parser gibt es? Was sind ihre Vor- und Nachteile?
MehrXML-Parser. Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.
XML-Parser Markus Luczak-Rösch Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme markus.luczak-roesch@fu-berlin.de Was bisher geschah Syntax wohlgeformter XML-Dokumente
MehrSeminar: XML und Datenbanken
Seminar: XML und Datenbanken XML-Verarbeitungsmodelle und Language Bindings Christian Müller 24.01.2003 Übersicht 1 Einleitung 2 Simple API for XML (SAX) 3 Document Object Model (DOM) 4 JDOM 5 Java API
MehrProgrammieren II. Einführung in XML. Vorlesung 13. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 XML JAXP SAX DOM
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 26 XML JAXP SAX DOM 2 / 26 Einführung in XML XML ist eine Auszeichnungssprache zur strukturellen Beschreibung von Dokumenten.
MehrProgrammieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008
Programmieren II SAX Dr. Klaus Höppner DOM Hochschule Darmstadt SS 2008 JAXB 1 / 21 2 / 21 SAX SAX (Simple API for XML) ist eine ereignisorientierte Methode zum Parsen von XML-Dateien. Dies bedeutet, das
MehrXML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung
XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung Matthias Bethke bethke@linguistik.uni-erlangen.de Linguistische Informatik Universität Erlangen-Nürnberg Sommersemester
MehrProgrammieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 34 Annotationen XML JAXB JAXP SAX DOM 2 / 34 Annotationen (1/3) Annoataionen sind Sprachelemente, durch welche Metadaten
MehrProgrammieren II. Annotationen (1/3) Vorlesung 6. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Annotationen XML JAXB
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 34 Annotationen XML JAXB JAXP SAX DOM 2 / 34 Annotationen (1/3) Annoataionen sind Sprachelemente, durch welche Metadaten
Mehr2.4 Analyse von XML-Dokumenten
2.4 Analyse von XML-Dokumenten Die EXtensible Markup Language ist eine formale Beschreibungssprache für hierarchisch strukturierte Daten. Einführung in die Spezifikation von XML: Auszug aus der kf. Grammatik
MehrSoftwaretechnik 2 - XML -
Softwaretechnik 2 - XML - Wirtschaftsinformatik 20.07.10 Thomas Perschke Inhalt XML Überblick: Java-API für XML JAXP Heute: SAX Ausblick: DOM Beispielszenario XSL Was ist XML? XML (Extensible Markup Language)
MehrWeb (Site) Engineering (WebSE)
1 / 22 Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 2 / 22 Übersicht XML-Beispiel Zugriff
MehrP A X P A X. Power API for XML. DOM und SAX. PAX : Ideen und Konzepte. Wie PAX funktioniert. Wie PAX angewandt wird. WWW-Links. von Manfred Duchrow
P A X Power API for XML von Manfred Duchrow P A X DOM und SAX : Ideen und Konzepte Wie funktioniert Wie angewandt wird WWW-Links 2 1 DOM (Document Object Model) Document Element Element Text Attribute
MehrRuhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/
XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.1 The use of a camel image in association with Perl is a trademark of
MehrVerarbeitung von XML mit SAX und DOM
Verarbeitung von XML mit SAX und DOM Sven Peters Seminar Dokumentenverarbeitung Typeset by FoilTEX Urspünglich nur für Java SAX Simple Api for XML Peter Murray-Rust (Jumbo XML Browser) - YAXPAPI (Yet Another
MehrXML-Programmierschnittstellen: SAX, DOM
XML-Programmiershnittstellen: SAX, DOM SAX: The Simple API for XML Event-Based Doument Objet Model (DOM) Baumdarstellung APIs zum Parsen, Bearbeiten und Serialisieren von XML-Dokumenten. (Weitgehend) sprahunabhängig
Mehr2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de
XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565
MehrSimple API for XML (SAX) Ulrich Hoffmann
Simple API for XML (SAX) Ulrich Hoffmann 1 Simple API für XML (SAX) Ereignisbasierte Verarbeitung von XML Programmiersprachunabhängig: Implementierungen in Java, C++, Python,
MehrDirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER
Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis HANSER r 1 Einleitung 2 1.1 Über dieses Buch 3 1.2 Für wen ist das Buch gedacht? 4 1.3 Wie ist das Buch aufgebaut? 5 1.4 Konventionen
MehrJava und XML 2. Java und XML
Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003
MehrÜbersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung
Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung XML-Beispiel B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 Zugriff auf Inhalt,
MehrXML, FI und JSON strukturiert in Java verwenden. Wolfgang Nast
XML, FI und JSON strukturiert in Java verwenden Wolfgang Nast Agenda Java und XML FastInfoset JSON Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert Branchen-unabhängig Hauptsitz
Mehr1 Software Engineering 1
1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt
Mehr11 XML Programmierung
11 XML Programmierung Programmatische Interfaces (API) zur Manipulation von XML (DOM und JDOM) Data Binding: Abbildung von DTD/Schema auf isomorphe Datenstrukturen Strombasierte Verarbeitung Integration
MehrXML-Technologien. XML-Parser. Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010
XML-Technologien XML-Parser Florian Raith Hochschule München Fakultät für Informatik und Mathematik am 04. November 2010 XML-Technologien Inhalt Das Document Object Model (DOM) Simple API for XML Vergleich
MehrXML. Arthur Zaczek. Nov 2015
Arthur Zaczek Nov 2015 1 XML 1.1 Definition Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung
Mehr1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.
Gliederung Document Object Model (DOM) Level 2 HTML Specification 1. Einführung Spezifikation 2. DOM Module Levels, Core, Überblick 3. DOM Intern Funktionsweise, Parser 4. DOM Level 2 HTML Eigenschaften,
MehrDOM Document Object Model
DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente
MehrXML. Arthur Zaczek. Nov /25
XML Arthur Zaczek Nov 2015 1/25 XML XML 2/25 Definition Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung
MehrCLICK TO EDIT MASTER TITLE STYLE
CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann
MehrXML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 13 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
MehrXML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 12 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen
MehrJava und XML. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2010
Java und XML Praktikum aus Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Java und XML Einführung in XML Merkmale von XML SAX Grundlagen, Verwendung in Java, DOM Grundlagen, Verwendung in Java, Validierung
MehrX-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001
X-Technologien XML and Friends 9. Juli 2001 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XML SAX DOM XSL XPath XSLT XSL FO Extensible Markup Language Simple API for XML Document Object Model Extensible
MehrPakete Software Entwicklung 1
Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.
MehrSAX Simple API for XML
SAX Simple API for XML Was ist SAX? SAX definiert ein API für einen Event basierten Parser Funktioniert wie ein serieller I/O Stream(kein random access) SAX Wozu? Schnelles, effizientes Lesen von XML Daten
MehrProgrammierkurs Java
Programmierkurs Java Abstrakte Klassen und Methoden & Interfaces Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrSoftware Design Patterns Zusammensetzung. Daniel Gerber
Software Design Patterns Zusammensetzung Daniel Gerber 1 Gliederung Einführung Iterator Composite Flyweight Zusammenfassung 2 So wird s werden Problem und Kontext an einem Beispiel vorstellen Lösung des
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrJAVA/XML Das bhv Taschenbuch
Michael Seeboerger-Weichselbaum JAVA/XML Das bhv Taschenbuch UMLJJLLLUJJ Inhaltsverzeichnis Inhaltsverzeichnis Vorwort 15 Teil I: Installation und erste Schritte 17 1 Das Konzept des Buches 19 Aufbau des
MehrXML - Datei Zugriff mit Java
XML in Java XML - Datei Zugriff mit Java XML in Java XML-Dateien für Experimente SAX (Simple API fort XML) STAX (Streaming API fort XML) Übung: SAX - STAX DOM JDOM und XPath Exkurs: DAO-Pattern Übung:
MehrInformatik Abitur Bayern 2017 / II - Lösung
Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.
MehrKlausur: Programiermethoden und Techniken
Klausur: Programiermethoden und Techniken WS12/13 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie den Studentenausweis auf den Tisch.
Mehr5. Programmierschnittstellen für XML
5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
MehrUniversität Osnabrück Fachbereich Mathematik / Informatik 1. Übung Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc.
Universität Osnabrück Fachbereich Mathematik / Informatik 1. Übung Prof. Dr. rer. nat. Oliver Vornberger Nico Marniok, B. Sc. Erik Wittkorn, B. Sc. 1 Organisatorisches Übung: Dienstags, 12:00 14:00, regelmäßige
Mehr5. Programmierschnittstellen für XML
5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
MehrXML und.net. Proseminar Objektorientiertes Programmieren mit.net und C# Tuan Duc Nguyen. Institut für Informatik Software & Systems Engineering
XML und.net Proseminar Objektorientiertes Programmieren mit.net und C# Tuan Duc Nguyen Institut für Informatik Software & Systems Engineering Agenda Überblick über XML XML Klassen in.net Lesen von XML
MehrJava Metadata Interface. Thorsten Pivl
Java Metadata Interface Thorsten Pivl Einleitung Was sind Metadaten? Das Wort Meta stammt aus dem griechischen und bedeutet über Meta-Daten: Daten über Daten Beschreibung von Daten 2 Einleitung Warum Metadaten?
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Mehr5 XML und Analyse von XML-Dokumenten
5 XML und Analyse von XML-Dokumenten Erläuterungen zu XML vom W3C: Die Extensible Markup Language (XML) ist ein einfaches und sehr flexibles, von SGML abgeleitetes Textformat. SGML := Standard Generalized
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrPROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker
XML-basierter Datenaustausch in Java PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 6. Mai 2013 Übersicht Wiederholung:
MehrObjektorientierung. Marc Satkowski 20. November C# Kurs
Objektorientierung Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Weiterführende Verzweigungen Tertiäre-Verzweigung switch case 2. Schleifen Zählschleife (for) break & continue 3. Objektorientierung
MehrSeminar: XML und intelligente Systeme
Seminar: XML und intelligente Systeme XML-Navigation: XPath, E4X Christoph Weitkamp cweitkam@techfak.uni-bielefeld.de Einleitung XPath ist eine Sprache, um Informationen in XML-Dokumenten zu finden Modellierung
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrAngewandte Softwareentwicklung Serialisierung
Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net
Mehr<< Java Architecture for XML Binding >>
JAXB > 1 Lernziele JAXB Übersicht JAXB Prinzip von Data Binding verstehen Java Klassen aus XSD erzeugen Java Objekte aus XML marschallen bzw. unmarschallen Customized
MehrJava und XML Grundlagen, Einsatz, Referenz
Stephan Niedermeier Michael Scholz 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Java und XML Grundlagen, Einsatz,
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Lauftagebuch Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 21 Erstellen einer
Mehr> Datenstrukturen in Java (Teil 3)
Datenstrukturen > Datenstrukturen in (Teil 3) Mark Egloff 2006 1 Lernziel Heute Abend > Sie lernen noch eine zusätzliche Datenstrukturen und Ihre Bedeutung kennen Bäume > Sie wissen die Vor und Nachteile
MehrObjekte haben eine eigene Notation, also Schreibweise, beim Aufruf:
JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt
MehrSynchronisation auf XML-Dokumenten
2003 Synchronisation auf XMLDokumenten Michael P. Haustein haustein@informatik.unikl.de Datenbankarbeitsgruppentreffen Rathen, 29./30. September 2003 2003 Gliederung Document Object Model DOMBaum und API
MehrAnalyse und Modellierung von Informationssystemen
Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/15 1 / 24 2 / 24 Das Singleton Im einfachsten Fall wird ein Singleton über ein statisches Attribut
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrDesign Patterns. 3. Juni 2015
Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?
MehrVorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
MehrPhysikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur Objektorientierte Programmierung im WS 2003/04 (IA 252) Zeit: 90 Minuten erlaubte Hilfsmittel: keine
MehrÜberschreiben von Methoden
Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra
MehrWirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1
Wirtschaftsinformatik (PWIN) 5. Mentorium Algorithmen & XML Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1 Was ist ein Algorithmus? Präzise formulierte Verarbeitungsvorschrift
MehrSpeichersparende XML Verarbeitung mit StAX und JAXB. Wolfgang Nast Nürnberg,
Speichersparende XML Verarbeitung mit StAX und JAXB 1 Wolfgang Nast Nürnberg, 19.11.2014 Agenda Vorstellen der Technologien StAX JAXB Gemeinsame Verwendung Beispiel (Demo) Zusammenfassung 2 DOAG Konferenz
MehrHandbuch für die Erweiterbarkeit
Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6
MehrCARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de
CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...
MehrJava API for XML Binding
Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden
MehrDatenaustausch mit JSON
Datenaustausch mit JSON Datenaustausch Kodierung von Daten Binärformate (PNG, MP4, Word,... ) effizient, aufwändig, nicht menschenlesbar Textformate (Java,... ): menschenlesbar, Aufwand für Ein- und Ausgabe
MehrDateien. DVG Dateien 1
Dateien DVG2-05 - Dateien 1 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem JAVA-Programm her. Das Filesystem enthält als Objekte Devices, Verzeichnisse
MehrJava: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.
Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object
MehrFachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur C und Objektorientierte Programmierung im WS 2003/04 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel:
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrEinstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung
MehrTutoraufgabe 1 (Implementierung eines ADTs):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT
Mehr6. XML-Verarbeitung. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. XML Design Goals
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 6 6. XML-Verarbeitung XML Design Goals XML shall be straightforwardly usable over the Internet. XML shall support a
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrKlausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
MehrProgrammieren in Java
Programmieren in Java Vorlesung 06: Das Visitor Pattern Prof. Dr. Peter Thiemann (vertreten durch Luminous Fennell) Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg)
MehrProgrammieren II XML. Heusch -- Ratz -- Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Programmieren II XML Heusch -- Ratz -- KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Begriffe und APIs zu XML, unabhängig von Java XML (Extensible Markup Language) XML definiert,
MehrEin Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008
Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Heiko Neuweger (Alexander Goesmann) Bioinformatics Resource Facility Center for Biotechnology Universität Bielefeld Vorlesung Sommer 2010 Überblick Was ist XML und wofür
MehrBerner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06
Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und
MehrStapel (Stack, Keller)
Stapel (Stack, Keller) Eine wichtige Datenstruktur ist der Stapel. Das Prinzip, dass das zuletzt eingefügte Element als erstes wieder entfernt werden muss, bezeichnet man als LIFO-Prinzip (last-in, first-out).
Mehr