Programmieren II XML. Heusch -- Ratz -- Institut für Angewandte Informatik

Größe: px
Ab Seite anzeigen:

Download "Programmieren II XML. Heusch -- Ratz -- www.kit.edu. Institut für Angewandte Informatik"

Transkript

1 Programmieren II XML Heusch -- Ratz -- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft

2 Grundlegendes XML (Extensible Markup Language) XML ist eine Auszeichnungssprache. Mit XML können hierarchisch strukturierter Daten in Textdateien dargestellt werden. Daten können plattformunabhängig zwischen verschiedenen Anwendungen ausgetauscht werden. XML ist (ebenso wie HTML und XHTML) eine Untermenge von SGML (Standard Generalized Markup Language). Namespaces In XML gibt es Namensräume, in etwa vergleichbar mit den Packages in Java. Diese werden verwendet, damit (gleiche) Bezeichner in verschiedenen Zusammenhängen mit unterschiedlicher Bedeutung benutzt werden können. 2

3 Historie von Auszeichnungssprachen 1997 XML 1992 HTML WWW 1986 SGML 1960 Generalized Markup Internet 3

4 Eigenschaften von XML Konsequente Trennung zwischen Inhalt (Semantik) und Darstellung (Präsentation) Erweiterbar, eigene Tags können definiert werden Maschinen-les- und -prüfbar HTML ist ein Spezialfall von XML XML ist kein Ersatz für HTML, aber Ergänzung in vielen Bereichen Für normales Homepage-Design ist XML relativ uninteressant. HTML und CSS sind dafür längst zu leistungsfähig und angesichts ihrer Verbreitung kaum noch zu verdrängen 4

5 Grundlegende Struktur von XML-Dokumenten Ein XML-Dokument enthält strukturierte Elemente, die mittels Tags markiert werden. Ein Element kann einen Text oder weitere Elemente ( hierarchische Struktur) enthalten. Den Elementen können Attribute zugeordnet sein. Diese enthalten zusätzliche Informationen zu dem Element. Ein XML-Dokument besteht aus einer XML-Deklaration (optional), einem Wurzelelement mit seinen Unterelementen und ggf. weiteren Informationen wie Kommentaren. Beispiel: Party-Dokument <?xml version="1.0"?> <party datum=" "> <gast name="albert Angsthase"> <getraenk>wein</getraenk> <getraenk>bier</getraenk> <zustand ledig="true" nuechtern="false"/> </gast> </party> 5

6 Beschreibung der Struktur von XML-Dokumenten Zur formalen Beschreibung der Struktur von XML-Dokumenten gibt es hauptsächlich zwei Konzepte: DTD und XML Schema DTD (Document Type Definition) Eine DTD ist ein Satz an Regeln, um Dokumente eines bestimmten Typs zu deklarieren. Auf die DTD wird per DOCTYPE-Anweisung verwiesen. XML Schema Ein XML Schema definiert ebenfalls Art und Struktur von XML- Dokumenten und der enthaltenen Elemente. Leistungsfähiger als DTDs und sollen in Zukunft zunehmend DTDs ersetzen. 6

7 Formale Korrektheit von XML-Dokumenten Wohlgeformtheit (wellformed) Dokument syntaktisch korrekt? Passender Aufbau des XML-Dokumentes Korrekte Verschachtelung von Tags Attributwerte in " " Keine offenen Tags Gültigkeit (valid) Wohlgeformtheit und Entspricht einer DTD bzw. einem XML-Schema Die Gültigkeit von XML-Dokumenten kann man von XML- Parsern überprüfen lassen. Parser: Programme, welche ein Dokument analysieren, zerlegen und in eine für die Weiterverarbeitung brauchbare Darstellung umwandeln. 7

8 Gültigkeit von XML-Dokumenten XML-Dokument XML Grammatik DTD oder XML- Schema PARSER OK XML Validiertes XML- Dokument 8

9 Sprachunabhängige Programmierschnittstellen (1) Für die Verarbeitung von XML-Dokumenten wurden sprachunabhängige Programmierschnittstellen spezifiziert, insbesondere DOM und SAX. DOM (Document Object Model) Bei DOM wird das gesamte XML-Dokument in einer interne Struktur gespeichert. Der Zugriff auf die Elements erfolgt über einen Objektbaum. Mit DOM können XML-Dokumente sowohl gelesen als auch erzeugt und ausgegeben werden. DOM ist der W3C-Standard für die Programmierschnittstelle zur XML-Verarbeitung. DOM bietet komfortablen Zugriff auf die Elemente. DOM ist für große Dokumente aber weniger geeignet als SAX. 9

10 Sprachunabhängige Programmierschnittstellen (2) SAX (Simple API for XML) SAX basiert auf einem Ereignismodell (event-based Parser). Die XML-Datei wird wie ein Datenstrom sequentiell gelesen, und für erkannte Elemente (gemäß Vorgaben) wird ein Ereignis ausgelöst. Nachteil: wahlfreier Zugriff auf ein einzelnes Element ist (ohne Zwischenspeicherung) nicht möglich. SAX ist im Gegensatz zu DOM nicht so speicherhungrig, weil das XML-Dokument nicht vollständig im Speicher abgelegt ist. Es ist daher auch für sehr große Dokumente geeignet. Mit SAX können XML-Dokumente jedoch nur gelesen, nicht aber erzeugt werden (im Gegensatz zu DOM). SAX ist zum schnellen Verarbeiten sehr großer Dokumente geeignet. 10

11 Sprachunabhängige Programmierschnittstellen (3) Klassische Anwendungen für SAX sind: Darstellung von XML-Dateien in einem Browser Suche nach ganz bestimmten Inhalten Einlesen von XML-Dateien, um eine eigene Datenstruktur aufzubauen Für viele Anwendungen ist es jedoch erforderlich, die gesamte XML-Struktur im Speicher zu verarbeiten. Für diese Fälle ist eine Struktur, wie sie DOM erzeugt, notwendig. DOM ermöglicht: Interaktives Arbeiten mit dem XML-Dokument Erkennen der Beziehungen zwischen den einzelnen XML-Elementen 11

12 Komponenten für XML in Java (1) JAXP (Java API for XML Processing) (Auch: Java API for XML Parsing) API für XML-Verarbeitung in Java. Umfasst DOM, SAX und XSLT. Kann verschiedene XML-Parser einbinden. JAXP ist seit J2SE 1.4 in Java enthalten. JDOM (Java DOM), JDOM ist eine Open-Source Java-Bibliothek. Diese bietet eine an Java angepasste Programmierschnittstelle. JDOM erstellt aus dem XML-Dokument einen an Java angepassten Objekt-Baum. dom4j (DOM for Java) dom4j ist ebenfalls Open-Source und eine Alternative, die besonders viele Features beinhaltet. 12

13 Komponenten für XML in Java (2) JAXB (Java Architecture for XML Binding) JAXB bietet einen Mechanismus zum Erzeugen von Java-Objekten aus XML-Dokumenten (Unmarshalling) und zum Schreiben (Übertragen) von Java-Objekten als XML-Dokument (Marshalling). JAXM (Java API for XML Messaging) JAXM bietet einen Mechanismus zum Austausch asynchroner XML- Messages (z.b. für SOAP-Dokumente und ebxml). JAX-RPC (Java API for XML-Based Remote Procedure Call) Mechanismus zum Austausch synchroner XML-Messages als Remote Procedure Calls (z.b. für SOAP-RPC), bei denen ähnlich wie bei Funktionsaufrufen auf das Ergebnis gewartet wird. JAXR (Java API for XML Registries) Mechanismus zum Veröffentlichen und zur Suche verfügbarer Dienste in einer externen Registry. 13

14 XML-Dateien mit JAXP verarbeiten In dieser Vorlesung wird in den Beispielen und Aufgaben JAXP verwendet. Vorteile: JAXP ist Bestandteil von Standard-Java. Die DOM-Schnittstelle von JAXP ermöglicht ein einfaches Einlesen und 'in memory'-speichern eines Dokuments. Hierfür erzeugt JAXP eine interne Objektstruktur der XML- Datei. Sie ermöglicht es auch, diese Objekte zu manipulieren und wieder als XML-Dokument auszugeben. 14

15 XML-Parser in JAXP Über JAXP können verschiedene XML-Parser verwendet werden, zum Beispiel Xerces (Apache) und Crimson. Wenn keine besonderen Anforderungen vorliegen, kann einfach der im JAXP der API bereits enthaltenen Default- Parser verwendet werden. Man muss dabei nicht wissen, welcher Parser zu Grunde liegt. Aktuell wird die Java-Plattform mit Xerces ausgeliefert. 15

16 Interne Darstellung in DOM-Baum bei JAXP Der DOM-Parser wird in JAXP "DocumentBuilder" genannt, da er auch eine vollständige "in memory"- Darstellung des Dokuments liefert. Der DocumentBuilder erstellt eine Baumstruktur, die die Knoten im XML-Dokument ("Nodes") enthält. Die Wurzel des Dokument-Baums ist eine Document-Instanz. Für Knoten gibt es verschiedene Java-Datentypen, die die jeweiligen Datentypen aus dem XML-Dokument repräsentieren. Die wichtigsten Knotentypen sind: Elementknoten (Element-Instanzen) Attributknoten (Attr-Instanzen) Textknoten, die z.b. den Text zwischen Start- und End-Tag eines Elementes widerspiegeln (Text-Instanzen) 16

17 Beispiel für DOM-Baum (vereinfacht) <party datum=" "> <gast name="albert"> <getraenk>wein</getraenk> <zustand ledig="true" /> </gast> </party> document party Document Element datum Attr text \n Text Element gast name Albert Attr text \n Text 17 text \n Text getraenk text Wein Text text \n zustand text \n Text ledig true Element Text Element Attr document-knoten: Wurzel des Dokument-Baums party-knoten: Wurzelelement

18 Das Document-Interface in JAXP (1) Über das Interface Document (im Package org.w3c.dom) wird in JAXP ein Dokument definiert. Eine Document-Instanz ist die Wurzel des gesamten Dokument-Baums und repräsentiert zugleich das gesamte XML-Dokument. Es bietet den primären Zugang zu den Daten des Dokuments (d.h. zur Baum-Struktur der Knoten). 18

19 Das Document-Interface in JAXP (2) Methoden von Document (Auswahl): Element getdocumentelement() Liefert das Wurzelelement NodeList getelementsbytagname(string tagname); Liefert eine Liste aller in dem Dokument enthaltenen Elemente mit dem angegebene Tag-Namen (Knoten-Liste) Element createelement(string tagname) Erzeugt ein Element mit dem angegebenen Namen Element createelementns(string namepaceuri, String name) Erzeugt ein Element mit dem angegebenen Namen und dem angegebenen Namespace. API-Dokumentation zu Document: 19

20 Erzeugen eines Document-Objektes (1) Document-Instanzen können nicht per new erzeugt werden. Sie werden über eine "Factory" geliefert: Als erstes muss eine DocumentBuilderFactory erzeugt werden. Diese kann uns dann einen DocumentBuilder liefern. Und dieser kann danach ein neues Document-Objekt bereitstellen. 20 Methoden von DocumentBuilder zur Erzeugung eines Document-Objekts: Document newdocument() Liefert eine neue Instanz eines DOM-Dokuments. Mit ihr kann dann ein DOM-Baum erstellt werden. Document parse(file f), Document parse(inputstream is) Document parse(string uri) Parst den Inhalt des angegebenen Files (InputStream, URI) als ein XML- Dokument; liefert ein neues DOM-Document-Objekt. Eigenschaften des DocumentBuilders (Parsers) können konfiguriert werden (z.b. Beachtung von NameSpaces oder Überprüfung der Gültigkeit des XML-Codes).

21 Erzeugen eines Document-Objektes (2) Leeres Document-Objekt im Speicher erstellen: import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.documentbuilder; import org.w3c.dom.document; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.newdocument(); Ohne Exceptionhandling! Document-Objekt aus einer Datei (mit Pfad filename) erzeugen: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setnamespaceaware(true); // Namespace-Unterstützung DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.parse(new File(filename)); // Ab hier steht der Inhalt als DOM-Baum in "doc" zur Verfügung 21

22 Erzeugen eines Document Objektes (3) Mit Exception-Handling (im Java 1.7-Stil) import javax.xml.parsers.parserconfigurationexception; import org.xml.sax.saxexception; import java.io.ioexception;... try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setnamespaceaware(true); DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.parse(new File(filename)); // Ab hier steht der Inhalt als DOM-Baum in "doc" zur Verfügung //... } catch (ParserConfigurationException SAXException IOException ex) { }... System.err.println(ex.getMessage()); 22

23 Erzeugen eines Document-Objektes (4) Document-Objekt aus URL erzeugen: import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import org.w3c.dom.document; public static void main(string[] args) { } try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.parse( " // Name des Wurzelelements ausgeben System.out.println(doc.getDocumentElement().getNodeName()); } catch (Exception e) { } System.out.println(e.getMessage()); 23 Ausgabe: party

24 Ausgeben eines Document-Objekts als XML-Datei Mit Hilfe der Klassen javax.xml.transform.transformer und javax.xml.transform.stream.streamresult lässt sich der DOM- Baum als XML-Datenstrom ausgeben (z.b. in eine Datei oder Stream). Folgende Programmzeilen schreiben ein Document auf die Konsole: import javax.xml.transform.transformer; import javax.xml.transform.transformerfactory; import javax.xml.transform.outputkeys; import javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; TransformerFactory tfactory = TransformerFactory.newInstance(); tfactory.setattribute("indent-number", 4); // Einrückung festlegen Transformer transformer = tfactory.newtransformer(); transformer.setoutputproperty(outputkeys.indent, "yes"); //schön! // Quelle: Kann ein (gesamtes) Document oder ein beliebiger Node // (Unterbaum!) sein Source source = new DOMSource(doc); // Ausgabe: Kann File, ein OutputStream oder Writer sein Result result = new StreamResult(System.out); // Transformation und Ausgabe anstoßen transformer.transform(source, result); 24

25 DOM-Knotentypen Die wichtigsten Knotentypen im DOM sind: Ein Dokumentknoten (org.w3c.dom.document) stellt die gesamte Baumstruktur dar. Ein Dokumentfragmentknoten (org.w3c.dom.documentfragment) stellt einen Teil der Baumstruktur dar. Ein Elementknoten (org.w3c.dom.element) entspricht genau einem Element in XML Ein Attributknoten (org.w3c.dom.attr) entspricht genau einem Attribut in XML Ein Textknoten (org.w3c.dom.text) stellt den textuellen Inhalt eines Elements oder einen sonstigen Text dar Ein Kommentarknoten (org.w3c.dom.comment) repräsentiert den Inhalt eines XML-Kommentars, d.h. den Inhalt zwischen '<!--' und '-->'. 25

26 Knotenname, -wert und -attribute für die verschieden DOM-Knotentypen Interface nodename nodevalue Attributes Attr Name des Attributs Wert des Attributs null CDATASection "#cdata-section" Inhalt der CDATA-Sektion null Comment "#comment" Inhalt des Kommentars null Document "#document" null null DocumentFragment "#document-fragment" null null DocumentType Name des document type Element Name des Tags null NamedNodeMap null null Entity Name des Entity null null EntityReference Name des referenzierten Entity null null Notation notation name null null ProcessingInstruction Target Gesamter Inhalt ohne das Target null Text "#text" Inhalt des Text-Knotens null 26

27 Das Superinterface Node der DOM-Knotentypen (1) Das Interface org.w3c.dom.node bildet das Superinterface all dieser Knotentypen. Methoden von Node (und damit aller Knotentypen): short getnodetype() liefert den Typ des Knotens entsprechend vordefinierten Werten (symbol. Konstanten der Klasse Node): ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE String getnodename() String getnodevalue() void setnodevalue(string nodevalue) NamedNodeMap getattributes() 27

28 Das Superinterface Node der DOM-Knotentypen (2) Fortsetzung (Methoden von Node) String gettextcontent() void settextcontent(string textcontent) NodeList getchildnodes() Node getfirstchild() Node getlastchild() Node getprevioussibling() Node getnextsibling() Node appendchild(node newchild) Node removechild(node oldchild) Die verschiedenen Subinterfaces von Node haben daneben noch spezifische Methoden der Knotentypen. 28

29 Die Interfaces NodeList und NamedNodeMap Eine NodeList ist eine geordnete Sammlung von Knoten. Das Interface NodeList bietet Zugriff auf die Knoten. Methoden von NodeList: Node item(int n) int getlength() liefert den n-ten Knoten einer NodeList liefert die Anzahl der Knoten Eine NamedNodeMap ist eine Sammlung von Knoten, die über Namen angesprochen werden können, z.b. Attributnamen. Das Interface NamedNodeMap bietet Zugriff auf die Knoten. Methoden von NamedNodeMap: Node getnameditem(string name) liefert den Knoten mit dem Knoten-Namen name Node item(int n) int getlength() liefert den n-ten Knoten der Liste liefert die Anzahl der Knoten 29

30 Beispiel für XML-Datei Beispiel: Die Datei party.xml habe folgenden Inhalt: <?xml version="1.0"?> <party datum=" "> <gast name="albert Angsthase"> <getraenk>wein</getraenk> <getraenk>bier</getraenk> <zustand ledig="true" nuechtern="false"/> </gast> <gast name="martina Mutig"> <getraenk>apfelsaft</getraenk> <zustand ledig="true" nuechtern="true"/> </gast> <gast name="zacharias Zottelig"> </gast> </party> Download: 30

31 Informationen im DOM-Baum ermitteln (1) // Erzeugen eines Dokuments aus der Datei party.xml DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.parse( " // Lesen des Wurzelelements des DOM-Dokuments doc Element party = doc.getdocumentelement(); // Den ersten Gast auf der Party holen: Node albert = party.getelementsbytagname("gast").item(0); 31

32 Informationen im DOM-Baum ermitteln (2) // Wenn wir eine Namensliste aller Gäste der Party ausgeben wollen: NodeList gaeste = party.getelementsbytagname("gast"); // getelementsbytagname() liefert nur Knoten vom Typ Element for (int i=0; i<gaeste.getlength(); i++) { } System.out.println(gaeste.item(i).getAttributes().getNamedItem("name").getNodeValue()); Ausgabe: Albert Angsthase Martina Mutig Zacharias Zottelig // Wenn wir ausgeben wollen, was Albert trinkt: for (int i=0; i<albert.getchildnodes().getlength(); i++) { } if (albert.getchildnodes().item(i).getnodename().equals("getraenk")) { } Node getraenk = albert.getchildnodes().item(i); System.out.println(getraenk.getTextContent()); Ausgabe: Wein Bier 32

33 Informationen im DOM-Baum ermitteln (3) Hinweis zum Datentyp von albert in Folie 31: Die Methode item(n) liefert lediglich Node-Objekte. Falls man aber Element-Objekte benötigt, kann man den Typ der gelieferten Objekte abfragen und sie in Element-Objekte casten: // Den ersten Gast auf der Party holen: Node albert = party.getelementsbytagname("gast").item(0); Element albertalselement = null; if (albert.getnodetype()== Node.ELEMENT_NODE) albertalselement = (Element) albert; 33

34 Informationen im DOM-Baum ermitteln (4) oder man kann sie direkt casten, da getelementsbytagname() nur Elementknoten liefert:... // Den ersten Gast auf der Party holen (als Element): Element albertalselement = (Element) party.getelementsbytagname("gast").item(0); 34

35 Informationen im DOM-Baum ermitteln (5) Es gibt keine Methode, welche das k-te Element-Kind eines Node n mit einem bestimmten Namen name liefert. Man kann sich hierfür eine eigene Methode schreiben: // Liefert das k-te Element-Kind eines Knoten n mit Namen name // Zählung beginnt bei 0! public static Element getnamedchildelement (Node n, String name, int k) { for (int i=0; i<n.getchildnodes().getlength(); i++) { if (n.getchildnodes().item(i).getnodetype()== Node.ELEMENT_NODE && n.getchildnodes().item(i).getnodename().equals(name)) { if (k==0) return (Element) n.getchildnodes().item(i); k--; } } return null; } 35

36 Neue Elemente hinzufügen und Elemente löschen Ein weiteres Getränk zu Gast Albert hinzufügen: Node wasser = doc.createelement("getraenk"); wasser.settextcontent("wasser"); albert.appendchild(wasser); Albert will in Zukunft keinen Wein mehr trinken: Node wein = null; for (int i=0; i<albert.getchildnodes().getlength();i++) { } if (albert.getchildnodes().item(i).getnodename().equals("getraenk")) { } if (albert.getchildnodes().item(i).gettextcontent().equals("wein")) wein = albert.getchildnodes().item(i); if (wein!= null) albert.removechild(wein); 36

37 Attributinhalte lesen und ändern Lesen und ausgeben des name-attributs von Albert (Wied.): System.out.println(albert.getAttributes().getNamedItem("name").getNodeValue()); // Ausgabe: Albert Angsthase 37 Martina schnappt sich Albert, wenn er noch ledig ist: Node zustand = null; for (int i=0; i<albert.getchildnodes().getlength();i++) { if (albert.getchildnodes().item(i).getnodename().equals("zustand")) { zustand = albert.getchildnodes().item(i); } } if (zustand!=null) if (zustand.getattributes().getnameditem("ledig").getnodevalue().equals("true")) // Attribut setzen zustand.getattributes().getnameditem("ledig").setnodevalue("false"); } // entsprechend auch bei Martina ändern!

38 Beispiel Erzeugung eines neuen DOM-Baums: DOM-Baum mit Fibonacci-Zahlen DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder parser = factory.newdocumentbuilder(); Document doc = parser.newdocument(); Element fib = doc.createelement("fibonacci_numbers"); doc.appendchild(fib); // Wurzelelement int low = 1; int high = 1; //Erzeugen der Unterelemente for (int i = 1; i <= 10; i++) { Element fibonacci = doc.createelement("fibonacci"); fibonacci.setattribute("index", String.valueOf(i)); fibonacci.settextcontent(string.valueof(low)); fib.appendchild(fibonacci); int temp = high; high += low; low = temp; } 38

39 Erzeugter DOM-Baum (in XML) <?xml version="1.0" encoding="utf-8" standalone="no"?> <Fibonacci_Numbers> <fibonacci index="1">1</fibonacci> <fibonacci index="2">1</fibonacci> <fibonacci index="3">2</fibonacci> <fibonacci index="4">3</fibonacci> <fibonacci index="5">5</fibonacci> <fibonacci index="6">8</fibonacci> <fibonacci index="7">13</fibonacci> <fibonacci index="8">21</fibonacci> <fibonacci index="9">34</fibonacci> <fibonacci index="10">55</fibonacci> </Fibonacci_Numbers> 39

Programmieren II XML. Heusch -- Ratz -- www.kit.edu. Institut für Angewandte Informatik

Programmieren II XML. Heusch -- Ratz -- www.kit.edu. Institut für Angewandte Informatik Programmieren II XML Heusch -- Ratz -- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Begriffe und APIs zu XML, unabhängig von

Mehr

Programmieren II. Arbeiten mit XML-Dokumenten. Institut für Angewandte Informatik

Programmieren II. Arbeiten mit XML-Dokumenten.  Institut für Angewandte Informatik Programmieren II Arbeiten mit XML-Dokumenten KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Grundlegendes XML (Extensible Markup Language) XML ist eine Auszeichnungssprache. Mit

Mehr

Programmieren II XML. Heusch -- Ratz -- Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Programmieren 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,

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-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

Mehr

Java: 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. 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

Mehr

Java und XML 2. Java und XML

Java 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

1 Software Engineering 1

1 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

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Teil 5: DOM Semistrukturierte Daten Sommersemester 2007 5.1. Überblick 5.2. DOM-Interfaces 5.3. Node-Interface 5.4. Einige Subinterfaces von Node 5.5. weitere Interfaces 5.6. Benutzung von DOM in JAXP

Mehr

5.5. Document Object Model - DOM. Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces

5.5. Document Object Model - DOM. Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces 5.5. Document Object Model - DOM Überblick DOM DOM und JAXP Node-Interface Einige Subinterfaces von Node Weitere Interfaces Überlick DOM DOM-Entwicklung DOM-Baumstruktur Knoten-Eigenschaften DOM Interfaces

Mehr

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Programmieren 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

Mehr

... 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

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

JAVA/XML Das bhv Taschenbuch

JAVA/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

Mehr

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/

Ruhr.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

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

XML-Programmierschnittstellen: SAX, DOM

XML-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

Mehr

Programmieren II. Einführung in XML. Vorlesung 13. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 XML JAXP SAX DOM

Programmieren 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.

Mehr

Datenaustauschformate. Datenaustauschformate - FLV

Datenaustauschformate. Datenaustauschformate - FLV Datenaustauschformate FLV-Dateien CSV-Dateien XML-Dateien Excel-Dateien Access- Backupdateien Günter M. Goetz 108 Datenaustauschformate - FLV Fixed Length Values Repräsentation einer Tabelle als 'Flat-File'

Mehr

5. Programmierschnittstellen für XML

5. 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

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

5. Programmierschnittstellen für XML

5. 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

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

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH Vortrag im Rahmen des IFC-Seminars am 06.12.2000 von Stefan Rauch Diplomarbeit zum Thema: Performance Messungen mit XML bei der empolis GmbH Übersicht / Agenda Einleitung Die Firma empolis GmbH XML, SAX,

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

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

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

1. 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,

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

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

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

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

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

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

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

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

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Java und XML. Praktikum aus Softwareentwicklung 2. Java Praktikum SS 2010

Java 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

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

FIS: Projektdaten auf den Internetseiten ausgeben

FIS: Projektdaten auf den Internetseiten ausgeben Rechenzentrum FIS: Projektdaten auf den Internetseiten ausgeben Ist ein Forschungsprojekt im Forschungsinformationssystem (FIS) erfasst und für die Veröffentlichung freigegeben, können Sie einige Daten

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Internet online Update (Mozilla Firefox)

Internet online Update (Mozilla Firefox) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Mozilla Firefox und gehen auf unsere Internetseite:

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

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

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert: Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal

Mehr

VVA Webservice Online Lieferbarkeits-Abfrage

VVA Webservice Online Lieferbarkeits-Abfrage Version 1.0 Dateiname VVA_OLA_Schnittstellenbeschreibung_2012.docx Erstellt am 30.05.2010 Seitenanzahl 5 arvato media GmbH Historie der Dokumentversionen Version Datum Autor Änderungsgrund / Bemerkungen

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

XML. extensible Markup Language. Dr. Beatrice Amrhein. www.w3.org/xml

XML. extensible Markup Language. Dr. Beatrice Amrhein. www.w3.org/xml XML extensible Markup Language www.w3.org/xml Dr. Beatrice Amrhein Inhaltsverzeichnis 1 XML Grundlagen...5 1.1 Die wichtigsten Punkte...5 1.2 XML Sprachen und Anwendungen...7 1.3 Der Aufbau eines XML Dokuments...7

Mehr

Inhalt. Parser-Modelle. Aufgaben eines XML-Prozessors. XML-APIs und Java. Idee eines XML-Prozessors (Parsers) 181.139 VU Semistrukturierte Daten 2

Inhalt. Parser-Modelle. Aufgaben eines XML-Prozessors. XML-APIs und Java. Idee eines XML-Prozessors (Parsers) 181.139 VU Semistrukturierte Daten 2 Inhalt 181.139 VU Semistrukturierte Daten 2 XML-APIs (Teil 1) 25.4.2006 Reinhard Pichler Einführung APIs für XML-Prozessoren (XML-Parser) DOM SAX JDOM StAX API für XSLT-Prozessoren: TrAX API für XQuery-Prozessor:

Mehr

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade

Log xmllog textlog Log() start(filename) add(message) end() instance() Abbildung 7-10: Die Protokollierungs-API mit einer einfachen Fassade HACK #76 Hack APIs mit dem Façade-Muster vereinfachen Durch die Verwendung des Façade-Entwurfsmusters können Sie die anderen Programmierern zugängliche API vereinfachen. #76 Dies ist ein Muster, von dem

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

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

2.4 Analyse von XML-Dokumenten

2.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

Mehr

Berner 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 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

Mehr

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P

Wochenbericht. Firas Zoabi. Studienprojekt A: SIMPL. 28. Dezember 2009 I M P Wochenbericht Firas Zoabi Studienprojekt A: SIMPL 28. Dezember 2009 S I M P L Geplante Aufgaben und Tätigkeiten Erledigte Aufgaben und Tätigkeiten Übersicht Benötigte Arbeitszeit/Aufwände Gewonnene Erkenntnisse

Mehr

Wichtige DOM-Eigenschaften und -Methoden für die SVG-Aktionsprogrammierung

Wichtige DOM-Eigenschaften und -Methoden für die SVG-Aktionsprogrammierung Hochschule Merseburg (FH) FB IKS / Studiengang TRW Dr. T. Meinike 2005 2010 Wichtige DOM-Eigenschaften und -Methoden für die SVG-Aktionsprogrammierung Hinweis: Die Eigenschaften und Methoden sind als weitgehend

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

XML. Arthur Zaczek. Nov 2015

XML. 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

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7

10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7 5.0 10.3.1.4 Übung - Datensicherung und Wiederherstellung in Windows 7 Einführung Drucken Sie diese Übung aus und führen Sie sie durch. In dieser Übung werden Sie die Daten sichern. Sie werden auch eine

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten

So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten http://tradingtutorialautomation.de/wp-content/uploads/2015/04/so-erstellen-sienuetzliche-beschreibungen-zu-ihren-tradingdaten_20150406.mp3

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Rechnungen erstellen mit Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Rechnungen erstellen mit Webling 1.1 Rechnung erstellen und ausdrucken 1.2 Rechnung mit Einzahlungsschein erstellen

Mehr

XML-Austauschformat für Sicherheitsdatenblätter

XML-Austauschformat für Sicherheitsdatenblätter XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

CARL 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 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?...

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

Verarbeitung von XML mit SAX und DOM

Verarbeitung 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

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. Benutzerhandbuch Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. 1 Startseite Wenn Sie die Anwendung starten, können Sie zwischen zwei Möglichkeiten wählen 1) Sie können eine Datei für

Mehr

So gehts Schritt-für-Schritt-Anleitung

So gehts Schritt-für-Schritt-Anleitung So gehts Schritt-für-Schritt-Anleitung Software WISO Mein Büro Thema Eigene Auswertungen, Tabellenauswertungen Version/Datum V 13.00.05.101 Über die Tabellen-Auswertungen ist es möglich eigene Auswertungen

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

ÖKB Steiermark Schulungsunterlagen

ÖKB Steiermark Schulungsunterlagen ÖKB Steiermark Schulungsunterlagen Fotos von Online-Speicher bereitstellen Da das hinzufügen von Fotos auf unsere Homepage recht umständlich und auf 80 Fotos begrenzt ist, ist es erforderlich die Dienste

Mehr

XML. Arthur Zaczek. Nov /25

XML. 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

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

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

32.4 Anpassen von Menüs und Symbolleisten 795i

32.4 Anpassen von Menüs und Symbolleisten 795i 32.4 Anpassen von Menüs und Symbolleisten 795i Fortsetzung der Seiten in der 8. Auflage 32.4 Anpassen von Menüs und Symbolleisten 32.4.1 Anpassen von Menüs Die Menüs können um folgende Typen von Optionen

Mehr

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

P&P Software - Adressexport an Outlook 05/29/16 14:44:26 Adressexport an Outlook Wozu? Aus EASY können viele Daten im Excelformat ausgegeben werden. Diese Funktion kann zum Beispiel zum Export von Lieferantenadressen an Outlook genutzt werden. Hinweis Wir können

Mehr