Internetbasierte Systeme SS 2009 (Version vom )

Größe: px
Ab Seite anzeigen:

Download "Internetbasierte Systeme SS 2009 (Version 1.19.0 vom 24.6.2009)"

Transkript

1 Internetbasierte Systeme SS 2009 (Version vom ) Michael Jäger 24. Juni 2009

2 Internet-basierte Systeme Offizieller Titel: Internet-basierte Geschäftssysteme Die Lehrveranstaltung behandelte bislang: Web-Technologie Wirtschaftswissenschaftliche Aspekte des Online-Handels Einführung in das Online-Recht Da die Web-Technologie alleine schon sehr umfangreich, komplex und rasanter Weiterentwicklung unterworfen ist, wird nur noch dieser Teilbereich behandelt. IBS - SS

3 Literaturempfehlung Basiswissen Web-Programmierung von Heide Balzert, W3L-Verlag 2007, 25 EUR Java EE 5 von Thomas Stark, Addison-Wesley/Pearson Studium 2007, 30 EUR Foliensammlung auf meiner WWW-Homepage (wird während des Semesters ergänzt) Die SELFHTML-Website: Diverse Internet-Quellen (siehe Foliensammlung) IBS - SS

4 Abgrenzung zu anderen Lehrveranstaltungen Grundlagen zu Aufbau und Funktion des Internet werden in der Lehrveranstaltung Rechnernetze vermittelt: TCP/IP-Protokollfamilie Domain Name System (DNS) Hypertext Transfer Protokoll (HTTP) Internet-Anwendungsbereiche außerhalb des WWW: z.b. , IP-Telefonie IBS - SS

5 Sicherheitsaspekte des WWW Die Lehrveranstaltung Sicherheit in der IT behandelt u.a. Sicherheitsaspekte des Internet. Zum Gesamtverständnis der Web-Technologie gehören Grundkenntnisse zu: Kryptographie: Symmetrische/assymetrische Codierungsverfahren, Hash-Verfahren Digitale Unterschriften Zertifikate (X.509, PKCS,... ) PKI-Systeme SSL/TLS Smartcards IBS - SS

6 Wirtschaftswissenschaftliche Aspekte Elektronischer Handel hat in gleicher Weise informationstechnische wie wirtschaftswissenschaftliche Aspekte. Letztere sollen zukünftig in einer Wahlpflichtveranstaltung angeboten werden, z.b. Entwicklung des Online-Markts Geschäftsmodelle für Online-Handel im B2C- und B2B-Bereich Geschäftsprozesse (z.b. Online-Einkauf, Ausschreibungsverfahren, CRM) E-Business Spezielle E-Commerce-Software (Online-Shops, Auktionssysteme, Marktplatz-Software, Online-Banking,... ) IBS - SS

7 Juristische Aspekte Rechtliche Grundlagen der Informatik werden in der Lehrveranstaltung Einführung in das Recht vermittelt. Zu den für die Internet-Nutzung rechtlich relevanten Bereichen gehören z.b. Domänenrecht Urheberrecht Providerhaftung... IBS - SS

8 Abgrenzung Web-Technologie / Web 2.0 Der Modebegriff Web 2.0 wird nicht einheitlich definiert. Es geht dabei um neuere Nutzungskonzepte des WWW ( Mitmach-Web ), z.b. Weblogs, Wikis, Podcasting, Videoportale einige neuere, eher technische Konzepte in deren Umfeld, z.b. Mash-Ups, Tag-Clouds Diese Aspekte werden in Lehrveranstaltung nicht behandelt ( bei Interesse: Wahlpflichtangebot beachten) Lesen Sie zum Web 2.0 den entsprechenden Eintrag im Wikipedia! IBS - SS

9 Abgrenzung Web-Technologie / Semantisches Web Das Semantische Web ist ein schon seit Jahren betriebener (bislang wenig erfolgreicher) Versuch der Weiterentwicklung des WWW. Das Hauptziel ist es, das weltweit im Web vorhandene Wissen durch komplexe Techniken zur semantischen Einordnung der Informationen besser auffindbar zu machen. Dazu gehört z.b. die Entwicklung von Taxonomien und Ontologien. Lesen Sie zu diesen Begriffen die entsprechenden Einträge im Wikipedia! IBS - SS

10 Programmiersysteme für das Web Web-Anwendungen werden serverseitig häufig mit Java, C# oder einer Script-Sprache wie PHP, Ruby, Groovy oder PERL entwickelt. Zu all diesen Sprachen existieren Bibliotheken und Frameworks für die speziellen Bedürfnisse von Web-Applikationen, z.b. Einfache Behandlung von HTTP-Requests Sitzungsverwaltung Dynamische HTML-Erzeugung Einfache Datenbank-Anbindung Komplexe GUIs für den WWW-Browser GUI-Internationalisierung IBS - SS

11 Einige Framework-Beispiele CakePHP für PHP Rails für Ruby ( Ruby on Rails ) Grails für Groovy Struts für Java JSF (Java Server Faces) für Java Wir betrachten die Hilfsmittel im Umfeld von Java näher, speziell das umfangreiche JEE-Framework (JEE 5 Java Enterprise Edition). Alternativ werden in der Praxis auch häufig Content Management Systeme wie Typo3, Plone oder Joomla eingesetzt. Diese werden hier nicht behandelt. IBS - SS

12 Inhaltliche Übersicht Basiswissen Web-Programmierung XML und verwandte Standards (DTD, XML-Schema, XSLT,... ) DOM Document Object Model XML-Verarbeitung in Java HTML/XHTML Cascading Stylesheets (CSS) Javascript Ajax IBS - SS

13 Grundlagen der Java Enterprise Technologie (JEE 5) Architekturmodell Java Server Pages (JSP) Unified Expression Language Tag-Bibliotheken und Tag-Dateien Servlets Struts-Framework Java Server Faces Java Naming and Directory Interface (JNDI) Persistenz von Objekten Java Enterprise Beans und zugehörige Applikationsserver IBS - SS

14 Einführung in Webservices Service-orientierte Architekturen (SOA) SOAP RESTful Webservices WSDL Webservice-Erweiterungen (WS-*) UDDI Ausführbare Geschäftsprozesse (WS-BPEL) Java WS - API IBS - SS

15 XML-Grundlagen XML Extensible Markup Language ( Erweiterbare Auszeichnungssprache ) Standard des WWW-Konsortiums (W3C) für Datenaustausch im Internet Markupsprache für strukturierte Dokumente (ähnlich HTML, L A TEX) Meta-Sprache zur Definition von anderen Auszeichnungen, z.b. XHTML Weiterentwickelt aus SGML (Standard Generic Markup Language, 1986) Verbreitete Version ist XML 1.0 (von 1998), aktuelle Version ist 1.1 (2004) IBS - SS

16 Beispiel für ein XML-Dokument <?xml version="1.0" encoding="utf-8" standalone="yes"?> <buch autor="wilhelm Busch"> <titel> Max und Moritz </titel> <kapitel id="1"> Erster Streich. </kapitel> <kapitel id="2"> Zweiter Streich. </kapitel> </buch> Im Dokument findet man unter anderem Tags (Auszeichnungen), z.b. <kapitel id="1">, </buch> Elemente: buch, titel, kapitel Diese sind hierarchisch strukturiert: Anfangs-Tag Inhalt Ende-Tag Attribute, bestehend aus Name und Wert: autor="wilhelm Busch", id="1" IBS - SS

17 Verarbeitungsanweisungen Die Zeile <?xml version="1.0" encoding="utf-8" standalone="yes"?> ist eine Verarbeitungsanweisung. Durch eine XML-Verarbeitungsanweisung erhält der XML-Prozessor (Browser, Parser usw.) zusätzliche Informationen. Im Beispiel sind dies Die XML-Version: 1.0 Die Zeichencodierung im Dokument: Unicode UTF-8 Standalone-XML-Dokumente beziehen sich nicht auf eine externe DTD An der Verarbeitung eines Dokuments können mehrere Prozessoren beteiligt sein, die jeweils spezifische Verarbeitungsanweisungen haben, z.b. ein XSLT-Prozessor: <?xml-stylesheet type="text/xsl" href="adressbuch.xsl"?> IBS - SS

18 Wohlgeformtheit und Gültigkeit Die Element- und Attributnamen in XML sind frei wählbar und haben keine vordefinierte Bedeutung (im Gegensatz etwa zu HTML). Ein XML-Dokument heißt wohlgeformt, wenn die Tag-Schreibweise und die Klammerstruktur stimmen Mittels Dokumenttypdefinition (DTD) oder Schema kann eine bestimmte Struktur festgeschrieben werden (nur Syntax + Typen, keine Semantik!) Ein XML-Dokument ist gültig, wenn sein Aufbau der zugrunde liegenden DTD (bzw. dem Schema) entspricht IBS - SS

19 XML-Familie XML wird auch als Oberbegriff für eine Familie von zusammenhängenden Standards verwendet. Dazu gehören insbesondere Möglichkeiten zur Strukturspezifikation für XML-Dokumente: DTD - Document Type Definition XML-Schema (Nachfolger von DTD, insbesondere mit Typsystem für Dokumenteninhalte) XSL XML Stylesheet Language Standards zur Transformation und Präsentation von Dokumenten XPath XSLT FO - Formatting Objects IBS - SS

20 XML-Parser: Strukturanalyse von XML-Dokumenten Prüfen XML-Dokumente auf Wohlgeformtheit Prüfen XML-Dokumente auf Gültigkeit (gegen DTD oder Schema) (nicht alle Parser können das!) Verschiedene Ausprägungen: XML-Parser als Bestandteil von XML-Entwicklungsumgebungen In andere Anwendungen integrierte Parser Als Komponenten zur Nutzung aus den gängigen Programmiersprachen heraus (z.b. Java: Apache-Xerces) Beispiel: expat ist in WWW-Browser integriert (Firefox, Opera,... ). Zweck: baumartige Darstellung von XML Basis für XSLT-Transformationen expat ist auch in PHP integriert IBS - SS

21 XML-Editoren, XML-Entwicklungsumgebungen vereinfachen die Entwicklung von XML-Dokumenten, DTDs, Schemas usw. teilweise Unterstützung für Schema-Sprachen teilweise Unterstützung für XSLT und CSS auch als Plugins für universelle Entwicklungsumgebungen (z.b. Eclipse, Emacs) Funktionsumfang sehr unterschiedlich Unterstützung der jeweils neuesten Versionen der XML-Standards nicht immer verfügbar Empfehlung: Die Open Source Java-Entwicklungsumgebung netbeans bietet gute Unterstützung auch für XML: Beispiele: oxygen, cladonia exchanger, Stylus Studio einfache Werkzeuge für Hausgebrauch : Linux: quanta, kxmleditor, Windows: XML Notepad IBS - SS

22 Sonstige XML-Werkzeuge XSLT-Prozessoren führen XSLT-Transformationen durch Programme für serversseitige Transformationen, z.b. saxon, Apache-Xalan Browser-seitige Prozessoren sind in neuere Browser integriert, z.b. in Firefox (TransforMiiX) und Internet Explorer Software zur Erzeugung von PDF, Postscript, PCL usw. Apache FOP (Formatting Objects Processor) Das XML-Toolkit für Kommandozeilen-basierte XML-Verarbeitung ( bzw. IBS - SS

23 XML-Dokumente beginnen mit einer XML-Deklaration mit XML-Version und weiteren optionalen Attributen, z.b. Zeichencodierung <?xml version="1.0" encoding="utf-8"?> Kernbestandteil eines Dokuments ist ein XML-Element, das Wurzelelement <buch autor="wilhelm Busch">... </buch> Groß-/Kleinschreibung wird unterschieden Attributwerte stehen immer in Anführungszeichen <!-- und dies ist ein Kommentar innerhalb eines Dokuments --> IBS - SS

24 XML-Elemente Jedes Element kann beliebig viele Attribute haben einfache Elemente haben keine Unterelemente, der Inhalt ist einfacher Text <titel> Max und Moritz </titel> Wenn im Text XML-Sonderzeichen vorkommen, die aber nicht interpretiert werden sollen, muss der Text als CDATA-Abschnitt definiert werden, z.b. <![CDATA[ Dieses <Tag> wird nicht als Tag interpretiert ]]> strukturierte Elemente haben Unterelemente (Im Beispiel: buch) leere Elemente haben keinen Inhalt (Attribute können vorhanden sein!) Anfangs- und Ende-Tag können zusammengefasst werden, z.b. in einem XHTML-Dokument: <br /> anstelle von <br></br> IBS - SS

25 Sonderzeichen Für einige Sonderzeichen, die in XML-Dokumenten eine vordefinierte Bedeutung haben, gibt es Ersatzdarstellungen, sogenannte entities : Ersatzdarstellung Sonderzeichen englische Bezeichnung & & ampersand &apos; apostrophe " " quotation mark < < less than > > greater than IBS - SS

26 Adressbuch-Beispiel Ein Adressbuch ist eine Sequenz von adresse-elementen. Eine Adresse kann mit dem leeren Element <privat /> als privater Kontakt gekennzeichnet werden. <?xml version="1.0" encoding="utf-8"?> <!-- Adressbuch Version > <adressbuch aktualisiert=" " version="2"> <adresse> <vorname>hugo</vorname> <nachname>meier</nachname> <strasse>waldweg 7</strasse> <plz>35231</plz> <ort>dinkelsdorf</ort> <tel typ="mobil">0160/987654</tel> </adresse> IBS - SS

27 <adresse> <titel>sir</titel> <vorname>edward</vorname> <nachname>mcdonerty</nachname> <strasse>bergstrasse 13a</strasse> <plz>76522</plz> <ort>burgstadt</ort> <tel typ="zuhause">08945/23456</tel> <privatkontakt /> </adresse> </adressbuch> IBS - SS

28 DTD - Dokumenttyp-Definitionen für XML Eine DTD legt für XML-Dokumente die syntaktische Struktur fest Die Verwendung entspricht damit einer kontextfreien Grammatik für Programmiersprachen. Für jedes Element werden die zulässigen Attribute spezifiziert Für jedes Element wird die Struktur des Inhalts angegeben (leer, einfach, Unterelemente) Die DTD kann direkt im XML-Dokument stehen Die DTD kann als separate Datei vom XML-Dokument aus referenziert werden DTDs verwenden eine eigene Syntax. Eine DTD ist selbst kein XML-Dokument! IBS - SS

29 DTD-Beispiel: Adressbuch <!-- Dateiname: adressbuch01.dtd --> <!ELEMENT adressbuch (adresse+)> <!ATTLIST adressbuch stand CDATA #REQUIRED version CDATA #IMPLIED> <!ELEMENT adresse (titel?, vorname, nachname, strasse, plz, ort, ?, tel+, privatkontakt?)> <!ELEMENT titel (#PCDATA)> <!ELEMENT vorname (#PCDATA)> <!ELEMENT nachname (#PCDATA)> <!ELEMENT strasse (#PCDATA)> <!ELEMENT plz (#PCDATA)> <!ELEMENT ort (#PCDATA)> <!ELEMENT (#PCDATA)> <!ELEMENT tel (#PCDATA)> <!ATTLIST tel typ CDATA #REQUIRED> <!ELEMENT privatkontakt EMPTY> IBS - SS

30 Struktur von XML-Dokumenten in der DTD Die Syntax von XML-Elementen wird in folgender Form festgelegt: <!ELEMENT Elementname Syntaxdefinition > Die Syntaxdefinition hat mehrere Varianten: Für leere Elemente steht als Syntaxdefinition: EMPTY Für einfache Elemente steht: (#PCDATA) Damit ist einfacher Text gemeint (PCDATA = parsed character data ) IBS - SS

31 Für strukturierte Elemente werden die Unterelemente aufgezählt: (Element 1,..., Element n ), wobei in Anlehnung an reguläre Ausdrücke folgende Notation verwedet wird: Der Elementname alleine steht für genau ein Element Elementname? steht für ein optionales Element Elementname* steht für eine eventuell leere Sequenz von Elementen Elementname+ steht für eine nichtleere Sequenz von Elementen Syntaktische Alternativen können, mit dem -Operator getrennt, aufgelistet werden, z.b. <!ELEMENT postadresse (wohnadresse postfach)> <!ELEMENT wohnadresse (strasse, hausnummer) > <!ELEMENT postfach (#PCDATA)> IBS - SS

32 Attribute von XML-Dokumenten in der DTD Zu jedem Element mit Attributen stehen in der DTD eine oder mehrere Definitionen der Form <!ATTLIST Elementname Attribute > Dabei ist Attribute eine Sequenz von Attributypdefinitionen des Elements, z.b. <!ATTLIST adressbuch stand CDATA #REQUIRED version CDATA #IMPLIED> Eine Attributdefinition beinhaltet den Attributtyp und ggf. eine Zusatzangabe. Die Reihenfolge der Attribute spielt weder in der DTD noch im XML-Dokument eine Rolle! IBS - SS

33 Folgende Attributtypen werden unterschieden: Zeichenketten: CDATA Aufzählungstypen, z.b. <!ATTLIST adresse kategorie (freunde beruf golfclub)> NOTATION-Typen für externe Formate (z.b. Bildformate) <!ATTLIST person icon NOTATION (gif jpg) #IMPLIED> ID, IDREF, IDREFS für Definition und Verwendung eindeutiger Bezeichner ENTITY, ENTITIES für die Verwendung von Platzhaltern NMTOKEN, NMTOKENS Zeichenketten, im Gegensatz zu CDATA erweiterter Zeichenvorrat IBS - SS

34 Als Zusatzangaben zu einem Attribut sind möglich #REQUIRED für Pflichtattribute #IMPLIED für optionale Attribute (Standard-Annahme) Attributwert (dieser ist der Defaultwert) #FIXED Attributwert (fester Wert) IBS - SS

35 Beispiel DTD: <!ELEMENT buchbestand (buch+)> <!ATTLIST buchbestand aktualisiert CDATA #REQUIRED version CDATA #FIXED "1.0" sprache CDATA "deutsch"> <!ELEMENT buch (autor, titel, inhalt)> <!ATTLIST buch kategorie XML: (Sachbuch Fachbuch Roman) "Fachbuch" isbn ID #REQUIRED neuauflagevon IDREF "null"> <buchbestand aktualisiert=" " sprache="spanisch"> <buch isbn=" x">... </buch> <buch isbn=" x" neuauflagevon=" x"> <buch kategorie="roman" isbn=" x">... </buch> </buch> IBS - SS

36 Verwendung von DTDs in XML-Dokumenten eher unüblich: DTD direkt im XML-Dokument: <!DOCTYPE adressbuch [ <!ELEMENT adressbuch... <!ATTLIST adressbuch... <!ELEMENT adresse ]> <adressbuch... <adresse </adressbuch> IBS - SS

37 Die übliche Trennung: DTD und XML-Dokument separat DTD-Datei (adressbuch.dtd): <!ELEMENT adressbuch... <!ATTLIST adressbuch... <!ELEMENT adresse XML-Datei (adressbuch.xml): <!DOCTYPE adressbuch SYSTEM "adressbuch.dtd"> <!-- hier: lokale Datei, alternativ: URL einer entfernten DTD --> <adressbuch... <adresse </adressbuch> IBS - SS

38 Namensräume: Universelle Eindeutigkeit von Element- und Attributnamen Problem: Namenskollisionen in einem XML Dokument Jeder Elementname muss innerhalb eines XML-Dokuments eindeutig sein. Jeder Attributname muss innerhalb eines XML-Dokuments eindeutig sein. Ein Element kann aber genauso heißen wie ein Attribut Hauptproblemfall: Unabhängig entwickelte XML-Vokabularien (Schemas, DTDs) werden im selben XML-Dokument benutzt. Beispiel: Ein Schema definiert Kunden, ein anderes Aufträge. Beide benutzen den gleichen Elementnamen nummer (Kundennummer/Auftragsnummer). Eine Rechnung benutzt beide Vokabularien, so dass es zu einem Namenskonflikt zwischen den beiden nummer -Elementen kommt. Lösung: Benannte Namensräume mit qualifizierten Element- und Attributbezeichnern, z.b. <kunde:nummer>... </kunde:nummer> IBS - SS

39 XML-Namensraum Sammlung von logisch zusammen gehörenden Element- und Attributdefinitionen, auch Vokabular (vgl. z.b. mit Java package) wird durch ein Schema definiert ( target namespace des Schemas) kann in beliebigen XML-Dokumenten verwendet werden Ein Element/Attribut gehört zu einem oder keinem Namensraum An der Verwendungsstelle wird der verwendete Namensraum importiert (xmlns- Schlüsselwort ) Import bezieht sich auf ein einzelnes Element (muss nicht Wurzelelement sein) Die Import-Deklaration erfolgt syntaktisch als Attribut: xmlns:kurzname= Namensraum-IRI IBS - SS

40 Der Kurzname ist ein beliebig gewählter nur für die Verwendungsstelle gültiger Kurzbezeichner Elemente/Attribute eines Namensraums werden zur Vermeidung von Namenskonflikten mit qualifizierten Namen angesprochen: NamensraumBezeichner : lokalerbezeichner, z.b. <kunde:nummer> IBS - SS

41 Verwendung eines Namensraums Beispiel: Webservices kommunizieren mittels SOAP-Nachrichten Das Vokabular zur Konstruktion einer SOAP-Nachricht stellt das W3C als Namensraum " bereit. Eine SOAP-Nachricht ist ein XML-Element Envelope mit den Unterelementen Header und Body <env:envelope xmlns:env=" <env:header>... </env:header> <env:body>... </env:body> </env:envelope> Der Kurzbezeichner des Namensraums env ist frei gewählt Das Envelope-Element, das den Namensraum importiert, gehört selbst zu dem Namensraum IBS - SS

42 Beispiel: Verwendung zweier Namensräume in einem XML-Dokument <bestellung xmlns:produkt=" xmlns:kunde=" <produkt:nummer>p49393</produkt:nummer> <produkt:name>jxy Rasierer VC100</produkt:name> <produkt:menge>1</produkt:menge> <produkt:preis waehrung="euro">69,--</produkt:preis> <kunde:nummer>k2029</kunde:nummer> <kunde:name>meier, Fritz</kunde:name> <kunde:lieferadresse>donnerbalkenstr.14, München </kunde:lieferadresse> </bestellung> Das Wurzelelement bestellung und das Attribut waehrung gehören hier zu keinen Namensraum. IBS - SS

43 Namensraum-Bezeichner Für den eigentlichen (langen) Namensraum-Bezeichner wählt man die Form eines URI (Uniform Resource Identifier) bzw. IRI (Internationalized RI), damit weltweite Eindeutigkeit gewährleistet ist (andere Zeichenketten sind dennoch korrekt!). Die Bindung des Kurzbezeichners kann in Unterelementen redefiniert oder gelöscht ( xmlns:x="" ) werden Kurzbezeichner, die mit xml beginnen, sind für besondere Zwecke reserviert Beispiel: xmlns hat Schlüsselwort-Funktion Konventionen zur besseren Lesbarkeit der XML-Dokumente beachten, z.b. xsd - Namensraum für XML-Schema-Definitionen xsi - Namensraum für XML-Schema-Verwendung (xsi=xml Schema Instance) IBS - SS

44 Default-Namensraum Höchstens ein Namensraum kann ohne Kurzname als Default-Namensraum definiert werden: xmlns=namensraum-uri Alle unqualifizierten Elementnamen (nicht aber Attributnamen!) gehören dann zum Default-Namensraum, im Beispiel auch bestellung Beispiel: <bestellung xmlns=" xmlns:kunde=" <nummer>p49393</nummer> <name>jxy Rasierer VC100</name> <menge>1</menge> <preis waehrung="euro">69,--</preis> <kunde:nummer>k2029</kunde:nummer> <kunde:name>meier, Fritz</kunde:name> <kunde:lieferadresse>donnerbalkenstr.14, München </kunde:lieferadresse> </bestellung> IBS - SS

45 Lokale Redefintion des Default-Namensraums Namensraum-Bindungen übergeordneter Elemente können von Unterelementen redefiniert oder gelöscht werden, auch beim Default-Namensraum: <Vectra xmlns=" <Karosserie>...</Karosserie> <Motor xmlns=" <!-- Motor gehört zu " -->... </Motor> <!-- zurück bei Opel --> <Rad>...</Rad> </Vectra> <Vectra xmlns=" <Karosserie>...</Karosserie> <Motor xmlns=""> <!-- Motor gehört zu keinem Namensraum -->... </Motor>... IBS - SS

46 XML-Schema Ersatz für DTD: Syntax + Datentypen XML-Schema ist ein Standard des W3C ( als Nachfolgekonzept für DTDs. Tutorial und weiterführende Infos: IBS - SS

47 Schema Anwendungsbeispiele Mit einem Schema definiert man eine formale Sprache für eine bestimmte Anwendungsdomäne Beispiele: XHTML (neueste HTML-Version), WSDL (Schnittstellenspezifikation für Webservices), JSP (Java Server Pages), BPEL (Spezifikation von Geschäftsprozessen) den Aufbau von Geschäftsdokumenten eines bestimmten Typs Beispiele: Auftrag, Lieferschein, Rechnung, Kundenkontakt den Aufbau von Konfigurationsdateien für bestimmte Anwendungen Beispiele: Makefile für Apache Ant, Deployment-Deskriptor für Web-Container und vieles mehr IBS - SS

48 Schema Grundlegende Merkmale Schema-Syntax ist XML-Syntax XML-Werkzeuge für Schema-Definitionen verwendbar: validieren visualisieren in Datenbanken abspeichern Komplexes Typsystem Aufteilung komplexer Schemata auf mehrere Dateien bessere Wiederverwendbarkeitskonzepte für Typen (extension, restriction) Nutzung mehrerer Schemata im selben XML-Dokument IBS - SS

49 Beispiel für Struktur und Verwendung eines Schema-Dokuments lokale Schema-Datei: adressbuch.xsd <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" Definitionen </xsd:schema> Verwendung im XML-Dokument: adressbuch.xml: <?xml version="1.0" encoding="utf-8"?> <adressbuch xmlns:xsi=" xsi:nonamespaceschemalocation="adressbuch.xsd">... </adressbuch>> IBS - SS

50 XML Schema: Typen Typisiert werden Elemente und Attribute Es gibt vordefinierte und benutzerdefinierte Typen Es gibt einfache und komplexe Typen Ein Attribut hat immer einfachen Typ Ein Element mit Attributen hat immer einen komplexen Typ (auch wenn der Inhalt leer oder von einfachem Typ ist) IBS - SS

51 Beispiel für Element-Definition in einem Schema <xsd:element name="adresse"> <xsd:complextype> <xsd:sequence> <xsd:element name="titel" type="xsd:string" minoccurs="0" maxoccurs="1"> <xsd:element name="vorname" type="xsd:string" /> <xsd:element name="nachname" type="xsd:string" />... </xsd:sequence> </xsd:complextype> </xsd:element> Der komplexe Typ des Elements adresse ist hier anonym. IBS - SS

52 Beispiel: Typdefinition und Verwendung des Typs <xsd:complextype name="adresstyp"> <xsd:sequence> <xsd:element name="titel" type="xsd:string" minoccurs="0" maxoccurs="1" /> <xsd:element name="vorname" type="xsd:string" /> <xsd:element name="nachname" type="xsd:string" />... </xsd:sequence> </xsd:complextype> Der benannte Typ adresstyp kann sowohl für Element-Definitionen als auch für andere Typdefinitionen als Subtyp eingesetzt werden, z.b. <xsd:element name="adresse" type="adresstyp" /> Benannte einfache Typen sind auch in Attributdefinitionen nutzbar IBS - SS

53 Beispiel für Attribut-Definitionen in einem Schema <xsd:element name="adressbuch"> <xsd:complextype> <xsd:sequence> <xsd:element name="adresse" type="adresstyp" maxoccurs="unbounded"> </xsd:sequence> <xsd:attribute name="aktualisiert" type="xsd:date" use="required" /> <xsd:attribute name="version" type="xsd:string" use="default" value="1.0" /> <xsd:attribute name="sprache" type="xsd:language" use="optional" /> </xsd:complextype> </xsd:element> In gleicher Weise kann man die Attribute auch innerhalb einer Typdefinition spezifizieren. IBS - SS

54 Vordefinierte Typen für XML-Schemata (Auswahl) xsd:string xsd:decimal xsd:integer xsd:float xsd:boolean xsd:date xsd:time anyuri: Uniform Resource Identifier (URI) language: Sprachbezeichnung, z. B. de-de, en-us, fr ID: Identifikationsattribut innerhalb von XML Elementen IDREF: zur Referenzierung von ID-Attributen IBS - SS

55 Benutzerdefinierte Typen (Auswahl) Benutzerdefinierte einfache Typen xsd:restriction schränkt den Wertebereich eines Basistyps ein (z.b. Längenbeschränkungen bei Strings) xsd:enumeration definiert einen Aufzählungstyp xsd:list definiert eine Werteliste xsd:union vereinigt die Wertemengen vorhandener einfacher Typen Benutzerdefinierte komplexe Typen: xsd:sequence definiert eine feste Anordnung der Unterelemente xsd:all definiert Unterelemente mit beliebiger Anordnung xsd:choice definiert mehrere Varianten für die Unterelemente IBS - SS

56 Einschränkungen einfacher Typen <!-- Einschränkung des Wertebereichs --> <xsd:simpletype name="smallint"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="1" /> <xsd:maxinclusive value="100" /> </xsd:restriction> </xsd:simpletype> <!-- Einschränkung durch regulären Ausdruck --> <xsd:simpletype name="artikelnrt"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[x Y Z]\s\d{3}-\d{5}" /> </xsd:restriction> </xsd:simpletype> IBS - SS

57 <!-- Aufzählung --> <xsd:simpletype name="farbet"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="rot" /> <xsd:enumeration value="gelb" /> <xsd:enumeration value="blau" /> </xsd:restriction> </xsd:simpletype> IBS - SS

58 Listen und Vereinigung von einfachen Typen <!-- ListenTyp --> <xsd:simpletype name="farblistet"> <xsd:list itemtype="farbet" /> </xsd:simpletype> <!-- eingeschränkter ListenTyp --> <xsd:simpletype name="dreifarbent"> <xsd:restriction base="farblistet"> <xsd:length value="3" /> </xsd:restriction> </xsd:simpletype> <!-- union Typ --> <xsd:simpletype name="intoderdecimalt"> <xsd:union membertypes="int decimal" /> </xsd:simpletype> IBS - SS

59 Abgeleitete komplexe Typen Restriction: Einschränkungen des Wertebereichs, z.b.: Komponententyp einschränken, optionale Komponenten weglassen min/max-occurs einschränken eingeschränkter Typ ist Teilmenge des Basistyps Alle Komponenten (Subelemente, Attribute), die enthalten sein sollen, müssen noch einmal explizit angegeben werden. Extension: Hinzufügen von Elementen/Attributen Basistyp kann simpler oder komplexer Typ sein. (simpler Typ wird dadurch zu komplexem Typ) Bei Erweiterung eines komplexen Typs: Man muss nur jene Komponenten angeben, die neu dazukommen. IBS - SS

60 Abgeleitete Typen <xsd:complextype name="fahrzeug"> <xsd:sequence> <xsd:element name="ps" type="xsd:positiveinteger" /> <xsd:element name="geschw" type="xsd:positiveinteger" /> <xsd:/sequence> <xsd:/complextype> <xsd:complextype name="lkw"> <xsd:complexcontent> <xsd:extension base="fahrzeug"> <xsd:sequence> <xsd:element name="nutzlast" type="xsd:positiveinteger" />... </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype> IBS - SS

61 Das Typ Attribut: xsi:type Typangabe im XML-Dokument an der Verwendungsstelle eines Elements Dem Element wird damit ein vom im Schema vereinbarten Typ abgeleiteter Typ zugeordnet Beispiel: Im Schema sei der Typ von lieferung ein generischer Typ fahrzeug oder sogar völlig offengelassen (xsd:anytype) <auto:lieferliste xmlns:xsi=" xmlns:auto=" datum=" "> <lieferung xsi:type="auto:pkw">... </lieferung> <lieferung xsi:type="auto:lkw">... </lieferung> </auto:lieferliste> IBS - SS

62 Ausblick: XML-Vererbungskonzepte Die XML-Vererbungskonzepte werden hier nicht im Einzelnen behandelt. Überblick Abgeleitete Typen und xsi:type (siehe oben) Substitutionsgruppen (substitutiongroup-attribut) (zur Modellierung von Vererbungsbeziehung zwischen Klassen) Abstrakte Elemente (abstract-attribut) (zur Modellierung abstrakter Klassen) Finale Elemente und Typen (final-attribut) (Einschränkung von Ableitungen) Substitutionsverbote (block-attribut) IBS - SS

63 Schema und Namensräume Wenn das Schema einen neuen Namensraum etabliert, wird dieser als Target Namespace -Attribut des Schemas angegeben: <xsd:schema xmlns:xsd=" xsd:targetnamespace=" Alle neuen Definitionen des Schemas werden dann dem Zielnamensraum zugeordnet Ein Schema muss nicht notwendigerweise einen Zielnamensraum definieren Weiterführender Artikel: namespaces.html IBS - SS

64 Schema-Referenzen an der Verwendungsstelle Verwendungsstelle eines Schemas, das einen Namensraum (als targetnamespace-attribut) definiert: <adressbuch xmlns:=" xmlns:xsi=" xsi:schemalocation=" adressbuch.xsd">... </adressbuch>> Attributwert von xsi:schemalocation ist eine Liste von Paaren, jeweils bestehend aus Namespace-URI und zugehörigem Schema-URI schemalocation=" adressbuch.xsd" Falls das Schema keinen Namensraum definiert, lautet die Referenz auf den Schema-URL wie folgt: xsi:nonamespaceschemalocation="adressbuch.xsd" IBS - SS

65 Qualifizierte und unqualifizierte Verwendung von Namen Die als Kindelemente des schema-wurzelelements definierten Elemente und Attribute heißen global, die anderen lokal. Wenn das Schema einen Namensraum definiert, muss jedes globale Element/Attribut an jeder Verwendungsstelle qualifiziert werden. Achtung: Die Qualifikation kann auch implizit durch Import als Default-Namensraum erfolgen! Für lokale Namen kann man im Schema die Qualifikation fordern oder verbieten, z.b. <?xml version="1.0" encoding="us-ascii"?> <schema xmlns=" xmlns:tns=" targetnamespace=" elementformdefault="qualified" attributeformdefault="unqualified"> IBS - SS

66 Verteilte Schemata: Import und Include Die Definition eines Namensraums kann auf mehrere Schema-Dateien verteilt werden. Mit dem Include-Element werden die einzelnen Module in eine übergeordnete Schema-Datei eingefügt. Beispiel <xsd:schema xmlns:xsd=" xmlns:pcparts=" targetnamespace=" <xsd:include schemalocation=" <xsd:include schemalocation=" </xsd:schema> IBS - SS

67 Der Import-Mechanismus ist für die Wiederverwendung anderer Namensräume innerhalb eines Schemas gedacht. Beispiel: <xsd:schema xmlns:xsd=" xmlns:pcparts=" targetnamespace=" <xsd:import namespace=" schemalocation="pcparts.xsd"/>... <... <xsd:attribute name="weight" type="pcparts:weighttype"/>.../>... </xsd:schema> IBS - SS

68 XSL - Extensible Stylesheet Language Sprachfamilie zur Visualisierung von XML-Dokumenten: XSLT (XSL-Transformations) XML-Sprache zur Definition Muster-basierter Transformationsregeln für XML-Dokumente XPath (XML Path Language) Sprache zur Selektion von Elementen und Attributen eines XML-Dokuments XSL-FO (XSL Formatting Objekts) Sprache zur Definition von Präsentationsattributen XPointer definiert Ausdrücke für Verweise auf externe Dokumente IBS - SS

69 XSLT (XSL-Stylesheets) Ein XSL-Stylesheet definiert Transformationsregeln für ein XML-Dokument Zielsprachen für XSL-Transformationen: XML, HTML, XHTML, Text, PDF und andere Ziel- und Quelldokument können beliebig voneinander abweichen! Ein Stylesheet ist ein XML-Element <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="...">... </xsl:template>.. Transformationsregeln. <xsl:template match="...">... </xsl:template> </xsl:stylesheet> (statt xsl:stylesheet kann auch xsl:transform stehen) IBS - SS

70 XSL-Stylesheets Ein XSL-Stylesheet besteht aus einer Reihe von Transformationsregeln für die Elemente eines XML-Dokuments Jede Regel ist ein xsl:template-elemente ( Template =Muster, Schablone) Eine Regel besteht aus einem Selektor und einer Aktion Selektor ist ein XPath-Ausdruck. Er bestimmt, für welche Elemente des XML-Dokuments die Regel gilt Die Aktion besteht aus statischem Ausgabetext und/oder XSLT-Kommandos zur Erzeugung von dynamischen Teilen der Ausgabe IBS - SS

71 Referenzierung von XSL-Stylesheets in XML-Dokumenten Stylesheets werden als lokale Dateien gespeichert oder von einem Server geladen Adressierung erfolgt über URL Referenzierung: spezielle Verarbeitungsanweisung (s. Beispiel) Beispiel: Stylesheet in lokaler Datei adressbuch.xsl Verwendung in XML-Dokument adressbuch.xml: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="adressbuch.xsl"?> <adressbuch IBS - SS

72 Beispiel: Erzeugung eines HTML -Verzeichnisses aus einem Adressbuch Beispiel-Adressbuch <?xml version="1.0" encoding="utf-8"?> <adressbuch aktualisiert=" " version="2"> <adresse> <vorname> Hugo </vorname> <nachname> Meier </nachname> <strasse> Waldweg 7 </strasse> <plz> </plz> <ort> Dinkelsdorf </ort> < > meier007@gmx.net </ > <tel typ="mobil"> 0160/ </tel> </adresse>... IBS - SS

73 XSL-Stylesheet für Adressbuch 2 Transformationsregeln für adressbuch und adresse : <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="/"> <html> <body> <h1> -Verzeichnis </h1> <table border="4"> <tr><th>vorname</th> <th>nachname</th> <th> </th> </tr> </table> </body> </html> </xsl:template> <xsl:apply-templates /> IBS - SS

74 <xsl:template match="adresse"> <tr> <td> <xsl:value-of select="vorname" /> </td> <td> <xsl:value-of select="nachname" /> </td> <td> <xsl:value-of select=" " /> </td> </tr> </xsl:template> </xsl:stylesheet> IBS - SS

75 Die erste Regel: <xsl:template match="/">... wird auf das Wurzelelement (hier: adressbuch ) angewendet. Der Inhalt besteht aus HTML-Text und der XSLT-Anweisung <xsl:apply-templates />. Dies bewirkt die Anwendung der Regeln auf die Kindknoten. Im Beispiel erzeugt die Regel ein HTML-Grundgerüst mit einer Tabelle für die -Adressen. Die zweite Regel <xsl:template match="adresse">... wird auf alle adresse -Elemente angewendet. Im Beispiel wird für jede Adresse eine HTML-Tabellenzeile im Zieldokument geschrieben. Die Anweisung <xsl:value-of select="...">... liefert den Wert des Elements, das mit dem select-ausdruck (XPath) gewählt wird. Bei Anwendung einer Regel beziehen sich relative Pfade ( vorname ) immer auf den aktuell bearbeiteten Konten (aktuelles adresse -Element). IBS - SS

76 Ausführen der Transformation Ein XSLT-Prozessor baut zunächst den Baum zum XML-Dokument auf und führt dann die Transformationen aus. Zum Ausführen der Transformation kann man einen eigenständigen XSLT-Prozessor, z.b. Apache Xalan verwenden: xalan -HTML -IN adressbuch.xml -XSL adressbuch2 .xsl -OUT .html Solche Transformationen werden häufig auf Webservern benutzt, um das Ergebnisdokument anschließend an den Browser senden. Neuere WWW-Browser (z.b. firefox 2.x, IE7) können XSLT direkt ausführen. Im Adressbuch wird dazu das XSLT verlinkt: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="adressbuch2 .xsl"?>... <adressbuch... IBS - SS

77 XSLT-Ausführung im WWW-Browser Browser lädt das XML-Dokument findet die?xml-stylesheet-verarbeitungsanweisung lädt das XSLT-Dokument führt die Transformation des XML-Dokuments aus zeigt das resultierende HTML- -Verzeichnis anstelle des ursprünglichen XML direkt an IBS - SS

78 XPath Ein XPath-Ausdruck (Pfad) selektiert Teile (Elemente, Attribute) eines XML-Dokuments XPath ist Baum-orientiert Ein Pfad steht, z.b. für einen Knoten, einen Teilbaum oder eine Menge von Knoten im Baum Selektionskriterien sind ggf. komplex und benutzen u.a. Positionen im Baum Knotentypen Elementnamen, Attributnamen Attributwerte In XPath-Pfaden werden die Pfadelemente durch / getrennt. Hinweis: Für interaktive Spielereien mit XPath eignet sich das XLab: ger/examples.html IBS - SS

79 XML-Baumstruktur und XPath-Knotentypen Die Knotentypen: Wurzelknoten: repräsentiert das XML-Dokument, ist Elternknoten des Wurzelelements Der Wurzelknoten repräsentiert also nicht das Wurzelelement! Elementknoten: repräsentiert XML-Element, als Kinder können Elementknoten, Attributkoten oder Namensraum-Knoten auftreten Attributknoten: repräsentiert Attribut mit Name und Wert Textknoten: Zeicheninhalt, der keine anderen Knoten mehr enthält Namensraumknoten: repräsentiert eine Namensraum-Angabe zu einem Element oder Attribut Verarbeitungsanweisungsknoten: repräsentiert eine Verarbeitungsanweisung (Kind des Wurzelknotens) Kommentarknoten: repräsentiert einen Kommentarinhalt IBS - SS

80 XPath-Achsen Eine Achse dient zur Auswahl einer Menge von Knoten über deren Relation zum aktuellen Knoten, z.b. wählt die child::-achse die Kindknoten eines Knotens. Die ausgewählten Knoten sind ab 1 durchnummeriert und können durch diesen Index gezielt selektiert werden. Für Achsen und Pfade gibt es eine ausführliche und eine Kurz-Notation. Beispiel: ausführlich: kurz: child::adresse[1]/child:: /attribute::typ adresse[1]/ /@typ Die nachfolgenden Baumdarstellungen (aus selfhtml.org) sind Achsen-Beispiele. Der aktuelle Knoten ist blau markiert. Die durch die Achse ausgewählten Knoten sind an ihren Nummern erkennbar. IBS - SS

81 XPath-Achse child:: Kindknoten des aktuellen Knotens. IBS - SS

82 XPath-Achse parent:: Elternknoten des aktuellen Knotens IBS - SS

83 XPath-Achse descendant:: Alle Nachkommen des aktuellen Knotens. IBS - SS

84 XPath-Achse ancestor:: Alle Vorfahren IBS - SS

85 XPath-Achse following:: Alle im XML-Dokument hinter dem aktuellen Knoten stehenden Elemente IBS - SS

86 XPath-Achse preceding:: Alle im XML-Dokument vor dem aktuellen Knoten stehenden Elemente IBS - SS

87 XPath-Achse following-sibling:: Alle im Dokument nachfolgenden Geschwisterknoten IBS - SS

88 XPath-Achse preceding-sibling:: Alle im Dokument vorangehenden Geschwisterknoten IBS - SS

89 XPath-Achse self:: Der Knoten selbst IBS - SS

90 XPath-Achse descendant-or-self:: Die Nachkommen und der Knoten selbst IBS - SS

91 XPath-Achse ancestor-or-self:: Die Vorgänger und der Knoten selbst IBS - SS

92 XPath: Kurzschreibweisen, Filter, Prädikate Kurznotationen: / Wurzelknoten. aktuelles Element.. übergeordnetes Element // Kompletter Baum bzw. Teilbaum Attributknoten Filter: Eine Achse kann mit einem Knotentest als Filter erweitert werden: Elementname (bei der attribute-achse: Attributnamen) oder * als Wildcard-Symbol für alle Knoten Prädikate: Boolesche Ausdrücke mit diversen vordefinierten Prädikaten dienen zur Einschränkung von Knotenmengen IBS - SS

93 XPath-Beispiele adresse alle Kinder mit Namen adresse adresse */adresse alle Kinder und Enkel mit Namen adresse adresse[3] */*[last()-1] 3. Kind mit Namen adresse und vorletzter Enkel //vorname alle Elemente mit Namen vorname..../*[1] übergeordneter Knoten und dessen 1. alle Attribute des übergeordneten 2. Attribut des übergeordneten Knotens../attribute::waehrung Attribut waehrung des übergeordneten Attribut waehrung des übergeordneten Knotens.//kunde/*/auftrag[1] zu allen Kunden im Teilbaum des aktuellen Knotens das erste auftrag-enkelelement kunde-kind-elemente mit kundentyp- -Attribut kunde-kind-elemente mit id- -Attributwert 275 Daneben kann man mit Prädikaten die Selektion einschränken, z.b. //buch[count(seite)<=100 and count(seite)>=10] alle buch -Elemente mit zwischen 10 und 100 Seite -Kindern IBS - SS

94 Push- und Pull-Verarbeitung Bei der Entwicklung von XSLT-Stylesheets unterscheidet man zwei Entwicklungsstile: 1. PUSH-Verarbeitung koppelt die Ausgabe-Erzeugung an Element-spezifische Regeln, deren Anwendung mit <xsl:apply-templates> veranlasst wird. 2. PULL-Verarbeitung zieht bei der Verarbeitung eines Elements die in den Substrukturen steckende Information aus dem Teilbaum heraus. Im Extremfall gibt es nur ein Template für das Wurzelement. Für den Zugriff auf die Teilbäume werden typischerweise <xsl:value-of select=...> und <xsl:foreach> benutzt. Der gewählte Stil hat starke Auswirkungen auf die Wartbarkeit der Stylesheets. Der PUSH-Stil ist i.a. zu bevorzugen. Beim Adressbuch-Beispiel oben wird die Verarbeitung der Unterelemente von adresse in der Regel für den Elternknoten spezifiziert. Dies ist PULL-Stil. IBS - SS

95 XSL-Stylesheet für Adressbuch PUSH-Stil 5 Transformationsregeln ( adressbuch, adresse, vorname, nachname, ) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="adressbuch">.. wie oben. </xsl:template> <xsl:template match="adresse"> <tr> <xsl:apply-templates /> </tr> </xsl:template> IBS - SS

96 <xsl:template match="vorname"> <td><xsl:value-of select="." /></td> </xsl:template> <xsl:template match="nachname"> <td><xsl:value-of select="." /></td> </xsl:template> <xsl:template match=" "> <td><xsl:value-of select="." /></td> </xsl:template> </xsl:stylesheet> IBS - SS

97 XSL-Stylesheet für Adressbuch PUSH-Stil <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="/"> <html> <body> <h1> -Verzeichnis </h1> <table border="4"> <tr><th>vorname</th> <th>nachname</th> <th> </th> </tr> <xsl:for-each select="*"> <tr> <td><xsl:value-of select="vorname" /></td> <td><xsl:value-of select="nachname" /></td> <td><xsl:value-of select=" " /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> IBS - SS

98 Bedingte Verarbeitung in XSLT Die if-anweisung knüpft die Verarbeitung an eine Bedingung <xsl:if test="...">... </xsl:if> Die choose-anweisung erlaubt mehrere Alternativen, wobei <xsl:when test=...> dem aus vielen Programmiersprachen bekannten else if entspricht und <xsl:otherwise> dem else. <xsl:choose> <xsl:when test="...">... <xsl:when test="..."> <xsl:otherwise> </xsl:choose>... </xsl:when>... </xsl:when>... </xsl:otherwise> IBS - SS

99 xsl:for-each und xsl:sort Mit der xsl:for-each-anweisung steht ein expliziter Iterator für Knotenmengen zur Verfügung. Damit lassen sich z.b. Unterelemente eines Knotens im PULL-Stil traversieren. Sinnvoll ist der Einsatz in Kombination mit einem Sortierkriterium, das als <xsl:sort select=...> innerhalb des xsl:for-each eingesetzt wird. IBS - SS

100 Beispiel für sortierte Iteration einer Knotenmenge: auftraege.xml <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="auftrag.xsl"?> <auftraege typ="tiefbau"> <auftrag datum=" "> <kunde> Karl Dall </kunde> <auftragsposition> 10 Bagger </auftragsposition> <auftragsposition> 1 Bauzaun </auftragsposition> </auftrag> <auftrag datum=" "> <kunde> Hubert Winzig </kunde> <auftragsposition> 7 Bagger <auftragsposition> 1 Kran </auftrag> </auftragsposition> </auftragsposition> </auftraege> IBS - SS

101 Stylesheet mit xsl:for-each und xsl:sort: auftraege.xml <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="auftraege"> <html><body> <xsl:for-each select="auftrag"> <xsl:sort /> <hr/> <b> Auftrag vom <xsl:value-of />: </b><p> <xsl:apply-templates select="auftragsposition" /> <br /> Oben stehende Auftraege sind von <b> <xsl:apply-templates select="kunde" /> </b></p> </xsl:for-each> </body></html> </xsl:template> <xsl:template match="auftragsposition"> Auftragsposition: <xsl:apply-templates /> <br/> </xsl:template> </xsl:stylesheet> IBS - SS

102 Ausgabe im Browser IBS - SS

103 Kopieren von Baumknoten Bei Transformationen von XML nach XML ist eine Operation zum Kopieren von Baumknoten sinnvoll <xsl:copy>... </xsl:copy> kopiert den aktuellen Knoten (ohne Inhalt und Attribute) in das Zieldokument ( flache Kopie). Der Inhalt des xsl:copy-elements bestimmt den Inhalt des kopierten Knotens im Zieldokument IBS - SS

104 Beispiel: XML XML, Selektion von Tabellenzeilen, xsl:copy <xsl:template match="/adressbuch"> <xsl:copy> <xsl:for-each select="//adresse[nachname= Schmidt ]"> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:for-each> </xsl:copy> </xsl:template> <xsl:template name="deepcopy" match="*"> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:template> IBS - SS

105 Beispiel: XML XML, Selektion von Tabellenspalten <xsl:template match="/adressbuch"> <xsl:copy> <xsl:for-each select="//adresse[nachname= Schmidt ]"> <xsl:copy> <xsl:apply-templates select="vorname"/> <xsl:apply-templates select="nachname"/> <xsl:apply-templates select=" "/> </xsl:copy> </xsl:for-each> </xsl:copy> </xsl:template> <xsl:template name="deepcopy" match="*"> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:template> IBS - SS

106 Expliziter Regelaufruf Bei xsl:apply-templates kann es zu Konflikten kommen, weil mehrere passende Regeln existieren. Nach einem (hier nicht näher behandelten) Prioritätensystem wird eine der Regeln ausgewählt. Alternativ kann man eine Regel mit einem name-attribut mittels xsl:call-template direkt aufrufen. Beispiel: Kopieren eines adresse-knotens (vgl. letztes Beispiel) <xsl:template match="/adressbuch"> <xsl:copy> <xsl:for-each select="//adresse[nachname= Schmidt ]"> <xsl:copy> <xsl:call-template name="deepcopy" /> </xsl:copy> </xsl:for-each> </xsl:copy> </xsl:template> IBS - SS

107 XML-Verarbeitung in Java: Optimale Unterstützung XML-Verarbeitung wird in Java besser als in jeder anderen Sprache unterstützt: Mehrere stabile Standard-APIs (z.b. JAXP - Java API for XML, JAXB) Mehrere ausgereifte Nonstandard-APIs (z.b. JDOM, StAX) Ausgereifte, performante Tools (z.b. validierende Parser, XSLT-Prozessoren) Frameworks für komplexe XML-Projekte (z.b. Cocoon) Hervorragende Dokumentation (Bücher und Internet) Problem eines Anwendungsentwicklers: Wie verschafft man sich einen Überblick über die vielen Möglichkeiten? IBS - SS

108 Überblick: Was gibt es alles? Mehrere alternative APIs für die Erstellung und Auswertung von Dokumentenbäumen: DOM, JDOM, DOM4J DOM steht für Document Object Model Der Kern eines DOM ist eine normierte Baumdarstellung für Dokumente Mehrere alternative Parsermethoden für die Dokumentenverarbeitung: DOM-Parser (für jede DOM-Variante) konstruieren den Dokumentenbaum SAX-Parser unterstützen die Ereignis-orientierte XML-Verarbeitung Stream-Parser (StaX - Streaming API for XML) sind eine Weiterentwicklung des SAX-Konzepts ( Ereignis-getriebenes PULL-Parsing ) IBS - SS

109 XSLT-Transformationen Repräsentationsformat-Adapter können z.b. XML-Bäume in Text umwandeln DOM-Adapter transformieren zwischen unterschiedlichen DOM-Varianten, z.b. JDOM DOM SAX-Filterketten zur Modularisierung komplexer XML-Verarbeitung nach Pipes and Filters -Prinzip XSLT-Transformationsketten (siehe Concatenating Transformations with a Filter Chain DTD-Verarbeitung Cocoon-Framenwork für komplexe XML-Projekte IBS - SS

110 Installation und Nutzung der APIs JAXP (Java API for XML) Bestandteil des JAVA-Standardsprachumfangs beinhaltet weitere APIs als Komponenten: Schnittstellen für Parser und XSLT-Prozessoren: SAX, DOM, TrAX Zusätzlich benötigt man eine Implementierung dieser Schnittstellen Empfehlung: Apache-Xerces für Java (DOM-/SAX-Parser, XSLT-Prozessor): Installation: herunterladen von JAR-Archive in beliebiges Verzeichnis ablegen CLASSPATH mit Pfaden von xercesimpl.jar und xml-apis.jar ergänzen Auch die Nonstandard-APIs (JDOM, DOM4J, StAX) müssen gesondert installiert werden (ebenfalls jar-archiv-dateien) IBS - SS

111 Überblick: DOM-Alternativen DOM-API des W3C Standard: W3C-Recommendation: (Recommendation= Empfehlung, Bezeichnung für alle Standards des W3C) Standard für die Verarbeitung von XML, HTML, XHTML, Javascript, CSS u.a. Umfangreiche Spezifikation, z.b. Begriffsdefinitionen Dokument, Knoten, Knotentyp, Element, Attribut, Namensraum,... Baumstruktur: Wie sieht der Baum zu einem Dokument aus? Operationen zur Baumkonstruktion (z.b. Knoten erzeugen/kopieren/löschen, Kindknoten anfügen) Operationen zum Traversieren des Baums und Auslesen von Element-Inhalten und Attributen IBS - SS

112 Spezifikation in IDL (Interface Definition Language) Programmiersprachen-unabhängig und plattformunabhängig 3 Versionen ( Levels ) des Standards, aktuell: Level 3. DOM-Standard ist modularisiert DOM Core DOM HTML DOM Style and Formatting Verarbeitung von Stylesheets DOM Events Basis für Javascript-Eventmodell DOM Traversal and Range XPath... In Java als JAXP-Bestandteil in der normalen Java-Distribution (JavaSE - Java Platform Standard Edition) enthalten IBS - SS

113 Überblick: DOM-Alternativen JDOM-API für Java Open-Source API für XML-Verarbeitung in Java Funktionalität mit DOM vergleichbar, aber einfacher zu benutzen Standardisierungsprozess JSR-102 steckengeblieben JSR= Java Specification Request : offizieller Standardisierungsantrag integriert beim Parser die DOM- und SAX-APIs Installation: Binär-Distribution herunterladen ( und jdom.jar in den CLASSPATH aufnehmen DOM4J-API für Java Weitere Open-Source API: siehe Funktionalität mit JDOM vergleichbar IBS - SS

114 Beispiel: Baumaufbau mit JDOM Unser bekanntes Adressbuch-Beispiel wird mit der JDOM-API umgesetzt. <adressbuch aktualisiert=" "> <adresse> <vorname> Hugo </vorname> <nachname> Meier </nachname> <telefon typ="mobil"> </adresse> </adressbuch> 0160/ </tel> import org.jdom.element; import org.jdom.document; public class CreateDocument { public static void main(string[] args) { Element vorname = new Element("vorname"); vorname.addcontent("hugo"); IBS - SS

Internetbasierte Systeme

Internetbasierte Systeme Internetbasierte Systeme Internetbasierte Systeme SS 2010 Michael Jäger 27. Juni 2010 1 / 446 Internetbasierte Systeme Internetbasierte Systeme SS 2010 Wie entwickle ich Software für das Web? http://www.w3.org

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

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

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel 25.-29.6.2012.

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel 25.-29.6.2012. XML-Verarbeitung XPath XSL die extensible Stylesheet Language Folie 1 Was ist XSL? - Mehrere Komponenten: - XSLT Transformations - XSL-FO Formatting Objects - XPath - (XML-Schema) - Ausgabeformate: - XML,

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

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

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

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

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

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

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

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

Mehr

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee Mathias Heilig email: mathias.heilig@gmx.de Inhalt XSL Übersicht XSL im XML- Umfeld XSLT XPath XSL- FO Was können wir mit XSLT heute machen? Formatierungsprozess XSLT im XML- Formatierungsprozess Transformation

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

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Dirk 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

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

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

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in XML. Seminarunterlage. Version 3.05 vom Seminarunterlage Version: 3.05 Version 3.05 vom 8. März 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder

Mehr

DTD: Syntax-Zusammenfassung

DTD: Syntax-Zusammenfassung DTD: Syntax-Zusammenfassung Dokumenttyp-Deklarationen Interne Teilmenge ]> Externe

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung II. XML Manfred Gruner mailto:wpr@gruner.org 4.2 XML XML extensible Markup Language Universelles Format für strukturierte Dokumente und Daten Web: XML = Querschnittstechnologie

Mehr

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back XML Grundlagen Andreas Rottmann,Sebastian Riedl 27. August 2002 Rottmann, Riedl: XML Grundlagen 1 Überblick Hintergründe und Geschichte Aufbau von XML-Dokumenten DTD Schemata Erweiterungen XML APIs Rottmann,

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

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

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS Inhaltsverzeichnis Vorwort 1 Was hat XML, das HTML nicht hat?......................................... 1 Zu diesem Buch.......................................................... 3 Die Website zum Buch....................................................

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 120 Minuten. Aufgabe

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

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

Mehr

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

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

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

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

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

2. Einführung in Datenbanken und XML

2. Einführung in Datenbanken und XML 2. Einführung in Datenbanken und XML Was ist XML? 2. Einführung in Datenbanken und XML XML steht für extensible Markup Language durch das W3C entwickeltes Dokumentenformat einfach, flexibel, von SGML abgeleitet

Mehr

XML Grundlagen Teil I

XML Grundlagen Teil I XML Vorlesung FH Aargau, SS 2006 XML Grundlagen Teil I Erik Wilde 20.3.2006 http://dret.net/lectures/xml-fhnw-ss06/ 20.3.2006 XML Vorlesung FHA SS 2006 1 Übersicht Aufbau von XML XML Dokumenten-Syntax

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik XSL die extensible Stylesheet Language Folie 1 Spring School 14. bis 18. März 2011 Einführung - Warum XML? Warum TEI? Trennung von Form und Inhalt Eine Quelle, viele verschiedene Ausgabeformate - Standardstylesheets

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

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

Mehr

Reimo Fachhändlerbereich Import Datei

Reimo Fachhändlerbereich Import Datei Allgemein Der Reimo Fachhändlerbereich im Internet bietet die Funktionalität, eine Datei mit Bestelldaten zu importieren. Dies erspart Ihnen die Arbeit, eine Bestellung, die Sie bereits in Ihrer EDV erfasst

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

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

Das Einsteigerseminar

Das Einsteigerseminar Michael Seeboerger-Weichselbaum Das Einsteigerseminar XML Inhalt Vorwort Einleitung und Ziel des Buches 1 Was ist XML 1.1 HTML 1.2 XML 1.3 XSLT 1.4 XML und HTML - wo sind die Unterschiede? 1.5 Einsatzgebiete

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

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

Mehr

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001

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

Mehr

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

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

Mehr

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

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

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Tutorial In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern. Zu Beginn müssen wir uns über die gewünschten Sprachen Gedanken machen. Zum einem, da eine professionelle

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

XML Tutorium mit Oxygen. Oxygen Version 9.3!! XML Tutorium mit Oxygen (Version 1.9 vom 4.6.2013) Oxygen Version 9.3!! In den folgenden Lektionen sollen die vermittelten Konzepte zu XML anhand von konkreten Beispielen geübt und vertieft werden. Das

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

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

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.

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

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Webseite in XML Kurzeinführung

Webseite in XML Kurzeinführung Webseite in XML Kurzeinführung 1. Entwicklung... 1 2. Erste Webpage in XML... 2 2.1 Erstes Beispiel... 2 2.2 Tags definieren... 4 2.3 Kommentare in XML... 5 2.4 XML mittels CSS im Browser ansehen... 5

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

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

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

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

Mehr

Web (Site) Engineering (WebSE)

Web (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

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Nachname: Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 90 Minuten. Aufgabe

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

Sehr geehrte Faktor-IPS Anwender,

Sehr geehrte Faktor-IPS Anwender, März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

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

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken Mit Anleitung zur Erstellung einer FTP Verbindung unter Windows 7 Matthias Lange

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79 XML exemplarisch nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79 Wohlgeformte XML-Dokumente bestehen aus Prolog genau einem Element Beispiel-Prolog.

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

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren 1. XML Grundbegriffe XML = extensible Markup Language Metasprache um Dokumenttypen zu definieren XML Baum

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

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

Errata-Liste zum Kurs: Einführung in XML (2. Auflage) Errata-Liste zum Kurs: Einführung in XML (2. Auflage) 1. Kapitel 4.8: Auf Kursseite 8 ist der angeführten XML-Quellcode fehlerhaft:

Mehr

XML Werkzeug XML Spy. Frank Heininger Axel Labuschke

XML Werkzeug XML Spy. Frank Heininger Axel Labuschke XML Werkzeug XML Spy Frank Heininger Axel Labuschke Gliederung Werkzeugkategorien Strukturbeschreibung Dokumentenerstellung Dokumentenbetrachtung Datenhaltung XML Spy Einführung Funktionen Benutzeroberfläche

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

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

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen. Technische Dokumentation Hier finden Sie die technische Dokumentation für die Einbindung des Bestseller-Widgets. Die Dokumentation soll als Hilfestellung dienen und kann keinen Anspruch auf Vollständigkeit

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt 64720 email : Info@KM-EDV.de Stand 30.01.2012 CL-Mini-ABF Inhaltsverzeichnis Kurzbeschreibung... 1 Installation und Vorbereitung...1 ODBC-Zugriff... 2 ODBC-Einrichtung unter Windows XP...2 ODBC-Einrichtung

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Die Excel Schnittstelle - Pro Pack

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

Mehr

Document Type Definition (DTD)

Document Type Definition (DTD) Document Type Definition (DTD) 1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken Inhalt des Moduls: Grundlagen Elemente, Attribute Komplexe

Mehr

TIMERATE AG Tel 044 422 65 15 Falkenstrasse 26 timerate@timerate.ch 8008 Zürich www.timerate.ch. Joomla Templates Kursunterlagen

TIMERATE AG Tel 044 422 65 15 Falkenstrasse 26 timerate@timerate.ch 8008 Zürich www.timerate.ch. Joomla Templates Kursunterlagen TIMERATE AG Tel 044 422 65 15 Falkenstrasse 26 timerate@timerate.ch 8008 Zürich www.timerate.ch Joomla Templates Kursunterlagen Ordnerstruktur in Joomla Inhaltsverzeichnis Ordnerstruktur in Joomla... 3

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

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates

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

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter

Mehr

Predictive Modeling Markup Language. Thomas Morandell

Predictive Modeling Markup Language. Thomas Morandell Predictive Modeling Markup Language Thomas Morandell Index Einführung PMML als Standard für den Austausch von Data Mining Ergebnissen/Prozessen Allgemeine Struktur eines PMML Dokuments Beispiel von PMML

Mehr

1 ZUR EINSTIMMUNG............................................ 13 1.1 AUFBAU DES BUCHES.......................................... 13 1.2 VORAUSSETZUNGEN FÜR DIESES BUCH.............................. 14

Mehr