Daniel Koch XSLT. schnell + kompakt

Größe: px
Ab Seite anzeigen:

Download "Daniel Koch XSLT. schnell + kompakt"

Transkript

1 XSLT

2

3 Daniel Koch XSLT schnell + kompakt

4 Daniel Koch XSLT schnell + kompakt ISBN entwickler.press, ein Imprint der Software & Support Verlag GmbH 1. Auflage, Ihr Kontakt zum Verlag und Lektorat: lektorat@entwickler-press.de Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Korrektorat: Petra Kienle Satz: text & form GbR, Carsten Kienle Umschlaggestaltung: Caroline Butz Belichtung, Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, Paderborn. Alle Rechte, auch für Übersetzungen, sind vorbehalten. Reproduktion jeglicher Art (Fotokopie, Nachdruck, Mikrofilm, Erfassung auf elektronischen Datenträgern oder andere Verfahren) nur mit schriftlicher Genehmigung des Verlags. Jegliche Haftung für die Richtigkeit des gesamten Werks kann, trotz sorgfältiger Prüfung durch Autor und Verlag, nicht übernommen werden. Die im Buch genannten Produkte, Warenzeichen und Firmennamen sind in der Regel durch deren Inhaber geschützt.

5 Inhaltsverzeichnis Vorwort 7 Kapitel 1: Die Idee hinter XSLT Was Sie brauchen 11 So funktioniert XSLT 12 Die verschiedenen XSLT-Versionen 14 XSLT-Prozessoren 15 CSS und seine Grenzen Der Schnelleinstieg: Hallo, XSLT! 21 Kapitel 2: Ohne XPath geht es nicht Mit Knoten arbeiten 28 Achsen Adressierung 34 Absolute und relative Pfade Operatoren einsetzen 42 Variablen 44 Funktionen gekonnt einsetzen 45 Kapitel 3: Templates: Vorlagen anlegen Templates aufrufen 55 Templates einbinden 58 Stylesheets importieren 60 Mehrere Stylesheets verwenden 62 Kapitel 4: Mit XSLT arbeiten Bedingungen definieren 71 Erweiterte Bedingungen definieren Schleifen Funktionen verwenden 79 schnell + kompakt 5

6 Inhaltsverzeichnis 4.4 Kopieren 82 Kopieren von Teilbäumen Sortieren, Gruppieren und Nummerieren 84 Daten sortieren 85 Elemente gruppieren 88 Nummerierungen 92 Variablen und Parameter 95 Leerräume richtig behandeln Elemente und Attribute erzeugen 104 Elemente erzeugen 104 Attribute erzeugen 105 Statische Texte ausgeben 108 Text vom Parser generieren lassen Die Ausgabe steuern HTML-Ausgabe 115 Formatierte Texte ausgeben 115 Links und Grafiken ausgeben 118 Stichwortverzeichnis 121 6

7 Vorwort Längst hat XML den Durchbruch geschafft. Egal, ob Datenbanken, Online-Shops, Multimedia oder Wissenschaft, oft läuft im Hintergrund XML. Aber obwohl XML so oft und vielfältig eingesetzt wird, kommen die meisten Anwender nie und viele Entwickler kaum mit dieser Sprache direkt in Berührung. Dank XML können Layout und Inhalt von Dokumenten voneinander getrennt werden. Dabei ist die inhaltsorientierte Auszeichnung für die automatisierte Weiterverarbeitung gedacht. Und genau hier setzt dieses Buch an. Mit XSLT können Struktur und Inhalte von XML-Dokumenten beliebig angepasst werden. Im einfachsten Fall gibt man ein Dokument, das im XML-Format vorliegt, in einem anderen XML-Format aus. Ebenso kann aus einem reinen XML-Dokument aber auch eine HTML-Webseite werden, die dann ganz normal im Browser betrachtet werden kann. Das Wichtigste rund um das Thema XSLT erfahren Sie in diesem Buch, das sich in vier Kapitel gliedert. Kapitel 1 liefert eine Einführung in XSLT. Sie erfahren, was es mit Parsern und Prozessoren auf sich hat, und formatieren XML-Dokumente so, dass sie im Browser ein wahrer, nun ja, Augenschmaus sind. Kapitel 2 führt Sie in XPath ein, einer Sprache, mit der auf die einzelnen Elemente von XML-Dokumenten zugegriffen wird. Kapitel 3 zeigt die Arbeit mit Templates. Sie erfahren, wie Sie Templates anlegen und importieren. Kapitel 4 widmet sich ganz der Programmierung. Ja, Sie haben richtig gelesen. Denn anders als zum Beispiel bei CSS, können schnell + kompakt 7

8 Vorwort Sie in XSLT Schleifen verwenden, Variablen und Parameter einsetzen und Elemente automatisch nummerieren. Dieses Buch aus der Reihe schnell und kompakt unterstützt Sie beim Erlernen von XSLT. Darüber hinaus soll Ihnen das Buch aber auch bei der täglichen Arbeit ein ständiger Begleiter sein. Haben Sie zum Beispiel einmal eine bestimmte XPath- oder XSLT-Funktion nicht parat, hilft das Buch weiter. Sollten Sie während oder nach dem Lesen des Buchs Fragen oder Anmerkungen haben, Kontakt zum Autor aufnehmen oder Kritik bzw. Lob loswerden wollen, können Sie das gerne über tun Ihre Nachricht ist herzlich willkommen. Hamburg, Mai 2007 Daniel Koch 8

9 Die Idee hinter XSLT KAPITEL Was Sie brauchen Der Schnelleinstieg: Hallo, XSLT! 21 XML ist das ideale Format für die Datenspeicherung. Für die Darstellung gibt es allerdings spezielle XML-Standards wie XHTML. Um XML-Dokumente in ein solches Format übertragen zu können, wurde XSL (extensible Stylesheet Language) entwickelt. XSL besteht aus zwei Komponenten: XSL-FO dient der Druckausgabe und wird in der Praxis hauptsächlich dafür verwendet, aus XML-Dokumenten PDF-Dateien zu generieren. Diese Technologie wird in diesem Buch nicht behandelt. Weitere Hinweise finden Sie aber in dem Band XSL-FO Praxis von Manfred Krüger und Ursula Welsch in der gleichen Buchreihe. XSLT wird dazu verwendet, XML-Dokumente in andere XML- Dokumente oder in XML-Formate wie zum Beispiel XHTML zu transformieren. Diesem Sprachteil widmet sich dieses Buch. Bei XSLT handelt es sich um eine sogenannte turing-vollständige Programmiersprache zur Transformation von XML-Dokumenten. Dabei ist XSLT so allgemein anwendbar, dass sich aus einem hierarchisch strukturierten Ausgangsdokument Ausgaben in fast jedem beliebigen Format generieren lassen. Derzeit wird als Präsentationssprache für XML-Dokumente meistens HTML schnell + kompakt 9

10 1 Die Idee hinter XSLT bzw. XHTML verwendet, weswegen hier auch eines der Haupteinsatzgebiete von XSLT liegt. Ebenso können aber auch SVG oder SMIL die Zielsprachen sein. Ganz allgemein werden zwei Hauptanwendungsgebiete unterschieden: POP (Presentation Oriented Publishing) Hier wird die Transformation zum Zweck der Darstellung durchgeführt. Mögliche Zielsprachen sind XHTML, SMIL, SVG oder DocBook. MOM (Message Oriented Middleware) Bei dieser Variante findet die Transformation zum Zweck des Datenaustauschs statt. Dabei dient XSLT als Übersetzer von einer XML-basierten Sprache in die andere. Ihre Wurzeln hat XSLT in der Document Style Semantics and Specification Language (DSSSL), einer Transformations- und Formatierungssprache für SGML-Dokumente. XSLT besitzt die folgenden Merkmale: Es werden Baumstrukturen als Modelle von XML-Dokumenten verwendet. XSLT-Stylesheets definieren die Umwandlung der Eingabe- Baumstruktur in eine Ausgabe-Baumstruktur. Für den Zugriff auf Teile des Eingabebaums werden XPath- Ausdrücke verwendet. (Das ist übrigens einer der Gründe, warum dieses Buch nicht ohne einen Exkurs in die Welt von XPath auskommen kann.) Mittels Vorlagen (Templates) wird die Baumstruktur des Ausgabedokuments festgelegt. In diesen Templates sind Regeln definiert, die festlegen, auf welche Weise der Ausgabebaum generiert werden soll. Derzeit wird XSLT am häufigsten dazu verwendet, aus einfachen XML-Dokumenten mittels Transformation XHTML-Dokumente inklusive CSS-Auszeichnungen zu generieren, die dann im 10

11 Was Sie brauchen WWW-Browser angezeigt werden können. So lassen sich XML- Dokumente auch in solchen Browsern darstellen, die XML überhaupt nicht interpretieren können. Zu Recht wird übrigens an vielen Stellen darauf hingewiesen, dass man XML-Dokumente ganz bequem per CSS formatieren kann und somit auf die Transformation mittels XSLT verzichten kann. Allerdings stößt man dort spätestens dann an die Grenzen, wenn der vom Endanwender eingesetzte Browser nicht XML-fähig ist. Ausführliche Informationen zur Kombination aus XML und CSS erhalten Sie ab Seite Was Sie brauchen XSLT lässt sich, wie so vieles im XML-Umfeld, nicht losgelöst betrachten. Denn mit XSLT allein kann man recht wenig anfangen. XSLT dient dazu, XML-Datenstrukturen zu transformieren, also in ein anderes Format zu bringen. Hilfreich ist es, wenn Sie in den folgenden Bereichen mindestens Grundkenntnisse besitzen: XML DTD HTML Programmierkenntnisse im engeren Sinne benötigen Sie nicht. Allerdings gibt es in XSLT durchaus Elemente, die so auch in echten Programmiersprachen verfügbar sind. Dazu gehören unter anderem Schleifen und Fallunterscheidungen. Wie Sie Ihre Stylesheets anlegen, bleibt letztendlich natürlich Ihnen überlassen. Die Beispiele in diesem Buch wurden ausschließlich mit dem Texteditor UltraEdit ( erstellt. Bei komplexeren Projekten könnte aber auch der Einsatz eines speziellen XSLT-Editors interessant sein. Auf Unix-Umge- schnell + kompakt 11

12 1 Die Idee hinter XSLT bungen wird meistens Emacs verwendet. Für Windows gibt es die kommerziellen Produkte XML-Spy von Altova ( und XMetal von Softquad ( So funktioniert XSLT Das Kernkonzept hinter XSLT ist die Transformation. Der Hauptunterschied zwischen XSLT und anderen Varianten der Transformation von XML-Dokumenten ist, dass XSLT die Umformung von Dokumenten als Umformung ihrer Struktur definiert. Das Kernkonzept bildet ein Datenmodell, in dem XML-Dokumente als Baum dargestellt werden. Vergleichbar ist das mit dem Document Object Model (DOM). Das zugrunde liegende Datenmodell wird dabei in Xpath beschrieben. Jedes Element bildet einen Knoten, von dem wiederum Unterelemente abzweigen (können). Bei diesen Knoten handelt es sich zum Beispiel um Elementknoten, Attributknoten und Textknoten. Es gibt drei verschiedene Arten der Transformation: XML-Dateien werden bereits auf dem Server umgewandelt und als HTML gespeichert, bevor sie an den Client ausgeliefert werden. Sinnvoll ist diese Variante zum Beispiel, wenn die Daten aus einer XML-Datenbank einmalig in HTML konvertiert und dann online gestellt werden sollen. Die XML-Daten und die XSLT-Stylesheets bleiben auf dem Server und werden dort transformiert. Das ist die beste Variante. Denn so kann man nicht nur alle Möglichkeiten, die XSLT zu bieten hat, ausschöpfen, es wird auch sichergestellt, dass die Seite in jedem Browser gleich aussieht. (Hier gelten natürlich trotzdem die aus HTML/CSS bekannten Unterschiede in der Darstellung im Browser.) 12

13 Was Sie brauchen Eine direkte Umwandlung im Browser ist ebenfalls möglich. Dazu werden die XML- und die XSLT-Datei an den Browser übergeben. Diese Variante werden Sie bei Ihren ersten XSLT- Beispielen einsetzen. In der Praxis sollten Sie darauf aber verzichten, denn bislang unterstützen längst noch nicht alle Browser diese Transformation. Das Prinzip der Transformation läuft immer gleich ab: 1. Das XML-Dokument wird vom Parser (mehr dazu im nächsten Abschnitt) eingelesen und als Baum interpretiert. 2. Das XSLT-Dokument wird vom Parser eingelesen und ebenfalls als Baum interpretiert. 3. Der XSLT-Prozessor liest beide Bäume ein. 4. Die beiden Bäume werden vom XSLT-Prozessor auf Basis der im XSLT-Dokument stehenden Anweisungen in einen neuen Baum umgewandelt. 5. Der neue Baum erhält die gewünschte serielle Form. Dafür, wie sich diese Schritte softwareseitig lösen lassen, gibt es verschiedene Möglichkeiten. So finden sich Parser und Prozessoren zum Beispiel in vielen Programmiersprachen wie PHP, Perl und Java. Darüber hinaus sind Parser und Prozessoren auch in modernen WWW-Browsern wie dem Internet Explorer und Mozilla enthalten. Ebenso kann man auch spezielle Tools kommandozeilenbasiert nutzen. Es wird zwischen zwei Transformationsarten unterschieden: Abwärtstransformation XML-Dokumente werden in ein Ausgabeformat umgewandelt. Das können einfache Textdateien ebenso wie XHTML- oder SVG-Dokumente sein. Seitwärtstransformation Das XML-Dokument wird in ein anderes XML-Format transformiert, das ebenfalls zur Datenspeicherung oder -übermittlung genutzt wird. schnell + kompakt 13

14 1 Die Idee hinter XSLT Die verschiedenen XSLT-Versionen Entwickelt wurde XSLT ursprünglich von James Clark, der für die beiden Versionen XSLT 1.0 und 1.1 verantwortlich war. XSLT ist seit 1999 eine W3C Recommendation ( 1999/REC-xslt ). Genügte die Version 1.x den damaligen Ansprüchen, hat sich das heute grundlegend geändert. Denn längst wird XSLT in Bereichen eingesetzt, die James Clark und seine Mitstreiter damals nicht in Betracht gezogen haben bzw. überhaupt nicht in Betracht ziehen konnten. Ein typisches Beispiel dafür stellen XML-Datenbanken dar, die vermehrt klassische relationale Datenbanken ablösen. Besonders wenn es in einer XML-Datenbank um die Adressierung und Filterung des Datenbestands geht, stößt man mit den herkömmlichen Sprachen schnell an die Grenzen. Um Daten zu finden, die bestimmte Eigenschaften erfüllen, wird XQuery ( Query) eingesetzt. Die so ermittelten Daten können anschließend mittels Dokumenttransformation ganz nach Wunsch aufbereitet werden. Und genau bei dieser Transformation kommt XSLT ins Spiel. Damit XSLT aber überhaupt XQuery-Datensätze verarbeiten konnte, musste das Datenmodell angepasst werden, was auch Auswirkungen auf XPath hatte. XSLT 2.0 und XQuery verwenden nun das Datenmodell von XPath 2.0. Derzeit wird noch an XSLT 2.0 gearbeitet. Dieser Sprachstandard hat mittlerweile den Status Candidate Recommendation erreicht. Eine Verabschiedung steht also unmittelbar bevor. Den aktuellen Entwurf finden Sie unter Auch wenn XSLT 2.0 noch nicht offiziell verabschiedet wurde, unterstützen die meisten Prozessoren diese Version. Als eines der Hauptkriterien für XSLT 2.0 hat das W3C die Kompatibilität zur Version 1.0 definiert. Die in diesem Buch wiedergegebenen Informationen stimmen somit also weitestgehend für beide Sprachversionen. 14

15 Was Sie brauchen Unterschiede zwischen Parser und Prozessor Der folgende Abschnitt befasst sich mit XSLT-Prozessoren. Bevor es bei diesem Thema ins Detail geht, aber noch einige Worte zu den verwendeten Begrifflichkeiten. Sehr oft werden Parser und Prozessor vertauscht oder gleichgesetzt. Das ist zwar nicht weiter schlimm, einwandfrei ist es allerdings nicht, denn Parser kontrollieren Dokumente auf ihre syntaktische Korrektheit. XSLT- Prozessoren hingegen transformieren XML-Dokumente mithilfe von XSLT-Stylesheets in das gewünschte Ausgabeformat. XSLT-Prozessoren Für die XSLT-Transformation wird ein Prozessor benötigt. Dieser Prozessor muss nicht nur XML-Dokumente verarbeiten können, sondern auch die Elemente und Funktionen von XSLT beherrschen. XSLT-Prozessoren sind Software-Module, die an verschiedensten Stellen eingesetzt werden. Soll die Transformation der XML-Datei in formatierter Form im Browser erfolgen, muss das Modul direkt im Browser selbst integriert sein. Der Internet Explorer hat einen entsprechenden Parser an Bord. Für Sie als Entwickler hat das den Vorteil, dass Sie Ihre XSLT-Anwendungen direkt im Browser testen können. Dazu öffnen Sie dort das betreffende XML-Dokument, an das das XSLT gebunden ist. Ebenso können Sie aber auch das XSLT-Dokument direkt im Browser öffnen. Das wird dann als hierarchisches Dokument angezeigt. XSLT-Parser sind aber auch oft in den Webserver integriert. So können XML-Daten nach HTML transformiert werden, bevor sie mittels HTTP an den aufrufenden Client-Browser übertragen werden. Das hat den Vorteil, dass sich moderne XML-Daten auch in noch so antiquierten Browsern anzeigen lassen. schnell + kompakt 15

16 1 Die Idee hinter XSLT Die folgende Übersicht zeigt die beliebtesten Prozessoren: msxml ist eine DLL-Bibliothek, die man in eigenen Programmen verwenden kann, die von Microsoft aber auch im Internet Explorer eingesetzt wird. Saxon ( ist eine schnelle XSLT-Implementierung, die sich durch zahlreiche Erweiterungen auszeichnet. Zu diesem Prozessor dann im nächsten Abschnitt mehr. FastXML ( bietet eine hohe Performance, die hauptsächlich auf Code-Tuning und Optimierung zurückzuführen ist. Sablotron ( ist ein schnelles OpenSource-Toolkit für XML, in dem auch ein XSLT- Prozessor integriert ist. Xalan ist ein OpenSource-XSLT-Prozessor der Apache Software Foundation, dessen Ziel es ist, möglichst nah an den Standards von XSLT und XPath zu sein. Xalan gibt es als C++ ( und als Java-Version Welchen Prozessor man am besten einsetzen sollte, lässt sich pauschal nicht sagen. Allerdings gibt es einige Kriterien, die Sie bei der Prozessorwahl berücksichtigen sollten: Konformität zu den Standards von XSLT und XPath Gute Performance Verfügbare Schnittstellen Verbreitung des Prozessors Erweiterbarkeit In der Praxis wird die Transformation meistens im Zusammenspiel mit Anwendungen und Programmiertechnologien durchgeführt. Wer zum Beispiel PHP verwendet, kann die XSLT-Transformation mittels der in PHP bereitgestellten XSLT-Funktionen 16

17 Was Sie brauchen ( durchführen. PHP setzt als Parser übrigens Sablotron ein. Prozessoren im Einsatz Sie haben gesehen, dass es viele XSLT-Prozessoren auf dem Markt gibt, die sich vor allem darin unterscheiden, wie vollständig sie XSLT implementieren und wie schnell sie sind. Bei der Verwendung ähneln sich die Prozessoren allerdings. Der Einsatz von XSLT-Prozessoren wird hier am Beispiel von Saxon gezeigt. Dieser Prozessor war in älteren Versionen noch völlig kostenlos, wird mittlerweile von der Firma Saxonica Ltd. ( allerdings kommerziell vertrieben. In einer abgespeckten Version ist er aber immer noch kostenlos verfügbar und kann von der Projektseite heruntergeladen werden. Saxon gibt es in einer.net- und in einer Java-Version. Hier wird die Verwendung von Saxon in einer Java-Umgebung gezeigt. Voraussetzung dafür ist eine Java-Laufzeitumgebung in Version 1.5 oder höher. Saxon wird folgendermaßen gestartet: java -jar $SAXON/saxon8.jar quelle.xml ausgabe.xsl Als Argumente werden dem Java-Interpreter die Option JAR und der vollständige Pfad der Datei saxon8.jar übergeben. Zusätzlich gibt man das Ausgangsdokument (quelle.xml) und das Stylesheet (ausgabe.xsl) an. XSLT im Browser Moderne Browser wie Mozilla und der Internet Explorer ab Version 5 transformieren XML-Dokumente direkt während der Laufzeit. Dazu muss innerhalb des Dokuments eine Processing schnell + kompakt 17

18 1 Die Idee hinter XSLT Instruction stehen, die auf ein Stylesheet hinweist und auf die der Browser tatsächlich zugreifen kann. <?xml-stylesheet type="text/xsl" href="welt.xsl"?> Durch eine solche Processing Instruction werden XML-Datei und Stylesheet miteinander verknüpft. Ausführliche Informationen dazu erhalten Sie später. Fehlt die Angabe eines Stylesheet, stellen der Internet Explorer und Mozilla XML-Dokumente in einer Baumstruktur dar. Abb. 1.1: Die Baumstruktur im Internet Explorer Eine solche Darstellung ist zwar bei der Entwicklung der XML- Struktur hilfreich, optisch ansprechend ist sie freilich nicht. Und genau an diesem Punkt kommen Stylesheets ins Spiel. Die können aus einer Baumstruktur eine ganz normale Webseite machen. 18

19 Was Sie brauchen CSS und seine Grenzen XML-Dokumente können mittels CSS formatiert und im Browser ausgegeben werden. Wie einfach das geht, zeigt folgendes Beispiel: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/css" href="welt.css"?> <welt> <text> Hallo, Welt! </text> </welt> Diese einfache XML-Struktur soll nun mittels CSS im Browser angezeigt werden. Dazu wird über xml-stylesheet die CSS-Datei angegeben, die die Stylesheet-Definitionen enthält. text { position:absolute; top:20px; left:40px; background-color:#c0c0c0; padding:20px; color:#ffffff; font-family:arial,helvetica,sans-serif; font-size:40px; } In dieser Datei werden das oder die zu formatierenden XML- Tags angegeben. Bei der Syntax selbst handelt es sich um ganz normales CSS. Ruft man die XML-Datei in einem geeigneten Browser (Internet Explorer ab Version 5 und Mozilla) auf, ergibt sich folgendes Bild: schnell + kompakt 19

20 1 Die Idee hinter XSLT Abb. 1.2: So sieht es doch schon besser aus Auf diese Weise können Sie Ihr gesammeltes CSS-Wissen, das Sie bislang vielleicht ausschließlich für die Formatierung von HTML-Seiten genutzt haben, nehmen und auf XML anwenden. Das hat den Vorteil, dass Sie auf vorhandenes Know-how zurückgreifen und sich nicht in XSL und XSLT einarbeiten müssen. Allerdings hat die Kombination XML/CSS deutliche Nachteile gegenüber XSL. Ältere Browser können mit XML und CSS nichts anfangen und zeigen entweder gar nichts oder unformatierten Text. In CSS gibt es kaum Möglichkeiten, Daten bei der Ausgabe zu filtern. Klassische XSLT-Funktionen wie Sortieren und Gruppieren sind in CSS nicht verfügbar. XSLT ist nicht einfach eine alternative Möglichkeit zur Ausgabe von XML-Dateien, sondern bringt weitreichende Neuerungen mit sich. 20

21 Der Schnelleinstieg: Hallo, XSLT! 1.2 Der Schnelleinstieg: Hallo, XSLT! Auf zwei verschiedene Arten lässt sich XSLT auf XML-Dokumente anwenden. Es wird in XML-Dokumente eingebunden. Beide Dokumente werden einem XSLT-Prozessor übergeben. In der Praxis kommt man hauptsächlich mit der ersten Variante in Berührung. Zum Testen der Anwendungen empfiehlt sich allerdings das direkte Einbinden der XML-Datei. Den ersten Kontakt zur Transformation mit XSLT soll wie es in der Entwicklerwelt gute Sitte ist das klassische Hallo, Welt! herstellen. Im folgenden Beispiel wird davon ausgegangen, dass alle drei benötigten Dateien im gleichen Verzeichnis liegen. Zunächst die DTD: <!ELEMENT welt (#PCDATA)> Diese Document Type Definition wird in der externen Datei welt.dtd gespeichert. In ihr ist lediglich das Element welt definiert. Hinweis Da in diesem Buch der Fokus auf XSLT liegt, wird im weiteren Verlauf auf die Definition von DTDs verzichtet, da diese wichtigen Platz wegnehmen würden. Die XML-Datei sieht folgendermaßen aus: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE welt SYSTEM "welt.dtd"> <?xml-stylesheet type="text/xsl" href="welt.xsl"?> <welt>hallo, Welt!</welt> schnell + kompakt 21

22 1 Die Idee hinter XSLT Nachdem über das DOCTYPE-Element die externe DTD eingebunden wurde, wird eine Processing Instruction definiert. Hier werden der Typ (type) der einzubindenden Datei und deren Pfad und Dateiname (href) angegeben. Es handelt sich dabei um eine Anweisung für die verarbeitende Software (zum Beispiel den Browser). Von besonderem Interesse für dieses Buch ist nun freilich der Aufbau der XSL-Datei welt.xsl. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <html> <head> </head> <body> <h1> <xsl:value-of select="." /> </h1> </body> </html> </xsl:template> </xsl:stylesheet> Ein Blick auf die einzelnen Bereiche der Datei soll die Syntax veranschaulichen. Da auch XSL-Dateien XML-gerechte Dateien sind, werden diese mit einer XML-Deklaration eingeleitet. <?xml version="1.0" encoding="utf8"?> 22

23 Der Schnelleinstieg: Hallo, XSLT! Die gesamte XSL-Datei ist in folgendes Element eingeschlossen: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" Transform"> </xsl:stylesheet> Die Notation ist die typische Schreibweise, wenn innerhalb einer Datei mehrere Namensräume verwendet werden. Bei XSLT-Dokumenten ist auf jeden Fall der Namensraum für XSLT anzugeben. Zusätzlich können sie die Namensräume für XML Schema und XPath definieren. In diesem Fall müsste das einleitende <xsl:stylesheet>-element erweitert werden. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl= 1999/XSL/Transform xmlns:xs= XMLSchema xmlns:fn= xmlns:xdt=" Der wichtigste Bestandteil von XSLT-Dokumenten sind Templates. In Templates wird die gesamte Ausgabe definiert. Über das match-attribut gibt man an, welches XML-Dokument transformiert werden soll. Bei dem Attributwert handelt es sich um einen XPath-Ausdruck. Durch match="/" wird das Wurzelelement beschrieben. Es handelt sich also um das zentrale Template. <xsl:template match="/"> </xsl:template> schnell + kompakt 23

24 1 Die Idee hinter XSLT Um innerhalb eines Stylesheet auf Werte zuzugreifen, wird das select-attribut des Elements <xsl:value-of> verwendet. <xsl:value-of select="." /> Diese Syntax wählt den Knoten aus, dessen Inhalt angezeigt werden soll. Wenn Sie die XML-Datei in einem geeigneten Browser aufrufen, sehen Sie, dass das Stylesheet greift und die XML- Struktur formatiert ausgegeben wird. Abb. 1.3: Der gewünschte Knoten wird ausgegeben Auf diese Weise können Sie die Beispiele aus diesem Buch nachvollziehen und sehen immer sofort, ob sich in Ihre XSLT-Datei der Fehlerteufel eingeschlichen hat. Denn erkennt der Parser einen Syntaxfehler, macht er Sie augenblicklich darauf aufmerksam. Der Internet Explorer meldet sich zum Beispiel folgendermaßen: 24

25 Der Schnelleinstieg: Hallo, XSLT! Abb. 1.4: Der Internet Explorer hat einen Syntaxfehler entdeckt. So sehen Sie in aller Regel recht gut, wo der Fehler steckt, und können ihn problemlos beseitigen. Im aktuellen Beispiel moniert der Parser, dass das Anfangstag <text1> nicht mit dem Endtag <text> übereinstimmt. schnell + kompakt 25

26

27 KAPITEL 2 Ohne XPath geht es nicht 2.1 Mit Knoten arbeiten Adressierung Operatoren einsetzen 42 Ein XSLT-Buch zu schreiben, ohne auf XPath einzugehen, ist praktisch unmöglich. XPath ist eine Sprache, mit der auf die Elemente von XML-Dokumenten zugegriffen werden kann. Wie eng die XML Path Language ( mit XSLT verbunden ist, macht ein Faktor besonders deutlich: Beide Standards wurden zum gleichen Zeitpunkt vom W3C verabschiedet. Haupteinsatzzweck von XPath ist die Adressierung von Elementen in XSLT-Dokumenten. Im Zusammenhang mit XSLT hat XPath die folgenden Aufgaben: Adressierung von Daten Definition logischer Ausdrücke Zusätzliche Funktionen bereitstellen Darüber hinaus wird XPath auch in anderen Standards wie zum Beispiel der XML-Abfragesprache XQuery eingesetzt. Das Kernkonzept bilden die sogenannten Pfadausdrücke. Durch die können Knoten anhand ihrer Eigenschaften und der Eigenschaften benachbarter Knoten beschrieben werden. schnell + kompakt 27

28 2 Ohne XPath geht es nicht Hinweis XPath ist übrigens nicht nur ein wichtiger Bestandteil von XSLT, sondern wird auch in anderen Bereichen wie zum Beispiel XPointer eingesetzt. 2.1 Mit Knoten arbeiten Wie XSLT und XML sieht auch XPath die einzelnen Elemente (Attribute, Elemente, Kommentare usw.) von Dokumenten als Knoten an. Innerhalb von XPath gibt es sieben verschiedene Knotentypen. Die Knotentypen selbst sind nicht unmittelbarer Bestandteil der Adressierungssyntax von XPath, allerdings ist es hilfreich, die Begriffe zu kennen. Root-Knoten (root node) die Wurzel des XML-Dokuments. Der Wurzelknoten ist selbst kein Element, sondern lediglich die abstrakte Ursprungswurzel der Baumstruktur des Dokuments. Elementknoten (elements node) jedes Element stellt aus Sicht von XPath einen Elementknoten dar. Um den Zugriff auf ein Element zu erleichtern, kann es mit einer ID eindeutig beschrieben werden. Der erweiterte Name eines Elementknotens ist der Elementname selbst. Der Textwert ist der Textwert des Elements und seiner Kinder. Attributknoten (attribute node) jedes Attribut, das zu einem Element gehört, ist ein Attributknoten. Anders als beim DOM ist ein Attributknoten hier aber kein Kind des Elements. Attribute können dementsprechend auch nicht als Kinder eines Elements angesprochen werden. Der erweiterte Name des Knotens ist der Attributname mit eventuell vorhandenem Präfix. Der Textwert des Knotens ist der Attributwert. Kommentarknoten (comment node) jeder Kommentar ist ein Kommentarknoten. Kommentarknoten besitzen keinen erwei- 28

29 Mit Knoten arbeiten terten Namen. Alles, was zwischen <!-- und --> steht, ist der Textwert des Knotens. Namensraumknoten (namespace node) Elemente und Attribute können Angaben zum Namensraum enthalten, wenn entsprechende Namensräume in die XML-Datei importiert werden. Namensraumknoten sind alle Attributknoten mit dem Namen xmlns oder dem Präfix xmlns. Ebenso sind alle Knoten Namensraumknoten, wenn ein Vorfahrenelement das Präfix xmlns besitzt. (Dieses darf vorher allerdings nicht aufgehoben worden sein.) Der erweiterte Name eines Namensraumknotens ist der lokale Name des Namensraums. Der Textwert ist der entsprechende URI, mit dem der Namensraum verbunden wurde. Processing-Instruction-Knoten (processing instruction node) Verarbeitungsanweisungen stehen außerhalb des eigentlichen Dokumentbaums. Verarbeitungsanweisungen beginnen mit <? und enden mit?>. Aus Sicht von XPath sind sie ein eigener Knotentyp. Die XML-Deklaration <?xml version="1.0"?> zu Beginn von XML-Elementen ist in diesem Sinn allerdings keine Verarbeitungsanweisung. Textknoten sämtlicher Inhalt des Dokuments, der nicht zu einem der zuvor genannten Knoten gehört, ist ein Textknoten. Neben dem reinen Text gehören auch CDATA-Abschnitte zu den Textknoten. Diese werden in normalen Text umgewandelt und nicht etwa als Elementknoten betrachtet. Textknoten besitzen keinen erweiterten Namen. Am besten lassen sich die XPath-Elemente anhand eines einfachen Beispiels vorstellen. Als Ausgangsbasis dient folgende XML-Datei: <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="bibliothek.xsl"?> schnell + kompakt 29

30 2 Ohne XPath geht es nicht <bibliothek> <autor id="a1" land="eng"> <vorname>nick</vorname> <nachname>hornby</nachname> </autor> <autor id="a2" land="usa"> <vorname>bret Easton</vorname> <nachname>ellis</nachname> </autor> </bibliothek> Zur Ausgabe wird ein ebenso einfaches XSLT-Stylesheet verwendet. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="html" encoding="utf-8" indent="yes" /> <xsl:template match="autor"> <xsl:value-of select="."/> <br /> </xsl:template> </xsl:stylesheet> In diesem Stylesheet wird nur das Template für die Autoren aufgerufen. Über <xsl:value-of> werden die XPath-Aufrufe variiert. Der im aktuellen Beispiel verwendete Punkt steht für den aktuellen Knoten, hier also für die gesamte XML-Struktur des <autor>-elements. Wollen Sie nun nicht auf den ersten, sondern einen untergeordneten Knoten zugreifen, verwenden Sie dessen Knotennamen. 30

31 Mit Knoten arbeiten <xsl:value-of select="vorname"/> Ebenso ist auch der Zugriff auf Unterknoten möglich. Angenommen, unterhalb von <vorname> würde sich das Element <zweitervorname> befinden. Dann sähe die Syntax folgendermaßen aus: vorname/zweitervorname Sämtliche Knoten eines Elements stehen in einer bestimmten Beziehung zueinander. XPath verwendet für die Darstellung dieser Beziehung Verwandtschaftsgrade. Ein übergeordneter Knoten ist der Elternknoten (parent). Bis auf das Wurzelement besitzt jedes Element einen Elternknoten. Vorfahren sind die Elternknoten, Elternknoten von Elterknoten und so weiter (ancestors). Untergeordnete Knoten sind Kindknoten (child). Untergeordnete Kindknoten sind Kindknoten (decendants). Geschwisterknoten sind Knoten, die den gleichen Elternknoten haben (siblings). Über spezielle XPath-Ausdrücke kann auf einzelne Knoten zugegriffen werden. Hier sind Adressierung und Achsen entscheidend. Achsen Ein weiteres Kernkonzept neben der Adressierung (die im nächsten Abschnitt vorgestellt wird) von Knoten sind Achsen. Die Achse legt fest, in welche Richtung Elemente ausgewählt werden. Wobei mit Richtung hier die Richtung im Knotenbaum gemeint ist. Es gibt Knoten, die von anderen Knoten abhängig sind, und solche, die auf der gleichen Ebene liegen. Es gibt in XPath schnell + kompakt 31

32 2 Ohne XPath geht es nicht verschiedene Begriffe wie Eltern und Kind, die als Achsen (axes) bezeichnet werden. Zunächst eine ganz typische Syntax, die sich wieder auf das bekannte Autoren-Beispiel bezieht: <xsl:value-of select="child::vorname"/> Diese Syntax liefert alle Kindknoten mit dem Elementnamen vorname. Die folgende Tabelle gibt einen Überblick über die in XPath verfügbaren Achsen. In der Tabelle wird auf folgendes Beispiel zurückgegriffen: <a> <b> <c /> </b> <b> <c /> </b> <b> <c /> </b> </a> Und hier die verfügbaren Achsen: Tabelle 2.1: Die verfügbaren Achsen Achse Attribut (attribute) Beschreibung Attribute haben eine Sonderstellung und werden nicht in das Schema child, parent, descendant und ancestor eingefügt. Bei einer angenommenen Struktur von <a b= att > ist b das Attribut von <a>. 32

33 Mit Knoten arbeiten Tabelle 2.1: Die verfügbaren Achsen (Forts.) Achse Kind (child) Elternknoten (parent) Nachkommen (descendant) Vorfahr (ancestor) Nachfolgende Knoten (following) Vorherige Geschwisterknoten (preceding-sibling) Nachfolgende Geschwisterknoten (following-sibling) Namensraum (namespace) Der aktuelle Knoten (self) Nachkomme oder der aktuelle Knoten (descendant-or-self) Beschreibung Element <b> ist aus Sicht von <a> ein Kindelement. Element <a> ist aus Sicht von <b> der Elternknoten. Die Elemente <c> und <b> sind aus Sicht von <a> Nachkommen. Aus Sicht von <c> sind die Elemente <a> und <b> Vorfahren. Aus Sicht des ersten <c>-elements sind das zweite <b>- und das zweite <c>-element nachfolgende Knoten. Aus Sicht des dritten <c>-elements ist das zweite <c>-element ein Geschwisterknoten, nicht aber das erste <c>-element. Aus Sicht des ersten <c>- ist das zweite <c>-element ein nachfolgender Geschwisterknoten, nicht aber das dritte <c>-element. Bei dem angenommenen Element <name:a> ist name aus Sicht von a der Namensraum. Wird das Element <a> gerade vom XSLT-Prozessor bearbeitet, hat es in diesem Moment den Status self. Wird das Element <a> gerade vom XSLT-Prozessor bearbeitet, dann haben <a> und das nachfolgende <b> den Status descendant-or-self. schnell + kompakt 33

34 2 Ohne XPath geht es nicht Tabelle 2.1: Die verfügbaren Achsen (Forts.) Achse Vorfahre oder der aktuelle Knoten (ancestor-or-self) Beschreibung Wird das Element <b> gerade vom XSLT-Prozessor bearbeitet, dann haben <b> und das vorhergehende <a> den Status descendant-or-self. Hinweis Beachten Sie, dass nach dem Achsennamen zwei Doppelpunkte notiert werden müssen. Nur so kann der Parser zwischen einem Elementnamen und dem Achsennamen unterscheiden. 2.2 Adressierung Um auf Knoten zeigen zu können, wird vom aktuellen Knoten ausgehend ein bestimmter Pfad definiert. Dem folgt der Interpreter, um zum entsprechenden Knoten oder der entsprechenden Knotenmenge zu kommen. In XPath wird zwischen ausführlicher und verkürzter Notation unterschieden. Bei der ausführlichen Variante werden die vollständigen Achsenbezeichnungen verwendet. /child::autor/child::buch/attribute::titel Sie können aber auch allen Ballast weglassen und sich ausschließlich auf die Elemente konzentrieren. Das verkürzte Gegenstück für das gezeigte Beispiel sieht folgendermaßen aus: 34

35 Adressierung Für welche dieser beiden Varianten Sie sich letztendlich entscheiden, ist Geschmackssache. Effizienter ist aber natürlich die verkürzte Notation. Gerade wenn Sie am Anfang Ihrer XPath-Karriere stehen, kann Ihnen die ausführliche Notation aber helfen, den Überblick zu behalten. Absolute und relative Pfade Neben der ausführlichen und der verkürzten Notation gibt es auch zwei verschiedene Varianten, wenn es darum geht, Pfade zu bestimmen. XPath kennt absolute und relative Pfade. Bei einem relativen Pfad wird von dem Knoten ausgegangen, an dem sich der Interpreter aktuell befindet. Befindet sich der Interpreter also gerade innerhalb des Elementbaums, geht der relative Pfad vom aktuellen Knoten aus und zeigt auf einen anderen Knoten innerhalb des Baums. Folgendes Beispiel dient als Ausgangspunkt für weitere Erklärungen: <bibliothek> <autoren> <autor id="a1" land="eng"> <vorname>nick</vorname> <nachname>hornby</nachname> </autor> <autor id="a2" land="usa"> <vorname>bret Easton</vorname> <nachname>ellis</nachname> </autor> </autoren> </bibliothek> schnell + kompakt 35

36 2 Ohne XPath geht es nicht Zunächst geht es um die Adressierung der Dokumentwurzel. <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> Das Wurzelelement <bibliothek> wird über einen Schrägstrich adressiert. Im aktuellen Beispiel wird über <xsl:template> ein Template für die XML-Dokumentwurzel definiert. Innerhalb des match-attributs wird die Dokumentwurzel bestimmt. Relative Pfadangaben Es handelt sich hier um eine verschachtelte Elementstruktur. Befindet sich der Interpreter bereits bei dem Knoten <autor> und will man von dort auf den <vorname>-knoten zugreifen, verwendet man die folgende Syntax: <xsl:template match="autoren/autor"> <xsl:value-of select="../vorname" /> </xsl:template> Um das Kindelement <autor> aus Sicht des Großvaterelements <bibliothek> zu adressieren, muss im match-attribut des <xsl: template>-elements der entsprechende Pfad angegeben werden. Die verkürzte Syntax dafür lautet autoren/autor. In der ausführlichen Notation ergibt sich folgendes Bild: child::autoren/child::autor Am einfachsten versteht man das Prinzip der relativen Pfadangaben, wenn man sich bewusst macht, dass man nur den hierarchie-bestimmenden Knotennamen folgen muss. 36

37 Adressierung Absolute Pfadangaben Absolute Pfadangaben werden mit einem Schrägstrich eingeleitet, der die Dokumentwurzel repräsentiert. Alle weiteren Hierarchieebenen kennzeichnen Sie durch weitere Schrägstriche. Bei der ausführlichen Syntax werden die Knoten, über die der Pfad läuft, anhand ihrer Achsen und den entsprechenden Knotennamen beschrieben und durch zwei Doppelpunkte voneinander getrennt. <xsl:template match="/autoren/autor"> <xsl:value-of select="/autoren/autor" /> </xsl:template> Verwendet wird meistens die verkürzte Notation ohne Achsenbezeichnungen. Im gezeigten Beispiel wird über die <xsl:template>-anweisung ein Template für das Element <autor> definiert, bei dem es sich um ein Kindelement von <autoren> handelt. <autoren> wiederum ist ein Kindelement der Dokumentwurzel. Adressierung von Attributen Die Attribute von Elementen werden in XPath als Attributknoten behandelt und als eben solche adressiert. <xsl:template <xsl:text>name:</xsl:text> <xsl:value-of select="." /> </xsl:template> In diesem Beispiel wird davon ausgegangen, dass die XML-Notation <autor name="..."> existiert. schnell + kompakt 37

38 2 Ohne XPath geht es nicht Wildcards verwenden Wollen Sie mehrere Knoten auf einmal auswählen, können Sie Wildcards verwenden. <xsl:template match="bibliothek"> <xsl:value-of select="*" /> </xsl:template> Das gezeigte Beispiel bewirkt, dass alle Kindelemente von <bibliothek> auf einen Schlag ausgegeben werden. Dazu wird innerhalb der Template-Definition von <bibliothek> dem select- Attribut von <xsl-value> das Wildcard- bzw. Sternzeichen zugewiesen. Wollen Sie die ausführliche Notation verwenden, müssten Sie die Achsenbezeichnung child:: angeben. Beachten Sie, dass durch das Wildcard-Zeichen ausschließlich die nächstuntere Hierarchieebene ausgewählt wird. Wollen Sie auf alle untergeordneten Hierarchieebenen zugreifen, unabhängig von der tatsächlichen Verzweigtiefe des Baums, müssen Sie // verwenden. Positionsangaben und Bedingungen Mit absoluten und relativen Pfadangaben lässt sich nicht jedes Element ansprechen. Ein typisches Beispiel dafür könnte folgendermaßen aussehen: <bibltiothek> <autor>...</autor> <autor>...</autor> <autor>...</autor> </bibliothek> Über die Adressierung bibliothek/autor würden Sie hier lediglich auf das erste <autor>-element zugreifen. Um dieses Problem zu umgehen, könnten Sie zwar auf eine <xsl:for-each>-schleife 38

39 Adressierung zurückgreifen, aber auch das hilft nicht in jedem Fall. XPath hält für solche Zwecke spezielle Syntaxvarianten bereit, bei denen mittels Positionsangaben und Bedingungen ganz gezielt auf einzelne Elemente zugegriffen werden kann. In den folgenden Beispielen kommen einige XPath-Funktionen zum Einsatz. Ausführliche Informationen dazu finden Sie im weiteren Verlauf dieses Buchs. Hier einige Beispiele: self::bibliothek Dadurch wird das aktuelle Element adressiert allerdings nur unter der Einschränkung, dass es vom Typ <bibliothek> ist. autor[last()] Durch diese Syntax wird das letzte Kindelement vom Typ <autor> adressiert. Verwendet wird dafür die XPath-Funktion last(). autor[last()-1] Um das vorletzte Element vom Typ <autor> zu adressieren, wird diese Syntax verwendet. Auch hier kommt die last()-funktion zum Einsatz. bibliothek//autor Diese Syntax adressiert alle Elemente vom Typ <autor>, die sich aus Sicht des aktuellen Knotens unterhalb von Elementen des Typs <bibliothek> befinden. /bibliothek/autor[3]/buch[2]/seite[5] schnell + kompakt 39

40 2 Ohne XPath geht es nicht Hier wird vom dritten Autor aus dem zweiten Buch die fünfte Seite adressiert. Im letzten Beispiel wird das Kindelement <autor> adressiert. Das geschieht allerdings nur dann, wenn das Attribut land den Wert eng besitzt. Zusammengefasst werden die gezeigten Varianten unter dem Oberbegriff Prädikat. Die Knotensuche mit Knotentests verfeinern Anhand von Knotentests können Sie die Suche nach dem betreffenden Knoten bzw. der Knotenmenge noch exakter beschreiben. Es handelt sich bei Knotentests um zusätzliche Möglichkeiten zu den zuvor beschriebenen Achsendefinitionen. Die folgenden Werte können als Knotentests verwendet werden: Knotenname innerhalb der Knotenmenge wird nach dem Knoten gesucht, dessen erweiterter Name hier angegeben wurde. * alle Knoten innerhalb der Knotenmenge der Achsendefinition sollen gefunden werden. Der Name spielt dabei keine Rolle. Präfix:* oder Präfix:Name wird ein Präfix angegeben, wird nach allen Knoten aus dem Namensraum gesucht, die dem Namen entsprechen. Ebenso kann auch ein Stern angegeben werden. In diesem Fall werden dann alle Knoten des Namensraums gefunden, unabhängig von ihrem Namen. comment() wählt alle Kommentarknoten aus. text() wählt alle Textknoten aus. node() wählt Knoten eines beliebigen Typs aus. processing-instruction() wählt den Knoten aus, der die Verarbeitungsanweisung enthält. 40

41 Adressierung Wie einfach sich Knotentests einsetzen lassen, zeigt folgendes Beispiel: child::* Hierdurch werden alle Kindknoten ausgewählt. Verkürzte Syntax für den Knotenzugriff Um sich die Tipparbeit etwas zu erleichtern, hält XPath einige verkürzte Syntaxformen bereit. child::weglassen Um auf die Kindelemente des aktuellen Knotens zuzugreifen, müssen Sie nicht jedes Mal die lange Syntax child::knoten wählen, sondern Sie lassen child:: einfach weg. Die Syntax beginnt mit dem Knotennamen. Anstelle von child::knoten wird also knoten verwendet. Auch bei der Auswahl von Attributen hilft die verkürzte Schreibweise weiter. Anstelle von attribute::name setzen Sie ein. Dabei steht als Synonym für das Wort attribute. Elternknoten werden normalerweise über parent::node() angegeben. Diese Syntax lässt sich abkürzen, indem man zwei Punkte verwendet.../knoten Diese Syntax bewirkt das Gleiche wie parent::node(), ist aber um einiges kürzer. schnell + kompakt 41

42 2 Ohne XPath geht es nicht Interessant ist auch die abkürzende Schreibweise //, die anstelle von /descendant-or-self::node() verwendet wird. Durch diese Syntax können Sie den kompletten Teilbaum mit dem aktuellen Kontextknoten als Wurzel referenzieren. So sorgt die folgende Syntax dafür, dass innerhalb einer HTML-Datei alle <a>-elemente ausgewählt werden, die ein href-attribut besitzen. Überall dort, wo es möglich ist, sollten Sie die verkürzte Notation auch tatsächlich verwenden. Denn so lassen sich XSLT-Dokumente nicht nur schneller schreiben, sie sind für erfahrene Entwickler oft sogar besser zu lesen. (Einsteiger tun sich erfahrungsgemäß allerdings mit der verkürzten Syntax etwas schwer.) 2.3 Operatoren einsetzen In XPath gibt es wie in echten Programmiersprachen Operatoren. Und ebenso wie dort unterscheidet man auch in XPath zwischen verschiedenen Arten von Operatoren. Bevor die Operatoren vorgestellt werden, noch ein Wort zu den Datentypen, denen entscheidende Bedeutung zukommt. Hier die wichtigsten Datentypen, die es in XPath gibt: Zahlen Text Knoten und Knotensammlungen Boolesche Werte true (wahr) und false (falsch) Die folgende Tabelle zeigt die verfügbaren Operatoren, unterteilt nach ihren Einsatzgebieten: 42

43 Operatoren einsetzen Tabelle 2.2: XPath-Operatoren in der Übersicht Operator Beschreibung Arithmetische Operatoren * Multiplikation + Addition - Subtraktion mod Gibt den Rest einer ganzzahligen Division zurück. div Führt eine Gleitkommadivision nach IEEE 754 aus. Vergleichsoperatoren = Vergleicht zwei Werte.!= Prüft zwei Werte auf Ungleichheit. < bzw. < Prüft, ob der erste Wert kleiner als der zweite ist. > bzw. > Prüft, ob der erste Wert größer als der zweite ist. <= bzw. <= Prüft, ob der erste Wert kleiner oder gleich dem zweiten ist. >= bzw. >= Prüft, ob der erste Wert größer oder gleich dem zweiten ist. Logische Operatoren and Zwei Ausdrücke werden mit UND (beide Ausdrücke) verknüpft. or Zwei Ausdrücke werden mit ODER (einer von beiden Ausdrücken) verknüpft. Sonstige () Klammern kennzeichnen einen logischen Zusammenhang. Sie werden oft in mathematischen Berechnungen oder bei logischen Verknüpfungen eingesetzt. schnell + kompakt 43

44 2 Ohne XPath geht es nicht Tabelle 2.2: XPath-Operatoren in der Übersicht Operator Beschreibung Zwei Knoten oder Knotenmengen werden zu einer Knotenmenge verbunden. / Verbindet einen Ausdruck zu einem relativen Pfad. Der Einsatz der Operatoren ist denkbar einfach und wird Ihnen auch in diesem Buch noch an mehreren Stellen begegnen. Einen ersten Eindruck vermittelt folgendes Beispiel, in dem die beiden logischen Operatoren and und or eingesetzt werden: autor[(buch or zeitschrift) and publiziert] Die Angabe bezieht sich auf alle <autor>-elemente mit mindestens einem <buch>- oder <zeitschrift>-element und mindestens einem <publiziert>-element. Je nach Parser müssen die beiden Operatoren < und > mit ihren Entitäten angeben werden. Anstelle von < notieren Sie < und anstelle von > schreiben Sie >. Variablen In XPath selbst können keine Variablen definiert werden. Allerdings lassen sich die in XSLT definierten Variablen verwenden. (Mehr zu XSLT-Variablen erfahren Sie ab Seite 95.) Auf den Wert einer Variable können Sie zugreifen, indem Sie vor den Variablennamen ein Dollarzeichen setzen. Angenommen, in XSLT wurde folgende Variable definiert: <xsl:variable name="aname"> Nick Hornby </xsl:variable> 44

45 Operatoren einsetzen Über $aname können Sie nun auf den Wert dieser Variable zugreifen und erhalten den Wert Nick Hornby. Funktionen gekonnt einsetzen Über die XPath-Funktionen lässt sich die Transformation der XML-Ausgangsdaten in den Ergebnisbaum steuern. Zudem stellen sie zusätzliche Features zur Verfügung. Gedacht sind die Funktionen für den Einsatz in XSLT-Stylesheets. Die Syntax ist immer identisch. Hinter dem Funktionsnamen folgen zwei Klammern, in denen sogenannte Argumente stehen können. Bevor die einzelnen Funktionen vorgestellt werden, ein Beispiel für die Verwendung von XPath-Funktionen: <xsl:template match="autor:*"> <div> <p>name des Knotens: <b> <xsl:value-of select="name(.)" /> </b> </p> <p>local-name: <b> <xsl:value-of select=" local-name(.)" /> </b> </p> <p>inhalt:<b> <xsl:apply-templates /> </b> </p> </div> </xsl:template> schnell + kompakt 45

46 2 Ohne XPath geht es nicht In dieser Syntax kommen die beiden Funktionen name() und local-name() zum Einsatz. Während über name() der Name eines Knotensets ermittelt wird, liest local-name() den lokalen Namen eines Knotensets aus. Viele Funktionen erwarten Argumente. In den folgenden Tabellen sind diese innerhalb der Klammern hinter den Funktionsnamen aufgeführt. So bedeutet die Angabe count(knotenmenge), dass die Funktion count() als Argument eine Knotenmenge erwartet, was in der Praxis dann zum Beispiel so aussehen könnte: count(//autor) Da die Funktionen einen Wert zurückliefern, werden sie innerhalb von XSLT hauptsächlich dort verwendet, wo Attributen Werte zugewiesen werden. So könnte zum Beispiel das XSLT- Element <xsl:value-of> folgendermaßen notiert werden: <xsl:value-of select="last()" /> Hierdurch wird dem select-attribut ein Wert zugewiesen. Dabei handelt es sich allerdings nicht um einen festen Wert, sondern um einen dynamisch ermittelten. Und zwar wird durch last() die Positionsnummer des letzten Knotens einer Reihe ermittelt. Beachten Sie, dass nicht jeder XSLT-Prozessor alle Funktionen unterstützt. Auf den folgenden Seiten werden die in XPath definierten Funktionen vorgestellt. 46

47 Operatoren einsetzen Für Knotenmengen Tabelle 2.3: XPath-Funktionen für Knotenmengen Funktion Rückgabewert Beschreibung count(knotenmenge) Zahl Ermittelt die Anzahl der auf der Ebene unterhalb eines Knotensets enthaltenen Knoten. id(objekt) Knotenmenge Ergibt die Menge aller Knoten, die die Elemente des Dokuments enthält, deren Attribut in einer DTD als Attributtyp ID definiert wurde. last() Zahl Ergibt die Anzahl der Knoten in der Kontextknotenliste. local-name String Aus einem Knotennamen (Knotenmenge) mit Namensraumangabe wird der lokale Namensteil ermittelt. Aus xhtml:cite wird so cite. name(knotenmenge) namespaceuri(knotenmenge) String Ermittelt den vollständigen Namen eines Knotensets, gegebenenfalls mit Angabe des XML- Namensraums. String Ermittelt den URI für die DTD zum verwendeten Namensraum. schnell + kompakt 47

48 2 Ohne XPath geht es nicht Für Zahlen Tabelle 2.4: XPath-Funktionen für Zahlen Funktion Rückgabewert Beschreibung ceiling(zahl) Zahl Angewandt auf X, liefert die Funktion die kleinste Zahl, die größer oder gleich X ist. floor(zahl) Zahl Rundet eine Bruchzahl zur basierenden Ganzzahl ab. number(objekt) Zahl Konvertiert ein Objekt in eine Zahl. Strings, die mit einer Zahl beginnen, werden in diese Zahl konvertiert. Andere Strings werden in NaN (Not a Number) konvertiert. true wird in 1, false in 0 umgewandelt. Bei Knotenmengen wird zunächst der String-Wert des ersten Knotens der Menge ermittelt und anschließend in eine Zahl umgewandelt. round(zahl) Zahl Rundet eine Bruchzahl zur nächstgelegenen Ganzzahl auf. sum(knotenmenge) Zahl Ermittelt die Gesamtsumme der Zahlenwerte des Ausgangsknotens. 48

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

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

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

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

Ü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

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

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

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

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Jochen Bartlau. List & Label. schnell + kompakt

Jochen Bartlau. List & Label. schnell + kompakt Jochen Bartlau List & Label Jochen Bartlau List & Label ISBN 978-3-939084-68-6 2007 entwickler.press, ein Imprint der Software & Support Verlag GmbH 1. Auflage, 2007 http://www.entwickler-press.de http://www.software-support.biz

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

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

OP-LOG www.op-log.de

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

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

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

Mehr

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

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

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

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

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

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

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

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

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

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH

DriveLock 6. DriveLock und das Windows Sicherheitsproblem mit LNK Dateien. CenterTools Software GmbH 6 DriveLock und das Windows Sicherheitsproblem mit LNK Dateien CenterTools Software GmbH 2010 Copyright Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderen Verweisen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten

Mehr

ecall sms & fax-portal

ecall sms & fax-portal ecall sms & fax-portal Beschreibung des Imports und Exports von Adressen Dateiname Beschreibung_-_eCall_Import_und_Export_von_Adressen_2015.10.20 Version 1.1 Datum 20.10.2015 Dolphin Systems AG Informieren

Mehr

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

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

Mehr

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

XSL Transformation. Eine praxisorientierte Einführung Philip Heck XSL Transformation Eine praxisorientierte Einführung Philip Heck Agenda Motivation Hello World - Getting Started with XSLT XSLT Verarbeitung im Detail XPath 2 Motivation datenzentriertes XML als Standard

Mehr

Das Einsteigerseminar

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

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher.

Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Ein Tool zum Konvertieren von Pegasus Mail Adressbüchern und Verteilerlisten in Novell Groupwise Adressbücher. Inhalt 1. Konvertieren von Adressbüchern und Verteilerlisten 1.1 Grundlagen 1.2 Adressbücher

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

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

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

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

SANDBOXIE konfigurieren

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

Mehr

Flash Videos einbinden

Flash Videos einbinden Flash Videos einbinden Im Kapitel Videos einbinden ( - ) haben Sie gesehen, wie man einfach und ohne Zusatzprogramme kleine Videoclips auf seiner einbinden kann. Ich persönlich würde jedem dieses Verfahren

Mehr

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

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

Mehr

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

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

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

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

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Einführung in PHP. (mit Aufgaben)

Einführung in PHP. (mit Aufgaben) Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

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

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

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Funktion Erläuterung Beispiel

Funktion Erläuterung Beispiel WESTFÄLISCHE WILHELMS-UNIVERSITÄT WIRTSCHAFTSWISSENSCHAFTLICHE FAKULTÄT BETRIEBLICHE DATENVERARBEITUNG Folgende Befehle werden typischerweise im Excel-Testat benötigt. Die Beispiele in diesem Dokument

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

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

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen Typo3 - Inhalte 1. Gestaltung des Inhaltsbereichs Das Layout der neuen TVA Website sieht neben dem grafischen Rahmen und den Navigations-Elementen oben und links einen grossen Inhaltsbereich (graue Fläche)

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

FIS: Projektdaten auf den Internetseiten ausgeben

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

Mehr

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

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

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

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

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

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

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

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

Mehr

Übung: Verwendung von Java-Threads

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

Mehr

Dokumentation von Ük Modul 302

Dokumentation von Ük Modul 302 Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge

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

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Dateiname: ecdl_p2_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 2 Tabellenkalkulation

Mehr

Installationsanweisung Gruppenzertifikat

Installationsanweisung Gruppenzertifikat Stand: November 2015 Inhalt 1. Allgemeine Hinweise... 1 2. Vor der Installation... 1 3. Installation des Gruppenzertifikats für Internet Explorer... 2 3.1. Überprüfung im Browser... 7 3.2. Zertifikatsbestätigung

Mehr

Serien-eMail mit oder ohne Anhang

Serien-eMail mit oder ohne Anhang Serien-eMail mit oder ohne Anhang Sie können im WohnungsManager sowohl objektübergreifend als auch in einem Objekt Serien-eMails versenden. Die Serien-eMail ist für SMTP (Short Message Tranfer Protocol)

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

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

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

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Eine Einführung in die Installation und Nutzung von cygwin

Eine Einführung in die Installation und Nutzung von cygwin Eine Einführung in die Installation und Nutzung von cygwin 1 1. Woher bekomme ich cygwin? Cygwin ist im Internet auf http://www.cygwin.com/ zu finden. Dort lädt man sich die setup.exe in ein beliebiges

Mehr

Lernwerkstatt 9 privat- Freischaltung

Lernwerkstatt 9 privat- Freischaltung Was tun, wenn mein Rechner immer wieder die Freischaltung der Lernwerkstatt 9 privat verliert und ich die Ursache dafür nicht finden kann? Normalerweise genügt es, genau eine einzige online-freischaltung

Mehr

1 Dokumentenmanagement

1 Dokumentenmanagement 1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise

Mehr

2. Word-Dokumente verwalten

2. Word-Dokumente verwalten 2. Word-Dokumente verwalten In dieser Lektion lernen Sie... Word-Dokumente speichern und öffnen Neue Dokumente erstellen Dateiformate Was Sie für diese Lektion wissen sollten: Die Arbeitsumgebung von Word

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

HTML Programmierung. Aufgaben

HTML Programmierung. Aufgaben HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

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

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Grundfunktionen und Bedienung

Grundfunktionen und Bedienung Kapitel 13 Mit der App Health ist eine neue Anwendung in ios 8 enthalten, die von vorangegangenen Betriebssystemen bislang nicht geboten wurde. Health fungiert dabei als Aggregator für die Daten von Fitness-

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

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

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

Mehr

Benutzer-Handbuch. Import / Export von Adressen

Benutzer-Handbuch. Import / Export von Adressen Benutzer-Handbuch Import / Export von Adressen 1.00 / 25.07.2005 Copyright (2000-2003) Alle Rechte vorbehalten Dolphin Systems Samstagernstr. 45 CH-8832 Wollerau Inhaltsverzeichnis Einleitung... 2 Voraussetzungen

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

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

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

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Installation von Updates

Installation von Updates Installation von Updates In unregelmässigen Abständen erscheinen Aktualisierungen zu WinCard Pro, entweder weil kleinere Verbesserungen realisiert bzw. Fehler der bestehenden Version behoben wurden (neues

Mehr

ACL-Skript: GDPdU-Datenübernahme

ACL-Skript: GDPdU-Datenübernahme ACL-Skript: GDPdU-Datenübernahme 1 Ziel und Inhalt des Skriptes Das beigefügte ACL-Skript GDPdU_1x ermöglicht es, Daten, die über eine GDPdU- Schnittstelle mit begleitender XML-Datei transferiert wurden,

Mehr

Betriebshandbuch. MyInTouch Import Tool

Betriebshandbuch. MyInTouch Import Tool Betriebshandbuch MyInTouch Import Tool Version 2.0.5, 17.08.2004 2 MyInTouch Installationshandbuch Inhaltsverzeichnis Inhaltsverzeichnis... 2 Bevor Sie beginnen... 3 Einleitung...3 Benötigte Daten...3

Mehr

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen

Schnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen Schnelleinstieg Datenimport für die EXPOSÉ - Familie Import von Adress / Objektdaten aus MS Excel = Datenintegration aus anderen Lösungen node Systemlösungen e.k. Kantstr. 149 10623 Berlin Tel: +49 30

Mehr