extensible Stylesheet Language XSL

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "extensible Stylesheet Language XSL"

Transkript

1 extensible Stylesheet Language XSL Sie kennen die Grundidee, die hinter Stylesheets steckt Sie wissen, wie CSS und XSLT eingesetzt werden Sie kennen das Verarbeitungsmodell von XSLT Sie kennen die Kontrollstrukturen von XSLT Einführung 2 von 50 Wieso Stylesheets? Cascading Style Sheets Level 1 (CSS1) Bedeutung von -Tags frei definierbar mittels lassen sich eigene Tags beschreiben -Dokumente haben keine vordefinierte Bedeutung und Darstellung (ausser Baumansicht) ein generisches verarbeitendes Programm (zb Browser) weiss nicht, was es mit den Tags anfangen soll - im Gegensatz zu HTML grundsätzlich keine Darstellungsinformation in den -Dokumenten speichern Inhalt-Darstellung Trennung: bewährtes Konzept in der Informatik Ursprünglich auch HTML Dokumentstruktur-Tags Beschreibung einer (allgemeinen) HTML-Dokumentstruktur, zb <h1><h4><p> aber nicht Bedeutung (wie ) Browser-Hersteller waren frei, wie die Darstellung umzusetzen ist Mit der Zeit aber zusätzliche Tags zur besseren graphischen Gestaltung von HTML-Seiten zb <font size"8pt"> HTML4: heterogene Sammlung von Darstellungs- und Dokumentstrukturtags Gutes HTML Design: keine Darstellungsattribute -> CSS Beschreibung der Darstellung (Style Informationen) externe Datei (css) Verweis / Link im Dokument auf Style Sheet: html: <link rel"stylesheet" type"text/css" href"zhwcss" Kaskadierung von Style Sheet hierarchische Organisation von Stilen zb allgemeiner Grundstil, spezifische Stile für einzelne Dokumente alternative, benutzerspezifische Darstellung kompakte, besser lesbare Form Syntax von CSS: tag-selector "{" property1:value1";" property2:value2 ";" "}" vorname,nachname {font-weight:bold; color:blue;} pabstract {font-style:italic;} Benutzung: <p classabstract> a:hover {color:#3155ce;} vordefinierte Pseudoklassen CSS können auch für Dokumente angewendet werden Verweis / Link im Dokument auf Style Sheet: xml PI: <?xml-stylesheet type "text/css" href"adressecss"?> 3 von 50 4 von 50

2 Browser verarbeitet CSS Beispiel adressexml Rendering: Aufbearbearbeitung für Ausgabegerät HTTP HTTP CSS Renderer Browser Klient <?xml version"10" encoding"iso "?> <?xml version"10" encoding"iso "?> <?xml-stylesheet type "text/css" href"adressecss"?> <?xml-stylesheet type "text/css" href"adressecss"?> public"yes"> public"yes"> <anrede>herr</anrede> <anrede>herr</anrede> <strasse>in der Weid 17</strasse> <strasse>in der Weid 17</strasse> <ort>heiden</ort> <ort>heiden</ort> Server Vorteil Bedeutung auf Zielplattform bekannt verschiedene Darstellungen möglich: Nachbearbeitung, Anpassung an Ausgabegerät Nachteil Client muss Standard, zb CSS korrekt und vollständig implementieren adressecss adresse {font-size:20pt; color:#000000;} adresse {font-size:20pt; color:#000000;} anrede anrede {display:block;} {display:block;} vorname,nachname vorname,nachname {font-weight:bold; {font-weight:bold; color:#0000ff;} color:#0000ff;} strasse {display:block;} strasse {display:block;} {display:none;} {display:none;} 5 von 50 6 von 50 Vor- und Nachteile Cascading Style Sheets Level 2 und 3 Vorteile Trennung von Inhalt (Bedeutung) und Darstellung Mehrere Dokumente können einheitlich dargestellt werden Die Darstellung mehrere Dokumente kann leicht geändert werden Möglichkeit der Definition von Stilen auf verschiedenen Ebenen medienabhängige Stylesheets optimiert für Darstellungsmedium (zb print {adresse font-size: screen {adresse font-size: 10pt} Seitenorientierte Darstellung Exakte Plazierung der Elemente auf Seite möglich Nachteile Nur Darstellung (Farbe, Font, Grösse, Blocksatz,) kann beeinflusst werden (CSS1) Struktur unverändert (zb am Schluss) Automatische Numerierung Seiten, Kapitelüberschriften Genauerer Auswahl der darzustellenden Teile möglich erweiterte Selektoren (eigene Auswahlsprache) Aber: Umgestaltung, Auswahl von Elementen nach wie vor eingeschränkt CSS3 in Arbeit 7 von 50 8 von 50

3 Extensible Stylesheet Language XSL Stylesheets sind selber -Dokumente XSL Aufgeteilt in XSL Transformation: XSLT Strukturelle Umformung von Dokumenten Quelle und Ziel sind -Dokumente XSL Formatting Objects: XSL-FO zur Bestimmung des Layouts und Darstellung Quelle:, Ziel: Ausgabeformat/Geräte, zb PDF XSLT XSLFO 9 von von 50 Aufbearbeitung ausschliesslich auf dem Client Aufbearbeitung ausschliesslich auf dem Server Rendering: Aufbearbearbeitung für Ausgabegerät Renderer HTTP Browser HTTP Klient XSL Server Vorteil Bedeutung auf Zielplattform bekannt verschiedene Darstellungen möglich: Nachbearbeitung, Anpassung an Ausgabegerät Nachteil Klient muss XSL Standard vollständig und korrekt implementieren Daten werden - auch für Konkurrenten - leicht abrufbar 11 von 50 Vorteil Nachteile Server XSLT XSLT XHTML Prozessor XSL- FO Transformer XSL-FO Prozessor Renderer Browser muss XSL nicht verarbeiten können nur bedingt Anpassungen auf dem Client für Darstellung noch möglich PDF Klient 12 von 50

4 Aufbearbeitung auf Klient und Server XSLT Transformer Renderer XSLT Prozessor Stylesheet Browser Browser Klient Server CSS XSL-FO Style sheet Thin Client Anwendung XSLT Umformungen auf dem Server, Darstellung auf dem Client Vorteil Verarbeitung am "richtigen" Ort / saubere Trennung von Inhalt und Darstellung verschiedene Klienten möglich Nachteil hohe Anforderungen an den Klienten 13 von von 50 XSLT: Eigenschaften und Werkzeuge XHTML10 XSLT Stylesheets sind: deklarativ und verwenden Suchmuster (Pattern Matching) und Schablonen (Templates) um Transformationen zu beschreiben wesentlich Ausdrucksstärker als CSS1 & CSS2 "vollwertige" Programmiersprache (Turing Complete) Werkzeuge und Ausgabe: auf dem Client: Browser IEx (nur XSLT) Mozilla XSLT und XSL-FO auf dem Server: zb Apache Xalan über Java API for Processing JAXP 13 als Teil von Java 5/6 heute XHTML erzeugt (wird von den meisten Browser bereits verstanden) HTML so angewandt, dass es der Syntax entspricht W3C: eine "Neuformulierung" des HTML40 Standards als W3C: ist ein Nachfolger von HTML40 (sehr ähnlich) Unterschiede zu HTML alle Element werden klein geschrieben strikte Einhaltung der Syntax: Wohlgeformtheit ist zwingend alle Attribute in Anführungszeichen Script muss in <![CDATA[ ]]> Block falls es -Spezialzeichen enthält: &<>" ' alle Tags müssen geschlossen werden <br> -> <br, <p> -> <p> </p>, <img src"hallogif" > -> <img src"hallogif" Browser sind tolerant (-> XHTML kann bereits heute (mit Vorbehalt) verwendet werden) es werden auch fehlerhafte HTML-Seiten noch "vernünftig" dargestellt Tags, die nicht erkannt werden, werden ignoriert Tags werden automatisch geschlossen weitere Information: 15 von von 50

5 Verarbeitungsmodell Verarbeitungsmodell Ein XSLT Stylesheet besteht aus einer Menge von Template Regeln Template Regeln Suchmuster (Pattern) + Schablonen (Template) Wurzel Pattern 1 Template 1 Ein -Dokument wird verarbeitet indem: Der Quellenbaums wird verarbeitet indem sein Wurzelknoten verarbeitet wird ein einzelner Knoten wird verarbeitet indem: 1 es wird die Template Rule die am "besten passt" gesucht 2 das Template wird "instanziert" ein Ausgabefragment wird anhand des Templates erzeugt die Verarbeitung wird rekursiv weitergeführt eine Knotenliste (Node-Set) wird verarbeitetet indem: 1 jeder einzelne Knoten wird der Reihe nach verarbeitet 2 des Resultat der Verarbeitung wird zusammengefügt Eingabe Knoten Node-Set 2 3 Pattern mit niedriger Präzedenz Verarbeitung Ausgabe 17 von von 50 Struktur eines XSLT Stylesheets Einführungsbeispiel Latin1 Latin1 Zeichensatz Zeichensatz Definition Definition des des xsl xsl Namespaces Namespaces <?xml <?xml version"10" version"10" encoding"iso " encoding"iso "?>?> version"10" version"10" xmlns:xsl"http://wwww3org/1999/xsl/transform"> xmlns:xsl"http://wwww3org/1999/xsl/transform"> Suchmuster match"pattern"> Suchmuster match"pattern"> template template eine Template Regel eine Template Regel weitere Template Regeln </xsl:stylesheet> weitere Template Regeln </xsl:stylesheet> <?xml version"10" encoding"iso "?> <?xml version"10" encoding"iso "?> <?xml-stylesheet type "text/xsl" href"adressexsl"?> <?xml-stylesheet type "text/xsl" href"adressexsl"?> public"yes"> public"yes"> <anrede>herr</anrede> <anrede>herr</anrede> <strasse>in der Weid 17</strasse> <strasse>in der Weid 17</strasse> <ort>heiden</ort> <ort>heiden</ort> + <?xml <?xml version"10" version"10" encoding"iso "?> encoding"iso "?> <?xml version"10" version"10" encoding"iso "?> version"10" xmlns:xsl"http://wwww3org/1999/xsl/transform"> version"10" xmlns:xsl"http://wwww3org/1999/xsl/transform"> xmlns:xsl"http://wwww3org/1999/xsl/transform"> match"/adresse"> match"/adresse"> <html> <html> <head> <head> </head> </head> <body> <body> </html> </html> </xsl:stylesheet> </xsl:stylesheet> im Dokument kann mittels einer Processing Instruction auf das zugehörige XSLT Stylesheet verwiesen werden <?xml-stylesheet type"text/xsl" href"fooxsl"?> 19 von 50 das Pattern "/" entspricht dem Wurzelknoten des Dokuments meist an Wurzelelement interessiert, zb /adresse XSLT (inkl Schablonen) muss Syntax gehorchen -> Ausgabe ebenfalls: XHTML Die Schablone enthält zb Gerüst für XHTML Dokument <html> <html> <head> </head> <head> </head> <body> <body> </html> </html> 20 von 50

6 Einführungsbeispiel (apply-templates und value-of) Schablonen / Templates apply-templates wende auf alle Nachfolger des aktuellen Knotens die Templates an value-of select " " text() erzeuge character data mit den in select angegebener Auswahl Auswahl des Texts eines Elements (character data) match"anrede"> match"anrede"> select"text()" select"text()" <br <br match"vorname"> match"vorname"> select"text()" select"text()" match"nachname"> match"nachname"> select"text()" select"text()" <br <br match"/adresse"> match"/adresse"> <html> <html> <head> </head> <head> </head> <body> <body> </html> </html> <head<body> <head<body> Herr<br Herr<br Peter Werner<br Peter Werner<br Folgende Konstrukte werden mit Templates ausgedrückt Bestandteile XSLT 1) Anweisungen zur (rekursive) Verarbeitung & Steuerung 2) Auswahl der zu transformierenden Teile im -Dokument (XPath) 3) Literale, die in Ausgabe überführt werden 4) der Rest (Ausgabeformatsteuerung, etc) Kontrollstrukturen Sortierung Numerierung Variablen Import und Includes 5) Eingebaute Templates 21 von von 50 Literale Ausgabefragmente Berechnetes Ausgabefragment: Elemente Literale Ausgabefragmente sind select"" ein konstanter Text den durch das Pattern spezifizierten Wert als String ein Element nicht Bestandteil des XSL Namespaces, zum Beispiel XHTML Tags der der Text Text des des Elementes Elementes match"vorname"> match"vorname"> <h1> <h1> this this text text is is written written directly directly to to output output </h1> </h1> match"vorname"> match"vorname"> <vorname_neu> <vorname_neu> select"text()" select"text()" </vorname_neu> </vorname_neu> vorname Element als vorname-neu Element <h1> <h1> this text is written directly to the output this text is written directly to the output </h1> </h1> <vorname_neu> <vorname_neu> Peter Peter </vorname_neu> </vorname_neu> 23 von von 50

7 Berechnetes Ausgabefragment:Attribute Berechnetes Ausgabefragment:Attribute cont select"" den durch das Pattern spezifizierten Wert als String public"yes public"yes der der Attribut Attribut "public" "public" des des Elementes Elementes match"/adresse"> match"/adresse"> <public_neu> <public_neu> public Attribut als public_neu Element value-of innerhalb von Suchmustern nicht sondern public"yes public"yes falsch match"/adresse"> match"/adresse"> public_neu " select public_neu " select nicht wohlgeformt wegen < nicht wohlgeformt wegen < match"/adresse"> match"/adresse"> public_neu }" public_neu }" public Attribut als public-neu Attribut <public_neu> <public_neu> yes yes </public_neu> </public_neu> public_neu public_neu "yes" "yes" 25 von von 50 Berechnetes Ausgabefragment: xsl:attribute Berechnetes Ausgabefragment: xsl:element <xsl:attribute name"" > </attribute > <xsl:element name" "> </element > erzeuge ein Attribute innerhalb xsl:element erzeuge eine Element mit dem gegebenen Namen der Namen der Attributes wird Wert des s "name"-attributs mitgegeben der Namen der Elements wird Wert des s "name"-attributs mitgegeben public"yes" public"yes" public"yes" public"yes" match"/adresse"> match"/adresse"> <xsl:element <xsl:element name"adresse"> name"adresse"> <xsl:attribute <xsl:attribute name"public-neu"> name"public-neu"> </xsl:attribute> </xsl:attribute> </xsl:element> </xsl:element> public Attribut als public-neu Attribut match"/adresse"> match"/adresse"> <xsl:element name"public_neu"> <xsl:element name"public_neu"> </xsl:element> </xsl:element> public Attribut als public_neu Element <public_neu> <public_neu> yes yes </public_neu> </public_neu> public_neu "yes" public_neu "yes" 27 von von 50

8 Berechnetes Ausgabefragment: nicht wellformed Output <xsl:text disable-output-escaping"yes"> </text > erzeugt ein Textfragment mit optional - Spezialzeichen (<,&,) -Spezialzeichen können ausgegeben werden disable-output-escaping "yes" Ausgabe muss nicht well-formed sein Suchmuster (Patterns) und XPath Notation Suchmuster (Patterns) werden Auswahl von einzelnen Knoten oder Knotenmengen (Node-Sets) aus -Dokumenten verwendet Suchmuster werden in der XPath Notation beschrieben Die XPath Notation ist eine deklarative Abfragesprache (vergl SQL) match"plz"> match"plz"> <xsl:text disable-output-escaping "yes"> <xsl:text disable-output-escaping "yes"> if if (1000 (1000 < < plz) plz) { { prozessname(); prozessname(); } } </xsl:text> </xsl:text> > > erzeuge Java-Codefragment für jeden competitor if (1000 < plz) { if (1000 < plz) { processname(); processname(); } } Wurzelknoten / Wurzelelement /adresse absoluter Lokalisierungspfad /adresse, /adress/vorname relativer Lokalisierungspfad nachname beliebiges Element * aktueller Knoten benanntes beliebiges Textknoten text() beliebiger Knoten (E, T, K, PI,~A) node()!! 29 von von 50 Rekursive Verarbeitung (the good) Verarbeitungsmuster 31 von 50 Wende Verarbeitung (Templates) auf alle direkten Nachfolgeelemente des Knotens an (ohne Attribute) match"/rankinglist"> match"/rankinglist"> <body> <body> select "" Wende Verarbeitung auf die ausgewählten Knoten an <rankinglist> <rankinglist> <competitor> <competitor> <firstname>tesfaye</firstname> <firstname>tesfaye</firstname> Jifar Jifar <age>25</age> <age>25</age> <sex>m</sex> <sex>m</sex> <country>eth</country> <country>eth</country> <time>7664</time> <time>7664</time> </competitor> </competitor> </rankinglist> </rankinglist> match"/rankinglist"> match"/rankinglist"> <body> select"competitor" <body> select"competitor" Jifar Jifar 13 match"competitor"> 13 match"competitor"> Larson Larson select"rank" select"rank" select"familyname" select"familyname" School of Engineering K Rege, ZHAW 32 von 50

9 Rekursive Verarbeitung: mode Iterative Verarbeitung (the bad) select " " mode "Mode" Wende Verarbeitung auf die ausgewählten Knoten an; wende aber nur die Templates an, die den angegebenen Mode haben: <xsl:for-each select ""> template </xsl:for-each> s match " " mode "Mode" match"competitor" match"competitor" mode"rank"> mode"rank"> select"rank" select"rank" match"competitor" match"competitor" mode"familyname"> mode"familyname"> select"familyname" select"familyname" match"/rankinglist"> match"/rankinglist"> select"competitor" select"competitor" mode"rank" mode"rank" select"competitor" select"competitor" mode"familyname" mode"familyname" Jifar Jifar Zuerst Rang und nachher Name Larson Larson Instanziert ein Template für jeden der ausgewählten Knoten oft ineffizient in der Ausführung, bricht Lokalität match"/rankinglist"> match"/rankinglist"> <xsl:for-each <xsl:for-each select select "competitor"> "competitor"> select"rank" select"rank" select"familyname" select"familyname" </xsl:for-each> </xsl:for-each> Liste mit Rang und Nachname aller Teilnehmer Jifar Jifar Larson Larson 33 von von 50 Prozedurale Verarbeitung (and the ugly) Kopieren der Eingabe zur Ausgabe <xsl:call-template name"" <xsl:copy> template </> ruft das Template mit dem angegebenen Namen auf; Kontext bleibt erhalten kopiere den aktuellen Knoten in Ausgabe (ohne Nachfolger) "Prozedurname" "Prozedurname" und und Parameter Parameter name"rankfamilynames"> name"rankfamilynames"> <xsl:param <xsl:param name"mycomp" name"mycomp" Verwendung von Parameter:$ Verwendung von Parameter:$ select"$mycomp/rank" select"$mycomp/rank" select"$mycomp/familyname" select"$mycomp/familyname" match"/rankinglist/competitor"> match"/rankinglist/competitor"> <xsl:call-template name"rankfamilynames"> <xsl:call-template name"rankfamilynames"> <xsl:with-param name"mycomp" select"" <xsl:with-param name"mycomp" select"" </xsl:call-template> </xsl:call-template> Übergeben der Argument-Namen und Werte Übergeben der Argument-Namen und Werte Aufruf Aufruf der der "Prozedur" "Prozedur" Jifar Jifar Larson Larson match "/adresse"> match "/adresse"> - <xsl:copy> - <xsl:copy> select"nachname" select"nachname" </xsl:copy> </xsl:copy> <xsl:copy-of select"" kopiere die ausgewählten Knoten in Ausgabe (inklusive Nachfolger) match "/adresse"> match "/adresse"> _neu> _neu> <xsl:copy-of select"nachname" <xsl:copy-of select"nachname" </adresse_neu> </adresse_neu> _neu> _neu> </adresse_neu> </adresse_neu> 35 von von 50

10 Kopieren der gesamten Eingabe zur Ausgabe Kontrollstrukturen <xsl:copy> template </> kopiere den aktuellen Knoten in Ausgabe (ohne Nachfolger) <xsl:if test"expression"> </> wende Template an, sofern der Ausdruck true ergibt match match - <xsl:copy> - <xsl:copy> </xsl:copy> </xsl:copy> <xsl:copy-of select"" erstelle identische Kopie der Eingabe <xsl:choose> <xsl:when test"expression"> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> Test auf mehrere Möglichkeiten (entspricht switch in Java) match match - <xsl:copy-of select"" - <xsl:copy-of select"" erstelle identische Kopie der Eingabe match"/adresse"> match"/adresse"> <xsl:if <xsl:if <xsl:copy-of select"" <xsl:copy-of select"" </xsl:if> </xsl:if> kopiere Adresse wenn public Attribut yes 37 von von 50 Sortierung Numerierung <xsl:sort select"expression" bei apply-templates und for-each kann eine Sortierreihenfolge angegebene werden (Default: Reihenfolge in Dokument) Zusätzliche Attribute: order"ascending/descending" lang"" // nach RFC 1766 data-type"text/number" case-order"upper-first/lower-first" <xsl:number Erzeugung von fortlaufenden Nummern mit Vielzahl von Optionen value"expression" converted to number format"" default: 1 level"" any/single/multiple lang"" letter-value"" grouping-separator"" grouping-size""/ match"/rankinglist"> match"/rankinglist"> select select "competitor"> "competitor"> <xsl:sort <xsl:sort select"time" select"time" data-type"number" data-type"number" </xsl:apply-templates> </xsl:apply-templates> sortiere Teilnehmer aufsteigend nach dem Alter match"/rankinglist"> match"/rankinglist"> <xsl:for-each select "competitor"> <xsl:for-each select "competitor"> <xsl:sort select"time" data-type"number" <xsl:sort select"time" data-type"number" <competitor> <competitor> <xsl:number level"single" format"l" <xsl:number level"single" format"l" select"familyname" select"familyname" </competitor> </competitor> </xsl:for-each> </xsl:for-each> sortiere Teilnehmer aufsteigend Zeit und weise Rang zu 39 von von 50

11 Variablen Eingebaute Templates <xsl:variable name"" select"expression" falls kein Pattern übereinstimmt, wende Templates auf Nachfolger an Variablen-Deklaration, Wert durch XPath Ausdruck bestimmt <xsl:variable name""> template </> Variablen-Deklaration, ein Template wird als Ausgabefragment instanziert $Name kann nur einmal bei Deklaration gesetzt werden ("final") kann nur als Ausgabefragment/Wert verwendet werden kann beim Aufruf des XSLT-Parsers mitgegeben werden <Adresse> <Adresse> match"adresse"> <Nachame> match"adresse"> <Nachame> <xsl:variable <xsl:variable name"n" name"n" select"nachname" Werner select"nachname" Werner <xsl:variable name"p"> </Nachame> <xsl:variable name"p"> </Nachame> <Public> <Public> <Public> <Public> </xsl:variable> yes </xsl:variable> yes </Public> </Public> <Adresse> </Adresse> <Adresse> </Adresse> <Nachname> <Nachname> select"$n" select"$n" </Nachame> </Nachame> <xsl:copy-of select"$p" <xsl:copy-of select"$p" </Adresse> </Adresse> 41 von 50 match"* /"> match"* /"> falls kein Pattern übereinstimmt, gebe den Text des Knoten aus select"" select"" überspringe PI und Kommentare match"processing-instruction() comment()" match"processing-instruction() comment()" 42 von 50 Import und Include Dokumente mit Namespaces <xsl:include href" " fügt die angegebene Quelle zu der eigenen hinzu (als Text) <xsl:import href" " fügt die angegebene Quelle zu der eigenen hinzu; die Templates werden mit niedrigerer Präzedenz ausgewertet werden im Dokument Namespaces verwendet müssen diese im XSLT Stilesheet ebenfalls bekannt gemacht werden der Default-Namespace muss im XSLT Dokument als benannter Namespace aufgeführt sein <?xml version"10" encoding"iso "?> <?xml version"10" encoding"iso "?> <?xml-stylesheet type "text/xsl" href"adressexsl"?> <?xml-stylesheet type "text/xsl" href"adressexsl"?> xmlns"http://wwwxbrlorg/names" xmlns"http://wwwxbrlorg/names" xmlns:field"http://wwwxbrlorg/names/fields" xmlns:field"http://wwwxbrlorg/names/fields" public"yes"> public"yes"> <field:anrede>herr</ad:anrede> <field:anrede>herr</ad:anrede> <xsl:attribute name"{concat('unparsed-',name())}"> <xsl:attribute name"{concat('unparsed-',name())}"> select"" select"" </xsl:attribute> </xsl:attribute> match"*"> match"*"> <xsl:element name"{concat('unparsed-',name())}"> <xsl:element name"{concat('unparsed-',name())}"> </xsl:element> </xsl:element> Eigenes Default Templates für Nicht-Übereinstimmung <?xml <?xml version"10" version"10" encoding"iso "?> encoding"iso "?> version"10" version"10" xmlns:xsl"http://wwww3org/1999/xsl/transform" xmlns:xsl"http://wwww3org/1999/xsl/transform" xmlns:ad"http://wwwxbrlorg/names" xmlns:ad"http://wwwxbrlorg/names" xmlns:field"http://wwwxbrlorg/names/fields" xmlns:field"http://wwwxbrlorg/names/fields" > > match"/ad:adresse"> match"/ad:adresse"> select"field:anrede/text()"> select"field:anrede/text()"> 43 von von 50

12 Erzeugung von XSLT mit XSLT Steuerung der Ausgabeformatierung <xsl:namespace-alias stylesheet-prefix prefix result-prefix prefix> fügt die angegebene Quelle zu der eigenen hinzu zur Auflösung von Konflikten in Namespaces version'10' version'10' xmlns:xsl'http://wwww3org/1999/xsl/transform xmlns:a'urn:this-is-an-alias'> xmlns:xsl'http://wwww3org/1999/xsl/transform xmlns:a'urn:this-is-an-alias'> - - <xsl:namespace-alias <xsl:namespace-alias stylesheet-prefix"a" stylesheet-prefix"a" result-prefix"xsl" result-prefix"xsl" match"/"> match"/"> <a:stylesheet <a:stylesheet version version '10'> '10'> <a:template <a:template match"/"> match"/"> </a:stylesheet> </a:stylesheet> </xsl:stylesheet </xsl:stylesheet > > XSLT zur Generierung von XSLT <xsl:output > steuert, wie die Ausgabe formatiert wird einmal als top-level Elemente method "xml" "html" "text" encoding string ISO omit-xml-declaration "yes" "no" doctype-public string fügt DOCTYPE Deklaration hinzu doctype-system string fügt DOCTYPE System Deklaration hinzu indent "yes" "no" Einrückung (macht die Ausgabe lesbarer) für <xsl:output method "xml" indent"yes" encoding"iso " <xsl:output method "xml" indent"yes" encoding"iso " für HTML <xsl:output method"html" indent"yes" version"40" encoding"iso " <xsl:output method"html" indent"yes" version"40" encoding"iso " 45 von von 50 Ausgabeformatierung: Handhabung von Leerzeichen Präzedenz und Konfliktauflösung Leerzeichen werden grundsätzlich sowohl im Stylesheet als auch in der Quelle entfernt, ausser: XSLT-Stylesheet: innerhalb <xsl:text> Elementen Quellen Elemente: <xsl:preserve-space elements tokens zählt die Quellen Elemente (inkl Nachfolger) auf, bei denen die Leerzeichen erhalten bleiben <xsl:strip-space elements tokens zählt die Quellen Elemente (inkl Nachfolger) auf, bei denen die Leerzeichen entfernt werden sollen version'10'> - <xsl:preserve-space version'10'> - <xsl:preserve-space elements"*" elements"*" <xsl:strip-space <xsl:strip-space elements"anrede elements"anrede vorname" vorname" </xsl:stylesheet </xsl:stylesheet > > Bei allen Elementen ausser titel und name bleiben LZ erhalten Regeln importierte Templates haben niedrigere Präzedenz im Dokument zb match "*"> match "/rankinglist"> es wird das Templates mit der grössten Präzedenz genommen explizites Attribut in Template priority"1" implizit durch Pattern (je spezifischer desto höhere Präzedenz) -05 Typen: *,node(), 0 Namen: firstname, child::firstname, Rank 05 Namen mit Bedingungen: competitor[rank/text() "2"] falls mehrere Templates mit gleicher Präzedenz Implementationsspezifisches Verhalten nehme letztes in Dokument, Fehler wenn immer möglich nicht auf die Konfliktlösungsstragie verlassen Je spezifischer desto höher Je spezifischer desto höher die Präzedenz die Präzedenz 47 von von 50

13 Zusammenfassung Anhang: Verwendete Dokumente XSLT ist eine Sprache zur Transformation von Dokumenten Quelle und Ziel sind Dokumente XSLT selber gehorcht der Syntax Ein XSLT besteht aus einer Menge von Template Regeln Eine Template Regel besteht aus einem Suchmuster (Pattern) und einer Schablone(Template) Die Suchmuster werden in sog XPath Ausdrücken angeben Es wird die Schablone angewandt, dessen Suchmuster übereinstimmt Die Schablonen werden auf den Wurzelknoten, einen einzelnen Knoten oder eine Menge von Knoten (Node-Set) angewandt Bei der Verarbeitung geht man meist rekursiv vor Die Schablonen ermöglichen verschiedene Umformungen <?xml version"10" encoding"iso "?> public"yes"> <anrede>herr</anrede> <strasse>in der Weid 17</strasse> <ort>heiden</ort> <?xml version"10" encoding"iso "?> <rankinglist> <competitor> <firstname>tesfaye</firstname> Jifar <age>25</age> <sex>m</sex> <country>eth</country> <time>7664</time> </competitor> <competitor> 2 <firstname>japhet</firstname> Kosgei <age>33</age> <sex>m</sex> <country>ken</country> <time>7760</time> </competitor> </rankinglist> 49 von von 50

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

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

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

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

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen? C O C O O N ein Web-Framework der Apache Software Foundation http://www.apache.org Wo ist Cocoon in die Apache Projekte einzureihen? Apache Server sehr leistungsfähiger HTTP-Server Tomcat Server Referenzimplementierung

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

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

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

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

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

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB XHTML MP Mobile Internet Axel Reusch ar047 MIB Agenda Was ist XHTML MP Prinzip Funktionsweise WTAI Vorteile Nachteile Quellen Seite 2 Untermenge von XHTML (aktuell XHTML 1.1) Strikteres HTML (alle Tags

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

Streaming Transformations for XML STX

Streaming Transformations for XML STX Streaming Transformations for XML STX Oliver Becker Humboldt Universität zu Berlin wiss. Mitarbeiter am Institut für Informatik, Lehrstuhl für Systemarchitektur obecker@informatik.hu-berlin.de Abstract:

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

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger XML / XSLT Ein Workshop mit [x] cross solution Armin Egginger [x] cross solution Armin Egginger - Zertifizierter FileMaker Entwickler Urheber von CrossCheck Netzwerk von Datenbankprogrammierern Kunden

Mehr

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML XSLT Vortrag 1. Was ist XSLT? XSLT ist eine Transformationssprache für XML Dokumente. XSLT war wahrscheinlich die erste XML basierte Programmiersprache. XSLT ist von der Struktur her Template-Matching,

Mehr

XML Extensible Markup Language

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

Mehr

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen W. Schubert, Siemens ICM N IS P23-1- Buchstabensuppe Standards für die Präsentation von XML-Instanzen Walther Schubert Siemens ICM N IS P23 und Manfred Krüger MID/Information Logistics Group GmbH XML Name

Mehr

Verteilte Anwendungen. Teil 2: Einführung in XML

Verteilte Anwendungen. Teil 2: Einführung in XML Verteilte Anwendungen Teil 2: Einführung in XML 05.10.15 1 Literatur [2-1] Eckstein, Robert; Casabianca, Michel: XML Kurz und gut. O'Reilly, 2. Auflage, 2003 [2-2] Nussbaumer, Alfred; Mistlbacher, August:

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

Ü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

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten XML Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 XML Was ist XML?

Mehr

Tobias Hauser. XML-Standards. schnell+kompakt

Tobias Hauser. XML-Standards. schnell+kompakt Tobias Hauser XML-Standards schnell+kompakt Tobias Hauser XML-Standards schnell+kompakt ISBN: 978-3-86802-236-0 2010 entwickler.press ein Imprint der Software & Support Media GmbH 2. vollständig aktualisierte

Mehr

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5 HTML5 Linda York, Tina Wegener 2. Ausgabe, 3. Aktualisierung, Januar 2013 Grundlagen der Erstellung von Webseiten HTML5 2 HTML5 - Grundlagen der Erstellung von Webseiten 2 Die erste Webseite mit HTML erstellen

Mehr

Daten- und Metadatenstandards Wintersemester 2011/2012 26. März 2012 Text / XML: Erste Schritte

Daten- und Metadatenstandards Wintersemester 2011/2012 26. März 2012 Text / XML: Erste Schritte Daten- und Metadatenstandards Wintersemester 2011/2012 26. März 2012 Text / XML: Erste Schritte Themenüberblick Text / XML: Erste Schritte Text Inhalt Struktur Äußeres Erscheinungsbild: Layout Extensible

Mehr

XML Vortrag. 1. Beispiel XML. 2. Begriffe. 3. XML Standards

XML Vortrag. 1. Beispiel XML. 2. Begriffe. 3. XML Standards XML Vortrag 1. Beispiel XML Philipp Gühring Hebenstreitstr. 16 2602 Neurißhof Austria +43-2628-49103

Mehr

XML 1.1. Grundlagen. Heiko Schröder. 4. Ausgabe, 1. Aktualisierung, Oktober 2013 XML11

XML 1.1. Grundlagen. Heiko Schröder. 4. Ausgabe, 1. Aktualisierung, Oktober 2013 XML11 XML 1.1 Heiko Schröder Grundlagen 4. Ausgabe, 1. Aktualisierung, Oktober 2013 XML11 4 XML 1.1 - Grundlagen 4 Aufbau eines XML-Dokuments In diesem Kapitel erfahren Sie wie Sie ein XML-Dokument erstellen

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9d: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

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

Aufgabenbereich 3: Layoutgestaltung mit CSS

Aufgabenbereich 3: Layoutgestaltung mit CSS Aufgabenbereich 3: Layoutgestaltung mit CSS Wichtige Begriffe und Zusammenhänge: Website: Gesamtheit eines Internet-Auftrittes (alle Webseiten, die dazu gehören) Webseite: Eine einzelne Seite, ein HTML-Dokument

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

Komplexe Transformationen mit XSLT

Komplexe Transformationen mit XSLT XML-Praxis Komplexe Transformationen mit XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Sortieren XML erzeugen und weiterverarbeiten modes Daten aus mehreren XML-Dokumenten lesen XML-Praxis

Mehr

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS Sören Elvers, Julia Polner, Max Weller, Moritz Willig T-Doku, Werner-von-Siemens-Schule, Wetzlar 2010-2011 INHALT DIESES VORTRAGS 1. Kurze Einführung

Mehr

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11 Die erweiterbare Markierungssprache XML 1. Einleitung Eine Markierungssprache (markup language) dient dazu, Textdateien mit zusätzlichen Informationen anzureichern. Die verbreitete Markierungssprache HTML

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

4. Februar 2008 Klausur EWA

4. Februar 2008 Klausur EWA Hochschule Darmstadt fbi Fachbereich Informatik Klausur Entwicklung webbasierter Anwendungen (EWA), WS 07/08 4. Februar 2008 Klausur EWA Name Vorname Matrikelnummer Note Aufgabe max. Punkte erreichte Punkte

Mehr

Projektseminar Texttechnologische Informationsmodellierung

Projektseminar Texttechnologische Informationsmodellierung Projektseminar Texttechnologische Informationsmodellierung XQuery Ziele der Sitzung Nach dieser Sitzung sollten Sie: XQuery als wesentlichen Standard zur Abfrage von in XML kodierten Daten kennen Mit Hilfe

Mehr

D ie Z ukunft m it H TM L5

D ie Z ukunft m it H TM L5 D ie Z ukunft m it H TM L5 Folien unter http://www.w3c.de/events/2009/webtech-html5/sasaki-webtech09-html5.pdf 1 HTML5-Beispiele getestet mit Firefox 3.5.3 2 Sprecher Hauptschwerpunkte Mehrsprachige Daten

Mehr

Aufbau einer HTML Seite:

Aufbau einer HTML Seite: 1 Aufbau einer HTML Seite: Grundstruktur: Head Bereich: "nicht sichtbar" Er enthält grundlegende Informationen wie: Title, Charset, Ansichtsgröße,

Mehr

Single Source Publishing mit XML

Single Source Publishing mit XML Single Source Publishing mit XML Thomas Nindel Betreuer: Hans J. Günther Seite 1/1 Bibliografische Beschreibung und Autorenreferat NINDEL, Thomas, Berufsakademie Sachsen, Staatliche Studienakademie Dresden,

Mehr

TEI! Und dann? Texttechnologische Standards in den Geisteswissenschaften - Encoding in TEI <http://gams.uni-graz.at/o:ide.292>

TEI! Und dann? Texttechnologische Standards in den Geisteswissenschaften - Encoding in TEI <http://gams.uni-graz.at/o:ide.292> TEI! Und dann? Texttechnologische Standards in den Geisteswissenschaften - Encoding in TEI Martina Semlak martina.semlak@uni-graz.at 17.-18. Oktober 2012 Druckvorlagen

Mehr

Einführung in XML von Julian Bart

Einführung in XML von Julian Bart Über diese Einführung Diese Einführung soll Ihnen einen groben, ersten Überblick über XML, dem designierten Nachfolger der Seitenbeschreibungssprache HTML 4.0, vermitteln und Ihnen einen ersten Einstieg

Mehr

HTML. HyperText Markup Language. Die Programmiersprache des WWW. Keine eigentliche Programmiersprache, sondern eher Seitenbeschreibungssprache

HTML. HyperText Markup Language. Die Programmiersprache des WWW. Keine eigentliche Programmiersprache, sondern eher Seitenbeschreibungssprache HTML HyperText Markup Language Die Programmiersprache des WWW Keine eigentliche Programmiersprache, sondern eher Seitenbeschreibungssprache systemübergreifend, plattformunabhängig (im Idealfall) HTML-Text

Mehr

3 Erste Schritte im eigenen

3 Erste Schritte im eigenen PROJEKT PHP und MySQL Programmierung 3 Erste Schritte im eigenen Programm Die Arbeit mit PHP erfordert immer wiederkehrende Schritte, die auch nach den Vorbereitungen die ersten Schritte mit PHP in diesem

Mehr

3 XSLT Einführung in die Transformationssprache

3 XSLT Einführung in die Transformationssprache 19 3 XSLT Einführung in die Transformationssprache Dieses Kapitel soll als Einstieg in die Transformationssprache XSLT dienen. Wie bereits in den vorangegangenen Kapiteln gezeigt wurde, ist XSLT für die

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Klausur vom 22.3.2006 Klausur zur Vorlesung Einführung in XML Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Bei Ankreuzaufgaben können mehrere Antworten richtig sein. Hilfsmittel

Mehr

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

IT-Zertifikat: Allgemeine Informationstechnologien II PHP IT-Zertifikat: Allgemeine Informationstechnologien II PHP PHP ( PHP: Hypertext Preprocessor ) ist eine serverseitige Skriptsprache: Der PHP-Code wird nicht wie bei JavaScript auf dem Clientrechner ausgeführt,

Mehr

HTML5. Grundlagen der Erstellung von Webseiten. Marc Haunschild, Linda York, Tina Wegener. 3. Ausgabe, Januar 2015 ISBN: 978-3-86249-404-0 HTML5

HTML5. Grundlagen der Erstellung von Webseiten. Marc Haunschild, Linda York, Tina Wegener. 3. Ausgabe, Januar 2015 ISBN: 978-3-86249-404-0 HTML5 HTML5 Marc Haunschild, Linda York, Tina Wegener 3. Ausgabe, Januar 2015 Grundlagen der Erstellung von Webseiten ISBN: 978-3-86249-404-0 HTML5 2 HTML5 - Grundlagen der Erstellung von Webseiten 2 Die erste

Mehr

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel kongress99-xml.ppt-1 (1999-12-01) Inhalt in einem einfachen Beispiel Ein wohlgeformtes

Mehr

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Praktikum Datenbanksysteme Ho Ngoc Duc IFIS - Universität zu Lübeck 01.06.2005 Tomcat-Installation $JAVA_HOME (z.b. /home/dbp00/j2sdk1.4.2) $CATALINA_HOME (/home/dbp00/jakarta-tomcat-4) Skripte zum Start/Stop:

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung IV. JavaScript Manfred Gruner mailto:wpr@gruner.org Offene Fragen 1. Unterschied Link und Style Tag Link = HTML Syntax wird/kannl von anderen Programmen ausgewertet werden.

Mehr

Gegeben ist das folgende XML-Dokument.

Gegeben ist das folgende XML-Dokument. Aufgabe 1 (XML): Gegeben ist das folgende XML-Dokument. (10 Punkte)

Mehr

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

Query Transformation based on XSLT

Query Transformation based on XSLT Query Transformation based on XSLT Gesamtsystem XML format 2 transformation component XML format 1 query transformation query XP2 query XP1 transformed XML fragment F2 XSLT stylesheet XSL processor XML

Mehr

Dirk Nachbar (dirk.nachbar@trivadis.com)

Dirk Nachbar (dirk.nachbar@trivadis.com) Betrifft: Autor: Art der Info: Quelle: XSQL Servlet und FOP Dirk Nachbar (dirk.nachbar@trivadis.com) Technische Background Info Aus unserer Projekt- und Schulungserfahrung http://xml.apache.org/fop, http://www.xml.com,

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

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

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Dynamisierungstechniken für Client und Server B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 20. 11. 2007 XSL-Verarbeitung

Mehr

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

1 Was sind Cascading Stylesheets?

1 Was sind Cascading Stylesheets? Im ersten Kapitel erkläre ich Ihnen, was sich hinter dem Begriff»Cascading Stylesheets«verbirgt und welche Vorteile Sie davon haben, mit Stylesheets zu arbeiten. Außerdem sehen Sie das erste Stylesheet

Mehr

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

Workshop Java Webentwicklung Tapestry. Ulrich Stärk Workshop Java Webentwicklung Tapestry Ulrich Stärk Webanwendungen Antwort im Browser des Benutzers sichtbar Anfrage geht ein Antwort rendern Anfrage an passenden Code weiterleiten 2 Servlets Servlet wird

Mehr

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery XML-Datenbanken & XQuery Folie 1 XML Digitale Edition XSL-FO XSLT XQuery XML-DB Folie 2 Programm - Ausgewählte Biere verköstigen - Brauereibesichtigung - Anwendung der Hefe erlernen - brauen Folie 3 Telota

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

Templates für CMSMadeSimple

Templates für CMSMadeSimple 1. EINLEITUNG Templates für CMSMadeSimple Original von Jan Czarnowski piratos@coftware.de modifiziert von Andreas Just cyberman@gmx.ch Templates für CMSMadeSimple sind zur Zeit nur spärlich vorhanden.

Mehr

HTML Kurs. Inhaltsverzeichnis. Dominic Dietiker Aktualisierung: February 13, 2009. 1 Das HTML-Dokument 2. 2 Einige Tags 7

HTML Kurs. Inhaltsverzeichnis. Dominic Dietiker Aktualisierung: February 13, 2009. 1 Das HTML-Dokument 2. 2 Einige Tags 7 HTML Kurs Dominic Dietiker Aktualisierung: February 13, 2009 Inhaltsverzeichnis 1 Das HTML-Dokument 2 2 Einige Tags 7 3 Erarbeiten weiterer Tags 11 4 Tabellen 11 A Lösungen 16 1 1 Das HTML-Dokument Tags

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

Typo3. Thomas Lüthi. Beitrag zur "CMS-Battle" vom 7. Juni 2010 Campus Bern. www.tomogramm.ch. http://campus.meteotest.ch/

Typo3. Thomas Lüthi. Beitrag zur CMS-Battle vom 7. Juni 2010 Campus Bern. www.tomogramm.ch. http://campus.meteotest.ch/ Typo3 Beitrag zur "CMS-Battle" vom 7. Juni 2010 Campus Bern http://campus.meteotest.ch/ Thomas Lüthi www.tomogramm.ch Mein Bezug zu Typo3 Ich verwende Typo3 seit 2007 Ich habe bisher ca. 20 Projekte damit

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Universität Mannheim Fakultät für Mathematik und Informatik Dr. Heinz Kredel Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Name:.................................

Mehr

Scalable Vector Graphics. Ulrich Hoffmann <Ulrich.E.Hoffmann@gmx.de>

Scalable Vector Graphics. Ulrich Hoffmann <Ulrich.E.Hoffmann@gmx.de> Scalable Vector Graphics Ulrich Hoffmann 1 Überblick ftp://tins1.rz.e-technik.fh-kiel.de/home/share/xxml Was ist SVG? Wie lässt sich SVG anzeigen, bearbeiten? Wie sehen SVG-Dokumente

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

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

Seminar SS 2000 Enterprise Application Intergration

Seminar SS 2000 Enterprise Application Intergration Seminar SS 2000 Enterprise Application Intergration Web Programming Lifang Chen Betreuer: Marcello Mariucci Juli 2000, Universität Stuttgart Seminar "Web Programming" von Lifang Chen, Juli 2000 Folie 1

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

DataTables LDAP Service usage Guide

DataTables LDAP Service usage Guide DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)

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

HTML5. W3C-Tag 2009 Felix Sasaki FH-Potsdam / W3C deutsch-österr. Büro felix.sasaki@fh-potsdam.de

HTML5. W3C-Tag 2009 Felix Sasaki FH-Potsdam / W3C deutsch-österr. Büro felix.sasaki@fh-potsdam.de HTML5 W3C-Tag 2009 Felix Sasaki FH-Potsdam / W3C deutsch-österr. Büro felix.sasaki@fh-potsdam.de Hinweis "Teaching the Web" Event 15.10.2009, FH Potsdam Homepage http://www.w3c.de/events/2009/office-opening

Mehr

DocBook Textverarbeitung mit XML

DocBook Textverarbeitung mit XML DocBook Textverarbeitung mit XML Peter Eisentraut 5.3.2005 Persönlich PostgreSQL-Entwickler Maintainer PostgreSQL-Dokumentation Debian-Entwickler Debian XML/SGML Group Maintainer DocBook DSSSL Stylesheets

Mehr

INP (2) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter

INP (2) Prof. Dr.-Ing. S. Gössner. University of Applied Sciences Lippe & Höxter INP (2) 1 of 23 INP (2) Prof. Dr.-Ing. S. Gössner University of Applied Sciences Lippe & Höxter INP (2) 2 of 23 Inhalt INP (2) Inhalt HTML - Einführung Textauszeichnung Syntax Grundgerüst Beispiel Sonderzeichen

Mehr

DocBook für Anfänger

DocBook für Anfänger DocBook für Anfänger Michael Wiedmann http://www.miwie.org/db-beginners/ Linux Advanced Lectures Berlin, BUUG, Mittwoch, 7.11.2001, 18:30 s.t. Einführung Anwendungsfälle Beispiel

Mehr

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de

JSP JSTL. JEE Vorlesung Teil 6. Ralf Gitzel ralf_gitzel@hotmail.de JSP JSTL JEE Vorlesung Teil 6 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Wiederholung / Vertiefung JSTL Grundlagen JSTL Basisbefehle Templates über JSTL

Mehr

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Verwenden Sie folgende XML-Sprachmittel: Leeres Element, geschachtelte Elemente, Element

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

Webseiten erstellen für Einsteiger

Webseiten erstellen für Einsteiger Daniel Mies Webseiten erstellen für Einsteiger Schritt für Schritt zur eigenen Website Galileo Press Vorbemerkungen 15 1 Vordem Start 21 1.1 Wie kommt die Seite aus dem Internet auf meinen Computer? 21

Mehr

Relaunch der PI3-Website

Relaunch der PI3-Website Relaunch der PI3-Website Über Design & der Lehrstuhlhomepage. Cornelius Rabsch http://pi3.informatik.uni-mannheim.de/crabsch.html rabsch@pi3.informatik.uni-mannheim.de Cornelius Rabsch, 3. Dezember 2004

Mehr

Internetworking Klausur SS 09 HS Furtwangen

Internetworking Klausur SS 09 HS Furtwangen Internetworking Klausur SS 09 HS Furtwangen Name: Matrikelnummer: Aufgabe 1 von 22 Aufgabe 2 von 16 Aufgabe 3 von 20 Aufgabe 4 von 12 Aufgabe 5 von 20 Punkte von 90 Note Die Klausur wird ohne Hilfsmittel

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Firefox Add-ons Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Agenda Technisches Überblick XUL JavaScript CSS XPI-Pakete Einreichen bei Mozilla Sicherheitsüberlegungen

Mehr

Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt

Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt Wenn Sie ein einfaches Skript erstellen wollen ohne Argumente oder eigene Ausgabe im

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

xmltex Oder Wie bringt man XML und TeX zusammen? Daniel Radünz

xmltex Oder Wie bringt man XML und TeX zusammen? Daniel Radünz xmltex Oder Wie bringt man XML und TeX zusammen? Daniel Radünz Gliederung XML & xmltex, was ist das? Vom XML Dokument zu LaTeX Das LaTeX Dokument Das XML Dokument Die Konfigurationsdateien Größeres Beispiel

Mehr

Vergleich automatisierbarer XML-Satzsysteme

Vergleich automatisierbarer XML-Satzsysteme Vergleich automatisierbarer XML-Satzsysteme Martin Kraetke, GmbH Hochschule für Technik, Wirtschaft und Kultur Leipzig Frankfurter Buchmesse, 12. Oktober 2011 Drei Thesen zum Anfang 1. Die Wahl des Satzsystems

Mehr

E-Mail- Viren (Würmer) Internet und Webseiten-Gestaltung. Vorlesungsinhalte

E-Mail- Viren (Würmer) Internet und Webseiten-Gestaltung. Vorlesungsinhalte E-Mail- Viren (Würmer) Internet und Webseiten-Gestaltung Wirtschaftsinformatik 3 Vorlesung 2005-04-29 Dipl.-Inf. (FH) T. Mättig Neue Tricks der Viren-Programmierer: E-Mails mit Absender Immatrikulationsamt

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

ASN.1 <-> XML TRANSLATION

ASN.1 <-> XML TRANSLATION ASN.1 XML TRANSLATION Management Verteilter Systeme Patrick Gerdsmeier, Pierre Smits Wintersemester 2003/2004 Lehrstuhl für Systeme Prof. Dr. Kraemer BTU Cottbus ASN.1 XML TRANSLATION Gliederung

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

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Duale Zustellung Version 1.0.0, 14.08.2007 DI Arne Tauber arne.tauber@egiz.gv.at

Mehr

Überblick. Einleitung PORTIKO XML-AG. Evaluation. Zusammenfassung und Ausblick. Motivation

Überblick. Einleitung PORTIKO XML-AG. Evaluation. Zusammenfassung und Ausblick. Motivation Vorlesungsskripte im E-Learning-Zeitalter Torsten Klie, Uwe Frommann, Astrid Weilert, Christoph Klinzmann, Dietmar Hosser, Jan Zimmermann, Manfred Krafczyk Technische Universität Braunschweig Christian

Mehr

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code.

Current Workflow. formatted. Rules. Extensions. Rules. DOM processing with Meta API-calls. Code Generation (Smarty) XMLfile. Source code. Current Workflow Rules T1 Rules Extensions XMLfile DOM processing with Meta API-calls Model 1 T2 Model 2 Code Generation (Smarty) Source code PP formatted sourcecode DTD V1 Rules XMI 1/21 Anbindung eines

Mehr

X-Technologien. Ein Überblick. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

X-Technologien. Ein Überblick. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz X-Technologien Ein Überblick Ulrike Henny ulrike.henny@uni-koeln.de X-Technologien Das X-Universum XML im Zentrum Woher kommt XML? Einsatz von XML X-Technologien Datenhaltung Datenzugriff Umwandlung Ausgabe

Mehr

Dynamische Generierung von XML

Dynamische Generierung von XML Kunde: DOAGNews Ort, Datum: Artikel im Heft Q3 / 2005 Thema / Themen: Projekt: Autor: Artikel von merlin.zwo Dynamische Generierung von XML In Hakon Lugert Oracle & Technologien Systementwicklung Individuelle

Mehr