XPath XML Path Language

Größe: px
Ab Seite anzeigen:

Download "XPath XML Path Language"

Transkript

1 XPath XML Path Language Holger Jakobs aktuelle Version: Inhaltsverzeichnis 1 Baumentsprechung des XML-Dokuments 2 2 Knotenarten 3 3 Syntaxvarianten ausführliche Syntax verkürzte Syntax Achsen 5 5 Elementauswahl 5 6 Operatoren 7 7 Funktionen 8 8 Beispiele Elemente auswählen genau ein Element auswählen eine Elementmenge auswählen ein Element aus einer Elementmenge auswählen Funktionsergebnisse Zählen Stringverarbeitung andere Funktionen Verweis auf andere Dokumente weitere Beispiele

2 1 BAUMENTSPRECHUNG DES XML-DOKUMENTS XML Declaration XML Processing Instruction <?xml version="1.0" encoding="utf 8"?> <?xml stylesheet type="text/xsl" href="style.xsl"?> <verein> Kaninchenzüchter Köln 2000 e. V. <vorsitz>herbert Rammler</vorsitz> <mitglieder> <mitglied jahr="2002"> Hans Dampf </mitglied> <! Beitragsdaten? > </mitglieder> </verein> Textknoten Elementknoten Attributknoten Kommentarknoten Abbildung 1: Knotenarten in einem XML-Dokument Die XML Path Language, kurz XPath genannt, ist eine Sprache, mit deren Hilfe man Teile eines XML-Dokuments adressieren kann. Sie wird sowohl von XSLT 1 als auch von XPointer 2 als Subsprache verwendet. Kenntnisse von XPath sind also Voraussetzung für den Einsatz von XSLT-Stylesheets 3. Eine XSLT- und XPath-Referenz ist online zu finden unter 1 Baumentsprechung des XML-Dokuments Das XML-Dokument wird in XPath als ein Baum 4 gesehen, in dem man ähnlich wie in einem Verzeichnisbaum navigiert. Alle XML-Elemente sind Knoten des Baumes: Das Wurzelelement ist ein Knoten des Baumes, seine Kindelemente, seine Enkel usw. sind Kindknoten, Enkelknoten usw. bis hin zu den innersten Elementen, die die Blätter des Baumes darstellen. Allerdings gibt es im Baum noch einen Dokumentknoten, der das XML-Dokument an sich darstellt, aber keine Entsprechung innerhalb des Dokuments hat. Bei diesem Dokumentknoten beginnt die Verarbeitung (Pfad /), nicht beim Wurzelelement (das mit /catalog ausgewählt wird, wenn es im XML-Dokument mit <catalog> bezeichnet wird). Das Wurzelelement ist der einzige Kindknoten des Dokumentknotens (außer evtl. Kommentaren und Processing Instructions). 1) extensible Stylesheet Language for Transformations, 2) XML Pointer Language, 3) siehe auch Dokument 4) Ein Baum ist ein gerichteter, azyklischer Graph im Sinne der Graphentheorie 2

3 3 SYNTAXVARIANTEN 2 Knotenarten XML-Elemente sind Elementknoten, aber es gibt auch noch andere Arten von Knoten. Hierbei zählen Kommentarknoten und PI-Knoten (PI = processing instructions) nicht zum Informationsgehalt des Dokuments, sind daher von geringerer Bedeutung und werden in diesem Dokument nicht weiter erläutert. Textknoten sind Knoten, die selbst keine Kindknoten enthalten, sondern nur Text. Die PCDATA-Bereiche in XML-Dokumenten also die Inhalte in den Tags sind Textknoten. Bei der Verarbeitung werden auch Textentities expandiert und stellen dann Text dar. Der Inhalt eines Elements besteht nicht nur aus seinem eigenen Textinhalt, sondern auch aus den Textinhalten seiner Nachkommen. Dies lässt sich am besten an einem kleinen Beispiel zeigen. Der Inhalt von <schimpf>gestern <fett>war</fett> aber auch ein <kursiv>sauwetter</kursiv>.</schimpf> lautet Gestern war aber auch ein Sauwetter., denn die Textinhalte war und Sauwetter der Kindelemente vom Typ fett bzw. kursiv gehören durchaus zum Textinhalt des schimpf-knotens. Attributknoten können auch von XPath erreicht werden, sind aber keine XML-Elemente, sondern nur Attribute innerhalb eines Elements. Attributknoten sind aber keine Kindknoten, sondern werden dem Knoten selbst zugerechnet, zu dessen Element sie gehören. 3 Syntaxvarianten Mit XPath kann man Ausdrücke erzeugen, die einen bestimmten Teil eines XML-Quelldokuments bezeichnen oder aber, sofern Funktionsaufrufe enthalten sind, einen Wert zurückliefern. XPath hat zwei Syntaxvarianten: die ausführliche Syntaxvariante und die verkürzte Syntax. 3.1 ausführliche Syntax Bei der ausführlichen Syntax können zwei oder drei Angaben vorhanden sein: 1. Achse (axis, auch Suchbereich genannt): Sie gibt die Beziehung zwischen dem aktuellen Element (Knoten) und dem gesuchten an. Mögliche Werte (u. a.): child, descendant, following-sibling, preceding-sibling, attribute, self, descendant-or-self und ancestor-or-self. Es handelt sich also um die Richtung, in der der Baum durchlaufen wird. Hinter der Achs-Angabe steht ein doppelter Doppelpunkt (::). 2. Knotentest: Hier steht die Bedingung, die den oder die passenden Knoten auswählt. Es kann beispielsweise der Name eines vorkommenden Elementtyps sein, so dass alle passenden Knoten ausgewählt werden. Andere mögliche Werte sind text() für 3

4 3.2 verkürzte Syntax 3 SYNTAXVARIANTEN Textknoten, node() für alle Arten von Nodes (auch Kommentare, Texte und Processing Instructions), comment() für Kommentarknoten, processing-instruction() für Processing Instructions oder * für alle Elementknoten. 3. optionale Prädikate (Filterausdrücke), die in eckigen Klammern stehen: Hier können weitere Bedingungen zur Verfeinerung der Suche stehen, z. B. zur Auswahl von Elementen, die bestimmte Attribute enthalten oder die an bestimmter Position stehen: [position()=1] (erster passender Knoten), [position()=last()] (letzter passender Knoten), [attribute::currency="eur"] (alle passenden Knoten, die den Wert EUR im Attribut currency haben). Ein Beispiel für eine Knotenangabe in dieser ausführlichen Syntax wäre: child::person[position()=1]/child::anschrift[position()=2]/child::plz Dieses bezeichnet die Postleitzahl der zweiten Anschrift der ersten Person. Die Navigation geht vom aktuellen Element aus, fragt nach den Kind-Elementen vom Typ person, wählt aber nur das erste anhand der position. Von diesem Element ausgehend wird wieder ein Kind gesucht, diesmal vom Typ anschrift, wobei die position 2 sein soll. Ein drittes Mal wird ein Kind-Element gesucht, es muss jetzt vom Typ plz sein. 3.2 verkürzte Syntax Da diese Schreibweise doch ein wenig umständlich erscheint, hat man starke Vereinfachungen zugelassen. So kann man die Achsenangabe child:: immer weglassen, sie gilt als default. Damit ergibt sich verkürzt: person[position()=1]/anschrift[position()=2]/plz Das ist schon viel besser lesbar und erinnert auch viel stärker an die Navigation im Verzeichnisbaum von Unix genau das ist dabei auch die Absicht. Da die einzelnen Elemente ohnehin durchnumeriert sind, ist nicht einmal die Verwendung der Funktion position() notwendig: person[1]/anschrift[2]/plz Falls die zweite Anschrift jetzt mehrere plz-kindelemente hätte, würde (bei XPath 1.0) nur die erste verarbeitet. Rechnet man mit mehreren Elementen, so sollte man eine for-each- Schleife 5 verwenden, um alle nacheinander abhandeln zu können. 5) auf XSLT-Ebene, Näheres siehe 4

5 5 ELEMENTAUSWAHL 4 Achsen Nicht immer navigiert man von der Wurzel des Baumes weg, sondern manchmal nach oben (entsprechend.. bei Unix) oder auch seitwärts (muss man bei Unix um die Ecke machen). Tabelle 1 zeigt eine Aufstellung der möglichen Achsen, auf denen man sich bewegen kann, siehe auch Abbildung 2 auf der nächsten Seite. Nach Achsenangabe und Elementauswahl kann ein Slash (/) folgen, und danach wieder eine Achsenangabe und eine Elementauswahl. Auf diese Weise können recht lange Pfadangaben entstehen. Tabelle 1: Achsen Achse (mit :: dahinter) Kurzform Beschreibung child nichts Kind parent.. Eltern ancestor Vorfahre descendant Nachfahre (Kind, Enkel,...) following alle späteren Knoten in Verarbeitungsreihenfolge Attribute eines Knotens self. der Knoten selbst following-sibling jüngerer Geschwisterknoten preceding-sibling Geschwisterknoten älterer descendant-or-self // Nachfahre oder der Knoten selbst; wenn // am Anfang des Pfades steht, so ist es ein absoluter Pfadausdruck; falls man dies nicht meint, muss man ggf..//plz schreiben. ancestor-or-self Vorfahre oder der Knoten selbst Es gibt nicht für alle Achsen eine Kurzschreibweise. Gibt es keine, so ist in der Tabelle eingetragen. Beispiele für die Anwendung der diversen Achsen finden sich in Abschnitt 5. Tatsächlich gibt es noch eine weitere Navigationsmöglichkeit, nämlich den Verweis auf ein anderes Dokument (siehe Abschnitt 8.4 auf Seite 11), wodurch man bei der Verarbeitung mit XSLT die Daten aus mehreren Dokumenten zu einem neuen Dokument zusammenführen kann. 5 Elementauswahl Die Tabelle 2 auf Seite 7 zeigt, wie man lediglich mit Hilfe von Pfaden bestimmte Elemente auswählen kann. Hierbei ist das Ergebnis in vielen Fällen eine Knotenmenge (node set), 5

6 5 ELEMENTAUSWAHL Abbildung 2: Darstellung der möglichen Achsen die man besser als Knotenliste bezeichnen sollte, weil die Knoten eine Reihenfolge haben 6. Weitere Einschränkungen des Ergebnisses auf weniger Knoten, einen Knoten oder evtl. auch ein leeres Ergebnis geschieht durch die zusätzliche Angabe von Prädikaten (Filterausdrücken) in eckigen Klammern. Eine Elementauswahl wird vorwiegend innerhalb von <xsl:for-each select="">-ausdrücken verwendet. Tabelle 2: Auswahl von Elementen nur mit Pfaden Angabe Zugriff auf / Wurzel, Ursprung des Dokumentenbaums (ist aber nicht das Top-Level-Element des Dokuments) child::* (alle) Kindelemente des aktuellen Knotens child::person person-kindelemente des aktuellen Knotens child::text() Textknoten des aktuellen Knotens 6) Ab XSLT 2.0 wird daher der Begriff node sequence verwendet. 6

7 6 OPERATOREN Tabelle 2: Auswahl von Elementen nur mit Pfaden Angabe Zugriff auf child::node() Kindknoten des aktuellen Knotens attribute::plz Attribut plz des aktuellen Knotens attribute::* alle Attribute des aktuellen Knotens descendant::strasse alle strasse-elemente, die direkte oder indirekte Nachfahren des aktuellen Knotens sind /descendant::strasse alle strasse-elemente im Dokument (denn Nachfahre von / sind sie ja auf jeden Fall) /descendant::person/child::name alle name-elemente, deren Elternknoten person ist descendant-or-self::name alle name-elemente des aktuellen Elements einschließlich des aktuellen Elements selbst ancestor::person alle person-elemente, die Vorfahren des aktuellen Elements sind preceding-sibling::person alle person-elemente, die Geschwister des aktuellen Elements sind und früher im Dokument liegen (quasi ältere Geschwister) following-sibling::* alle Elemente, die Geschwister des aktuellen Elements sind und später im Dokument liegen (quasi jüngere Geschwister) self das aktuelle Element selbst //ort alle ort-elemente irgendwo im Baum Auch innerhalb eines solchen Prädikats können Pfade verwendet werden. der Ausdruck /personal/person[anschrift/hausnr/text()= 7 ] wählt alle person-knoten aus, deren Hausnummer 7 lautet, wobei der Vergleichsoperator 7 = angewendet wird Soll die Hausnummer nur eine 7 enthalten, so müsste man die Funktion contains() 8 verwenden: /personal/person[contains(anschrift/hausnr, 7 )], wobei hier der Pfadaus- druck sogar innerhalb des ersten Arguments der contains()-funktion benutzt wird. 6 Operatoren Die hierbei verwendeten Bedingungen bedienen sich der üblichen Operatoren, d. h. and und or zur logischen Verknüpfung, =,!=, <, >, <=, >= zum Größenvergleich (wobei die Entity- Schreibweise < und > benutzt werden muss), +, - div und * für die Grundrechenarten (wobei angemerkt werden muss, dass es sich bei div um eine Fließkommadivision handelt) und mod für den ganzzahligen Divisionsrest. 7) siehe Abschnitt 6 8) siehe Tabelle 3 auf Seite 9 7

8 7 FUNKTIONEN 7 Funktionen In XPath sind eine Reihe von häufig benutzten Funktionen enthalten, die in vielen Implementierungen, z. B. xt und Saxon, von weiteren Funktionen ergänzt werden. Diese Ergänzungsfunktionen liegen immer in einem eigenen Namensraum, um Kollisionen mit den Namen von XPath-eigenen Funktionen späterer Versionen auszuschließen. Wenn man die Funktionen in XSLT-Stylesheets verwendet, ist oft nicht klar, ob es sich um XPath- oder um XSLT-Funktionen handelt. In anderen Zusammenhängen (z. B. XQuery) stehen die XSLT-Funktionen natürlich nicht zur Verfügung. Als Beispiel für eine XSLT- Funktion sei format-number() genannt. Die Funktionen lassen sich in mehrere Gruppen einteilen: knotenmengenorientierte Funktionen, zeichenorientierte Funktionen, logische Funktionen und numerische Funktionen. Tabelle 3 auf der nächsten Seite zeigt eine Übersicht. Bei den Funktionen ohne Parameter gilt der aktuelle Knoten als Bezug. Der Datentyp object ist nicht näher bestimmt. Logische Funktionen werden in Prädikaten eingesetzt, da diese einen logischen Wert liefern müssen, ebenso in XSLT-if-Anweisungen. Zeichenketten liefernde Funktionen können in <xsl:value-of select="">-anweisungen benutzt werden, weil dort Zeichenketten erwartet werden. Tabelle 3: Einige XPath-Funktionen Name Rückgabe Beschreibung last() numerisch Anzahl Knoten in einem Kontext position() numerisch aktuelle Position count(nodeset) numerisch Anzahl Knoten in der Knotenmenge local-name(nodeset) Zeichenkette Elementname des ersten Knotens namespace-uri(nodeset) Zeichenkette Namensraum des ersten Knotens name(nodeset) Zeichenkette Elementname mit Namensraum des ersten Knotens string(object) Zeichenkette Objekt in Zeichenkette konvertiert concat (string, string, Zeichenkette Verkettung der Zeichenketten...) starts-with (string, string) logisch true, wenn erste Zeichenkette mit der zweiten beginnt contains (string, string) logisch true, wenn erste Zeichenkette die zweite enthält ends-with (string, string) logisch true, wenn erste Zeichenkette mit der zweiten endet (XPath 2.0) substring-before (string, string) Zeichenkette Teilzeichenkette der ersten Zeichenkette vom Anfang bis zum ersten Vorkommen der zweiten Zeichenkette 8

9 8 BEISPIELE Tabelle 3: Einige XPath-Funktionen Name Rückgabe Beschreibung substring-after (string, Zeichenkette Teilzeichenkette der ersten Zeichenkette string) vom Ende des Vorkommens der zwei- substring (string, von, laenge) Zeichenkette ten Zeichenkette bis zum Ende Teilzeichenkette, beginnend beim vonten Zeichen (gezählt ab 1) laenge Zeichen string-length (string) numerisch Länge der Zeichenkette matches (string, regexp) logisch true, wenn die Zeichenkette auf den regulären Ausdruck 9 passt (XPath 2.0) normalize-space (string) Zeichenkette Ersetzt beliebigen Whitespace durch ein Leerzeichen not(logausdruck) logisch kehrt logischen Ausdruck um lang (sprache) logisch wahr, wenn die Sprache des aktuellen Knotens (definiert in ihm oder in seinen Vorfahren) mit der durch sprache bezeichneten übereinstimmt number (object) numerisch konvertiert aktuellen Knoten in eine Zahl sum (nodeset) numerisch summiert alle in Zahlen gewandelten Knoten in der Knotenmenge floor (zahl) numerisch nächstkleinere ganze Zahl ceiling (zahl) numerisch nächstgrößere ganze Zahl round (zahl) numerisch gerundete ganze Zahl (rundet ab 0.5 auf) 8 Beispiele In den folgenden Beispielen wird ein minimales XSLT-Stylesheet verwendet. An der mit!xpath-code! markierten Stelle muss der XPath-Code eingesetzt werden. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html><body><pre> <xsl:value-of select="!xpath-code!"/> 9) siehe ~>man 7 regex (POSIX) oder ~>man re_syntax (Scriptsprache Tcl) oder (Scriptsprache Perl) 9

10 8.1 Elemente auswählen 8 BEISPIELE </pre></body></html> </xsl:template> </xsl:stylesheet> Als XML-Dokument dient meindecds.xml, das im Portal 10 zur Verfügung steht. Der Verweis auf das Stylesheet muss dort noch in Zeile 2 eingetragen werden. 8.1 Elemente auswählen genau ein Element auswählen Wird ein Element ausgewählt, so wird sein gesamter Textinhalt dargestellt. XPath-Code: /catalog eine Elementmenge auswählen Werden mehrere Elemente ausgewählt, so wird (bei XPath 1.0) nur der Textinhalt des ersten davon dargestellt. XPath-Code: /catalog/cd ein Element aus einer Elementmenge auswählen Möchte man genau ein Element einer Elementmenge auswählen, so muss man eine Bedingung angeben, die auf genau ein Element passt. Das kann im einfachsten Fall ein Index sein. XPath-Code: /catalog/cd[2] Wahlweise kann es auch eine komplexere Bedingung sein. Falls hierauf doch mehrere Elemente passen, so wird (bei XPath 1.0) wieder nur das erste dargestellt. XPath-Code: /catalog/cd[price/@currency= USD ] Bei Bedarf kann man eine Ergebnismenge mit einem weiteren Prädikat erneut einschränken, auch wieder mit einem Index. Weil es nur eine CD mit USD -Preis gibt, ist die Ergebnismenge hier leer. XPath-Code: /catalog/cd[price/@currency= USD ][2] 8.2 Funktionsergebnisse Zählen Dass es nur eine CD mit USD -Preis gibt, kann man so ermitteln: XPath-Code: count(/catalog/cd[price/@currency= USD ]) Die Anzahl der CDs mit einem Preis, der nicht USD ist, lautet 4 obwohl es nur 4 CDs gibt und eine bei der Suche nach USD gefunden wurde. Woran das wohl liegt? XPath- Code: count(/catalog/cd[price/@currency!= USD ]) 10) 10

11 8 BEISPIELE 8.3 andere Funktionen Stringverarbeitung Um Preise mit Komma statt Punkt darzustellen, kann man auf XSLT-Ebene format-number verwenden. Es geht aber auch mit XPath. Zunächst ermitteln wir den USD -Preis der ersten CD mittels USD ] Möchten wir davon den Vorkomma-(Vorpunkt-)Anteil haben, benutzen wir die Funktion substring-before(). XPath-Code: substring-before(/catalog/cd[1]/price[@currency= USD ],. ) Dann fehlt noch ein Komma, das wir als Literal einbauen, und der Nachkommateil, den wir ähnlich auswählen. Das Ganze wird dann mit der Funktion concat() zusammengebaut. XPath-Code: concat(substring-before(/catalog/cd[1]/price[@currency= USD ],. ),,, substring-after(/catalog/cd[1]/price[@currency= USD ],. )) 8.3 andere Funktionen Um festzustellen, wieviel Euro wir für je eine von den CDs ausgeben müssten, summieren wir alle nicht- USD -Preise. XPath-Code: sum(//price[@currency!= USD ]) Natürlich ist es bei mehr Währungen sinnvoll, einen positiven Test auf EUR einzubauen. XPath-Code: sum(//price[@currency= EUR ]) Um den durchschnittlichen Europreis herauszubekommen, müssen wir die Summe durch die Anzahl teilen (weil die avg-funktion nicht implementiert ist). XPath-Code: sum(//price [@currency= EUR ]) div count(//price[@currency= EUR ]) 8.4 Verweis auf andere Dokumente Mit Hilfe von XPath-Ausdrücken kann man auch auf andere XML-Dokumente verweisen. Dies ist hilfreich für das Zusammenführen mehrerer Dokumente zu einem Neuen. Um aus einem Dokument kunden.xml aus dem selben Verzeichnis, welches ein root-element namens kundenliste hat, die Straße des zweiten Kunden zu holen, während man ein anderes Dokument verarbeitet, schreibt man beispielsweise in einem XSLT-Stylesheet: <xsl:value-of select="document( kunden.xml )/kundenliste/kunde[2]/strasse"/> Man kann auch ohne weiteres eine Iteration über alle Kunden ausführen und deren Namen und Ort ausgeben lassen: <xsl:for-each select="document( kunden.xml )//kunde[2]"> <xsl:value-of select="name"/>, <xsl:value-of select="ort"/> </xsl:for-each> Mit Hilfe von Zeichenkettenoperationen kann man den Pfad der zu ladenden Datei auch zusammenbauen und in Variablen ablegen. Die document-funktion bekommt den Namen 11

12 8.5 weitere Beispiele 8 BEISPIELE oder aber auch einen URL als Parameter. Durch einen URL kann man auch auf entfernte Dokumente zugreifen, beispielsweise auf RSS-Feeds weitere Beispiele Weitere Beispiele sind im Zusammenhang mit XSLT (oder XQuery) sinnvoll, weshalb hierzu auf das Dokument zu XSLT 12 verwiesen wird, das solche enthält. DOM (Document Object Model) verwendet zur Navigation im Baum ebenfalls XPath, so dass auch in diesem Zusammenhang weitere Beispiele gefunden werden können. Das Dokument im Portal zu DOM und SAX 13 enthält inzwischen auch einige Beispiels zu DOM. $Id: XML-XPath.tex,v /08/17 09:16:08 hj Exp $ 11) siehe 12) 13) 12

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

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

XQuery 2013 S Seite 1 h_da S

XQuery 2013 S Seite 1 h_da S XQuery 1 XPath: XML Information Set Das Information Set besteht aus Information Items und hat zumindest ein document information item. Ein Information Item ist die abstrakte Beschreibung eines Teils eines

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

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

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

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

Grundlagen der Extensible Stylesheet Language

Grundlagen der Extensible Stylesheet Language Grundlagen der Extensible Stylesheet Language Transformations (XSLT) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068

Mehr

Textnavigation mit XPath

Textnavigation mit XPath Ulrike Henny & Patrick Sahle Fahrplan XPath: wieso weshalb warum? XPath im Editor XML als Baum XPath: Grundkonzepte XPath: der erste Baukasten XPath: gemeinsame Übungen XPath: der weitere Baukasten XPath:

Mehr

Templat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln.

Templat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln. XSLT Transformation: Templat-Regeln: XSLT Stylesheets: ausgedrückt in einem wohlgeformten XML-Dokument Muster zum Abgleich gegen Knoten im Ursprungsbaum Templat, dessen Körper instantiiert wird, liefert

Mehr

XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten

XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten Holger Meyer XPath 1.0 p. 1 Überblick Umfeld Datenmodell Pfadausdrücke Details XPath 1.0 p. 2 XPath 1.0 http://www.w3.org/tr/xpath (Nov 1999)

Mehr

Prof. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL

Prof. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL XML M. Leischner E-Businesskommunikation SS 2004 Folie 1 XML Sprachfamilie Anwendungen (SOAP,WSDL, ) XLL Verknüpfungen XPOINTER XLINK XSL XSLT Layout CSS XPATH Sprache Dokumentenaustausch DTD XML Namespace

Mehr

XML Path Language (XPath)

XML Path Language (XPath) XML Path Language (XPath) Erik Wilde ETH Zürich http://dret.net/netdret/ Abstract Die XML Path Language (XPath) ist nicht nur die Grundlage für viele aktuelle XML-Technologien (XSLT, XML Schema, XQuery),

Mehr

06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik

06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik Markupsprachen 06 Formatierungssprachen, XSL Manuel Burghardt Wiederholung XML Namensräume werden benutzt, um in einem einzelnen Dokument mehrere XML Sprachen zu mischen (Ähnliche Funktionsweise wie Vorwahlen

Mehr

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302 Index 437 438 Index Achse 430 all 191 ancestor 428 Anwendung 351; Beispiel 302 ANY 112, 183 apply-templates 146, 269 ATTLIST 390 ATTLIST 114, 180 Attribut 112, 183 attribute 190 attribute 391 attributegroup

Mehr

Anfragen an XML-Dokumente mit XPath

Anfragen an XML-Dokumente mit XPath Anfragen an XML-Dokumente mit XPath Heike Adel 21.06.2010 1 / 32 Motivation Gliederung Motivation Mit XPath kann man... Knoten aus XML-Dokumenten auswählen Werte aus XML-Dokumentdaten berechnen => ganz

Mehr

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT SQL SQL SELECT Anweisung Mit der SQL SELECT-Anweisung werden Datenwerte aus einer oder mehreren Tabellen einer Datenbank ausgewählt. Das Ergebnis der Auswahl ist erneut eine Tabelle, die sich dynamisch

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

Konzept und Realisierung Extensible Stylesheet Language

Konzept und Realisierung Extensible Stylesheet Language Konzept und Realisierung Extensible Stylesheet Language Hauptseminar Telematik SS2002 Kai Weber XSL/XSLT 1 Inhalt des Vortrages Wozu dienen Stylesheets Vorstellung der XSL-Sprachfamilie Transformationen

Mehr

1 Was ist XML? Hallo XML! Kommentare in XML 52

1 Was ist XML? Hallo XML! Kommentare in XML 52 Inhalt Vorwort 13 Einleitung und Ziel des Buches 15 1 Was ist XML? 21 1.1 XML ein Definitionsversuch 21 1.2 XML und HTML wo sind die Unterschiede? 22 1.3 XSLT 24 1.4 Einsatzgebiete von XML und XSLT 25

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

Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN

Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN Vorstellung der Diplomarbeit Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN Oberseminar Datenbanken WS 05/06 Diplomand: Oliver Schmidt Betreuer:

Mehr

Referat 11: Einführung in XPath

Referat 11: Einführung in XPath Referat 11: Einführung in XPath DARIAH-DE Tutorial Digitale Textedition mit TEI Redaktion: Christof Schöch (Univ. Würzburg) Version 1.0, 02/2014 Grundlage der Folien: DH@Oxford 2012 Lizenz: Creative Commons

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

Verkettete Datenstrukturen: Bäume

Verkettete Datenstrukturen: Bäume Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller

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

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

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

Ü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

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

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

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

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/ XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.1 The use of a camel image in association with Perl is a trademark of

Mehr

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11 1 von 11 Gliederung Extensible Markup Language (XML) Wofür steht XML? Wie sieht XML aus? Dokumentgliederung Elemente Attribute Entity-Referenzen Vordefinierte Entities Verarbeitungsanweisungen (processing

Mehr

XML-Datenbanken. Autor: Nan Zhang Veranstaltung: XML in Bioinformatik

XML-Datenbanken. Autor: Nan Zhang Veranstaltung: XML in Bioinformatik XML-Datenbanken Autor: Nan Zhang Veranstaltung: XML in Bioinformatik Übersicht Relationale Datenbanken Definitionen SQL XML-Datenbanken XPath XQuery XML-Datenbanken 2 XML-Datenbanken 3 Aufbau eines DB-Systems

Mehr

Einführung: Installation und Anpassung der Site zum Buch 15

Einführung: Installation und Anpassung der Site zum Buch 15 XML, XSLT, VB und ASP Praktisches XML-Wissen für Webprojekte Elmar Geese, Markus Heiliger, Matthias Lohrer Galileo Computing 350 S., 2001, geb., mit CD 34,90 Euro, ISBN 3-89842-109-0 Inhalt Vorwort 11

Mehr

<Trainingsinhalt> XML umsetzen und nutzen

<Trainingsinhalt> XML umsetzen und nutzen XML umsetzen und nutzen i Inhaltsverzeichnis Einführung 11 Das Problem mit HTML 12 Die Stärke von XML 13 Die XML-Helfer 14 XML im wirklichen Leben 15 Zu diesem Buch 16 Was Sie hier nicht

Mehr

Daniel Koch XSLT. schnell + kompakt

Daniel Koch XSLT. schnell + kompakt XSLT Daniel Koch XSLT schnell + kompakt Daniel Koch XSLT schnell + kompakt ISBN 978-3-939084-32-7 2007 entwickler.press, ein Imprint der Software & Support Verlag GmbH 1. Auflage, 2007 http://www.entwickler-press.de/

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

Datenbanksysteme 2015 Kapitel 10

Datenbanksysteme 2015 Kapitel 10 Datenbanksysteme 2015 Kapitel 10 Einführung in XML, XPath und XQuery 8.6.2015 Martin Gieseking Was ist XML? XML (Extensible Markup Language) ist eine Meta- Auszeichnungssprache zur textbasierten Beschreibung

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

XML Informationsmodelle

XML Informationsmodelle XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

DOM und XPath 05. G. Görz, J. Schneeberger Department Informatik KI. goerz@cs.fau.de josef.schneeberger@hdu-deggendorf.de.

DOM und XPath 05. G. Görz, J. Schneeberger Department Informatik KI. goerz@cs.fau.de josef.schneeberger@hdu-deggendorf.de. DOM und XPath 05 G. Görz, J. Schneeberger Department Informatik KI goerz@cs.fau.de josef.schneeberger@hdu-deggendorf.de 1 Übersicht DOM Document Object Model XPath Schritte und Pfadbeschreibungen Achsen

Mehr

XSLT extensible Stylesheet Language Transformation

XSLT extensible Stylesheet Language Transformation XSLT extensible Stylesheet Language Transformation Seite 1 Inhaltsverzeichnis 1. Was ist XSLT 3 1.1. Vorteile von XSLT 3 1.2 Anwendungen von XSL 3 2. Ablauf einer XSLT Transformation 4 2.1. Xalan und Xerces

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

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

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

Mehr

Access 2010 Programmierung Import und Export nach Excel

Access 2010 Programmierung Import und Export nach Excel Access 2010 Programmierung Import und Export nach Excel Excel... ist das Tabellenkalkulationsprogramm von Microsoft Office. wird genutzt, um numerische Daten in Tabellenform zu erfassen. kann Daten automatisch

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

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

Praktikum zur Veranstaltung XML-Technologie: Übung 09

Praktikum zur Veranstaltung XML-Technologie: Übung 09 Fachhochschule Wiesbaden - Fachbereich Informatik Praktikum zur Veranstaltung XML-Technologie: Übung 09 XSLT Eine HTML-Tabelle 06.01.2005 (c) 2004 H. Werntges, FB Informatik, FH Wiesbaden 1 Organisatorisches

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

XSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66

XSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66 XSL Transformationen -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen / 66 Gliederung 1. Templates 1.1 Allgemeine Informationen 1.2 match-attribut 1.3 Eingebaute Template Rules 1.4 xsl:apply-templates

Mehr

extended Markup Language (XML)

extended Markup Language (XML) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung XSP Servlets JSP PHP CGI nur HTML nur HTML XML+ Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver nur

Mehr

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel XML-QL Querysprachen für XML Zusätzliche Quellen: http://www.w3.org/tr/xquery/ http://www.w3schools.com/xquery/ XML-QL ist eine Querysprache für XML mit folgenden Eigenschaften: Kombiniert die XML-Syntax

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

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

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz

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

Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005

Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005 Kurzreferenz zu XSLT Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005 Diese Anweisung sorgt dafür, dass auf den aktuellen Knoten nur die in das Stylesheet

Mehr

Daten- und Metadatenstandards Wintersemester 2011 / März 2012 Wiederholung und Klausurvorbereitung

Daten- und Metadatenstandards Wintersemester 2011 / März 2012 Wiederholung und Klausurvorbereitung Daten- und Metadatenstandards Wintersemester 2011 / 2012 29. März 2012 Wiederholung und Klausurvorbereitung Seminarplan Montag [26. März] Organisatorisches Daten, Information, Metadaten was ist das? Extensible

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

Verarbeitung von XML-Dateien. Jörn Clausen joern@techfak.uni-bielefeld.de

Verarbeitung von XML-Dateien. Jörn Clausen joern@techfak.uni-bielefeld.de Verarbeitung von XML-Dateien Jörn Clausen joern@techfak.uni-bielefeld.de XML Was geht mich das an? effektives Datenaustauschformat von Mensch und Maschine gut verarbeitbar selbstdokumentierend fortschreitende

Mehr

Dr. Thomas Meinike Hochschule Merseburg

Dr. Thomas Meinike Hochschule Merseburg XSLT Programmierung effektiv und schmerzfrei! Dr. Thomas Meinike Hochschule Merseburg thomas.meinike@hs merseburg.de http://www.iks.hs merseburg.de/~meinike/ @XMLArbyter Zusatzmaterial Februar

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

XML und Datenmodellierung

XML und Datenmodellierung Rainer Eckstein Silke Eckstein XML und Datenmodellierung XML-Schema und RDF zur Modellierung von Daten und Metadaten einsetzen dpunkt.verlag VII Inhaltsverzeichnis Vorwort v 1 Einleitung 1 1.1 Aufbau 2

Mehr

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06 Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und

Mehr

Empfehlenswerte Referenzen

Empfehlenswerte Referenzen Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein

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

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

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. SQL Komplexe Abfragen Komplexe Abfragen verknüpfen mehrere Tabellen miteinander. Voraussetzung für das Verständnis ist die Beherrschung einfacher SELECT-Abfragen Die Möglichkeit, Tabellen zu verknüpfen,

Mehr

Einführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel

Einführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel Einführung in XML Was ist XML? XML steht für extensible Markup Language. XML trennt Struktur, Inhalt und Aussehen von Dokumenten. XML ist eine Meta-Sprache, welche Regeln zur Formulierung von Auszeichnungssprachen

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

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

XML/TEI eine Einführung

XML/TEI eine Einführung XML/TEI eine Einführung Teil 1/3: Datenmodellierung und XML 1 Was Sie hier erwartet Datenmodellierung XML Model-View-Controller Datenverarbeitung mittels Relationalen Datenbanken Strukturierte vs. semi-strukturierte

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Kommandozeileneingabe. Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe Optionen. Kommandozeileneingabe Bsp (1)

Kommandozeileneingabe. Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe Optionen. Kommandozeileneingabe Bsp (1) Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe index-funktion rindex-funktion substr-operator grep-operator map-operator Kommandozeileneingabe Ausführung von Perl-Kommandos direkt

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

Thema 2 Acceleo-MTL- Sprachmittel

Thema 2 Acceleo-MTL- Sprachmittel SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;

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

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

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

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter CmdLets PipeLine / Filter Variablen / Operatoren Schleifen / Prüfmethoden Funktionen / Skripte Allgegenwärtige Parameter Hilfe ComObjekte PowerShell: Oberfläche PowerShell --- Voraussetzungen.NET Framework

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

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

Mehr

Diazo. XSLT basiertes Website Theming. Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de

Diazo. XSLT basiertes Website Theming. Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de Diazo XSLT basiertes Website Theming Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de Was wir haben Wie der Kunde will Diazo + plone.app.theming Die Hauptnavigationspunkte übernehmen

Mehr

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9

Mehr

PHP objektorientiert

PHP objektorientiert PHP objektorientiert Konzepte, Techniken, Code von Jörg Krause, Christian Alkemper, Peter Lavin 1. Auflage Hanser München 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40762 6 Zu Inhaltsverzeichnis

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Verarbeitung von XML mit SAX und DOM

Verarbeitung von XML mit SAX und DOM Verarbeitung von XML mit SAX und DOM Sven Peters Seminar Dokumentenverarbeitung Typeset by FoilTEX Urspünglich nur für Java SAX Simple Api for XML Peter Murray-Rust (Jumbo XML Browser) - YAXPAPI (Yet Another

Mehr

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

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 8. Juli 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

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

Dynamische Inhalte und Formate

Dynamische Inhalte und Formate Dynamische Inhalte und Formate p. 1/3 Dynamische Inhalte und Formate Seminar Document Engineering Dennis Busch dennis.busch@gmx.de Institut für Softwaretechnologie Fakultät für Informatik Universität der

Mehr

Kapitel 6: SQL und XML

Kapitel 6: SQL und XML 6. SQL und XML Seite 1 Kapitel 6: SQL und XML Wie können die Inhalte einer Datenbank als XML-Dokumente exportiert werden (Publizieren von XML? Wie können die Inhalte eines XML-Dokumentes in eine Datenbank

Mehr

XSL Transformations (XSLT) Teil I

XSL Transformations (XSLT) Teil I XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil I Erik Wilde 30.5.2006 http://dret.net/lectures/xml-ss06/ 30.5.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Herkunft von XSLT XSLT

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen V14 1 / 30 Informationsverarbeitung im Bauwesen Markus Uhlmann Institut für Hydromechanik WS 2009/2010 Bemerkung: Verweise auf zusätzliche Information zum Download erscheinen in dieser Farbe V14 2 / 30

Mehr