
XML für Webentwickler
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Person
Content
2 - 1 XML - ein Blick zurück und voraus [Seite 12]
2.1 - 1.1 Die Idee hinter XML [Seite 12]
2.2 - 1.2 Das Prinzip der Metasprachen [Seite 15]
2.2.1 - 1.2.1 Multimedia ist Trumpf mit SMIL [Seite 17]
2.2.2 - 1.2.2 Mit WML alles fürs Handy [Seite 18]
2.2.3 - 1.2.3 Vektorgrafiken mit SVG [Seite 18]
2.2.4 - 1.2.4 Silverlight [Seite 19]
2.3 - 1.3 Die Einsatzgebiete von XML [Seite 20]
2.3.1 - 1.3.1 AJAX [Seite 20]
2.3.2 - 1.3.2 Web-Services [Seite 22]
2.3.3 - 1.3.3 Druckindustrie [Seite 23]
2.3.4 - 1.3.4 Konfigurationsdateien [Seite 24]
2.4 - 1.4 XML und das semantische Web [Seite 25]
2.4.1 - 1.4.1 Was Semantik bringt [Seite 25]
2.5 - 1.5 XML-Editoren im Einsatz [Seite 30]
2.5.1 - 1.5.1 XMLSpy [Seite 31]
2.5.2 - 1.5.2 XMLBlueprint [Seite 31]
3 - 2 Die XML-Grundlagen [Seite 34]
3.1 - 2.1 Hallo, Welt zum Einstieg [Seite 34]
3.2 - 2.2 Die XML-Deklaration [Seite 38]
3.2.1 - 2.2.1 Den verwendeten Zeichensatz angeben [Seite 38]
3.2.2 - 2.2.2 Angaben zur Dokumenttypdefinition [Seite 40]
3.3 - 2.3 Elemente definieren [Seite 41]
3.3.1 - 2.3.1 Leere Elemente kennzeichnen [Seite 43]
3.3.2 - 2.3.2 Fehlerquelle verschachtelte Elemente [Seite 43]
3.3.3 - 2.3.3 Elemente mit Attributen detaillierter beschreiben [Seite 45]
3.3.4 - 2.3.4 Was ist besser: Elemente oder Attribute? [Seite 48]
3.3.5 - 2.3.5 Reservierte Attribute [Seite 49]
3.4 - 2.4 XML-eigene Zeichen maskieren: Entitäten [Seite 50]
3.5 - 2.5 Zeit sparen mit CDATA-Abschnitten [Seite 53]
3.6 - 2.6 Kommentare für übersichtlichen Code [Seite 55]
3.7 - 2.7 Verarbeitungsanweisungen (Processing Instructions) [Seite 56]
3.8 - 2.8 Namensräume definieren [Seite 57]
3.8.1 - 2.8.1 Den Standardnamensraum angeben [Seite 59]
3.8.2 - 2.8.2 Das Namensraumpräfix [Seite 60]
3.9 - 2.9 Das Prinzip der Wohlgeformtheit [Seite 61]
4 - 3 Dokumenttypen beschreiben [Seite 66]
4.1 - 3.1 Dokumenttypdefinitionen [Seite 66]
4.2 - 3.2 Die Dokumenttypdeklaration [Seite 68]
4.2.1 - 3.2.1 Externe DTDs verwenden [Seite 69]
4.2.2 - 3.2.2 Bedingte Abschnitte [Seite 71]
4.3 - 3.3 Elemente beschreiben: Elementtypdeklarationen [Seite 72]
4.3.1 - 3.3.1 Ein Beispiel für eine DTD [Seite 72]
4.3.2 - 3.3.2 Elemente, die weitere Elemente enthalten [Seite 73]
4.3.3 - 3.3.3 Elemente mit Zeichendaten [Seite 73]
4.3.4 - 3.3.4 Containerelemente verwenden [Seite 74]
4.3.5 - 3.3.5 Leere Elemente [Seite 75]
4.3.6 - 3.3.6 Inhaltsalternativen angeben [Seite 75]
4.3.7 - 3.3.7 Elemente mit beliebigem Inhalt [Seite 77]
4.3.8 - 3.3.8 Elemente mit gemischtem Inhalt [Seite 77]
4.3.9 - 3.3.9 Das Inhaltsmodell und die Reihenfolge [Seite 78]
4.3.10 - 3.3.10 Kommentare erhöhen die Übersichtlichkeit [Seite 79]
4.4 - 3.4 Attribute beschreiben: Attributlistendeklarationen [Seite 80]
4.4.1 - 3.4.1 Attributtypen und Vorgaberegelungen [Seite 81]
4.5 - 3.5 Auf andere Elemente verweisen [Seite 87]
4.6 - 3.6 Entitäten - Kürzel verwenden [Seite 87]
4.6.1 - 3.6.1 Interne Entitäten [Seite 88]
4.6.2 - 3.6.2 Externe Entitäten [Seite 90]
4.6.3 - 3.6.3 Notationen und ungeparste Entitäten [Seite 92]
4.6.4 - 3.6.4 Parameterentitäten einsetzen [Seite 93]
4.7 - 3.7 DTD-Tipps für die Praxis [Seite 95]
4.7.1 - 3.7.1 Elemente oder Attribute [Seite 95]
4.7.2 - 3.7.2 Parameterentitäten [Seite 95]
4.7.3 - 3.7.3 Mögliche Gründe für eine DTD [Seite 96]
4.7.4 - 3.7.4 Hier lohnen sich DTDs nicht [Seite 96]
5 - 4 Dokumenttypdefinition reloaded:XML Schema [Seite 98]
5.1 - 4.1 Die Idee hinter XML Schema [Seite 98]
5.1.1 - 4.1.1 Die Nachteile von DTDs [Seite 101]
5.1.2 - 4.1.2 Anforderungen an XML Schema [Seite 102]
5.2 - 4.2 Die Grundstruktur [Seite 103]
5.2.1 - 4.2.1 XML Schema validieren [Seite 105]
5.2.2 - 4.2.2 Schema und Dokument verknüpfen [Seite 106]
5.3 - 4.3 Mit Kommentaren arbeiten [Seite 107]
5.4 - 4.4 Elementnamen und Elementtypen [Seite 107]
5.4.1 - 4.4.1 Elementtypen [Seite 108]
5.4.2 - 4.4.2 Attributdefinitionen [Seite 112]
5.5 - 4.5 Datentypen [Seite 113]
5.5.1 - 4.5.1 Alle Datentypen in der Übersicht [Seite 114]
5.5.2 - 4.5.2 Von Werteräumen, lexikalischen Räumen und Facetten [Seite 118]
5.5.3 - 4.5.3 Ableitungen durch Einschränkungen [Seite 119]
5.5.4 - 4.5.4 Facetten verwenden [Seite 120]
5.5.5 - 4.5.5 Mit regulären Ausdrücken arbeiten [Seite 123]
5.6 - 4.6 Die Dokumentstruktur definieren [Seite 127]
5.6.1 - 4.6.1 Elemente deklarieren [Seite 127]
5.6.2 - 4.6.2 Attribute deklarieren [Seite 128]
5.6.3 - 4.6.3 Elementvarianten [Seite 129]
5.6.4 - 4.6.4 Namensräume verwenden [Seite 130]
5.6.5 - 4.6.5 Mit lokalen Elementen und Attributen arbeiten [Seite 133]
5.6.6 - 4.6.6 Globale Elemente und Attribute [Seite 136]
5.7 - 4.7 Häufigkeitsbestimmungen [Seite 137]
5.8 - 4.8 Kompositoren einsetzen [Seite 140]
5.8.1 - 4.8.1 xsd:all [Seite 140]
5.8.2 - 4.8.2 xsd:choice [Seite 141]
5.8.3 - 4.8.3 xsd:sequence [Seite 141]
5.8.4 - 4.8.4 Modellgruppen verschachteln [Seite 141]
5.9 - 4.9 Mit benannten Modellgruppen arbeiten [Seite 142]
5.9.1 - 4.9.1 Attributgruppen definieren [Seite 143]
5.10 - 4.10 Schlüsselelemente und deren Bezüge [Seite 144]
5.10.1 - 4.10.1 Die Eindeutigkeit von Elementen [Seite 145]
5.10.2 - 4.10.2 Auf Schlüsselelemente Bezug nehmen [Seite 146]
5.11 - 4.11 Komplexe Datentypen ableiten [Seite 147]
5.11.1 - 4.11.1 Komplexe Elemente erweitern [Seite 147]
5.11.2 - 4.11.2 Komplexe Elemente einschränken [Seite 148]
5.11.3 - 4.11.3 Datentypen steuern und ableiten [Seite 149]
5.11.4 - 4.11.4 Abstraktionen [Seite 150]
5.11.5 - 4.11.5 Gemischte Inhalte [Seite 151]
5.11.6 - 4.11.6 Leeres Inhaltsmodell [Seite 152]
5.12 - 4.12 Die Möglichkeiten der Wiederverwendbarkeit [Seite 153]
5.12.1 - 4.12.1 Benannte Typen [Seite 153]
5.12.2 - 4.12.2 Referenzen verwenden [Seite 154]
5.13 - 4.13 Schemeta inkludieren und importieren [Seite 154]
5.13.1 - 4.13.1 Schemata inkludieren [Seite 154]
5.13.2 - 4.13.2 xsd:redefine einsetzen [Seite 155]
5.13.3 - 4.13.3 Das xsd:import-Element verwenden [Seite 156]
5.14 - 4.14 Das Schema dem XML-Dokument zuordnen [Seite 156]
6 - 5 XPath, XPointer und XLink [Seite 158]
6.1 - 5.1 XPath - alles zum Adressieren [Seite 158]
6.1.1 - 5.1.1 Die Idee hinter XPath [Seite 159]
6.1.2 - 5.1.2 Mit Knoten arbeiten [Seite 164]
6.1.3 - 5.1.3 Achsen - die Richtung der Elementauswahl [Seite 167]
6.1.4 - 5.1.4 Adressierung von Knoten [Seite 168]
6.1.5 - 5.1.5 Der Unterschied zwischen absoluten und relativen Pfaden [Seite 169]
6.1.6 - 5.1.6 Verkürzte Syntaxformen verwenden [Seite 174]
6.1.7 - 5.1.7 Variablen einsetzen [Seite 177]
6.1.8 - 5.1.8 Auch Funktionen gibt es [Seite 177]
6.2 - 5.2 Neuerungen in XPath 2.0 [Seite 182]
6.2.1 - 5.2.1 Die Rückwärtskompatibilität zu XPath 1.0 [Seite 183]
6.2.2 - 5.2.2 Das erweiterte Datenmodell [Seite 183]
6.2.3 - 5.2.3 Kommentare [Seite 186]
6.2.4 - 5.2.4 Knotentests [Seite 187]
6.2.5 - 5.2.5 Schleifenausdrücke [Seite 188]
6.2.6 - 5.2.6 Bedingungen definieren [Seite 189]
6.2.7 - 5.2.7 Die erweiterte Funktionsbibliothek [Seite 189]
6.3 - 5.3 XPointer - mit Zeigern arbeiten [Seite 196]
6.3.1 - 5.3.1 URIs und Fragmentbezeichner [Seite 196]
6.3.2 - 5.3.2 Die XPointer-Syntax [Seite 197]
6.3.3 - 5.3.3 Der XPointer-Sprachschatz [Seite 198]
6.3.4 - 5.3.4 XPointer innerhalb von URIs [Seite 200]
6.3.5 - 5.3.5 XPointer innerhalb von Hyperlinks [Seite 202]
6.3.6 - 5.3.6 XPath-Erweiterungen in XPointer [Seite 204]
6.3.7 - 5.3.7 Mit Funktionen arbeiten [Seite 205]
6.4 - 5.4 XLink - Links in XML definieren [Seite 210]
6.4.1 - 5.4.1 Link-Typen und andere Attribute [Seite 212]
6.4.2 - 5.4.2 Einfache Links anlegen [Seite 214]
6.4.3 - 5.4.3 Erweiterte Links definieren [Seite 215]
6.4.4 - 5.4.4 DTDs für XLinks definieren [Seite 219]
6.5 - 5.5 XML Base - eine Linkbasis schaffen [Seite 220]
7 - 6 Ausgabe mit CSS [Seite 224]
7.1 - 6.1 Schnelleinstieg in CSS [Seite 224]
7.1.1 - 6.1.1 CSS-Maßeinheiten [Seite 225]
7.1.2 - 6.1.2 Mit Selektoren arbeiten [Seite 227]
7.1.3 - 6.1.3 Das Prinzip der Kaskade [Seite 231]
7.1.4 - 6.1.4 Die Spezifität ermitteln [Seite 233]
7.1.5 - 6.1.5 Ein Beispiel für das Vererbungsprinzip [Seite 234]
7.2 - 6.2 XML mit CSS formatieren [Seite 236]
7.2.1 - 6.2.1 XML-Elemente formatieren [Seite 238]
7.3 - 6.3 Die Schwächen von CSS (in Bezug auf XML) [Seite 240]
8 - 7 Transformation mit XSLT [Seite 242]
8.1 - 7.1 Sprachverwirrung: XSLT, XSL und XSL-FO [Seite 242]
8.2 - 7.2 Das Grundprinzip der Transformation [Seite 244]
8.2.1 - 7.2.1 XSLT-Prozessoren im Einsatz [Seite 246]
8.3 - 7.3 Der Einstieg in XSLT: Hallo, Welt! [Seite 253]
8.3.1 - 7.3.1 Das Element xsl:stylesheet [Seite 255]
8.3.2 - 7.3.2 Top-Level-Elemente [Seite 256]
8.4 - 7.4 Templates definieren [Seite 258]
8.4.1 - 7.4.1 Template-Regeln [Seite 258]
8.4.2 - 7.4.2 Suchmuster/Pattern einsetzen [Seite 259]
8.5 - 7.5 Der Ablauf der Transformation [Seite 260]
8.5.1 - 7.5.1 Alles beginnt beim Wurzelknoten [Seite 260]
8.5.2 - 7.5.2 Anwendung von Templates [Seite 260]
8.5.3 - 7.5.3 Verhalten bei Template-Konflikten [Seite 261]
8.5.4 - 7.5.4 Stylesheets mit nur einer Template-Regel [Seite 262]
8.5.5 - 7.5.5 Überschreiben von Template-Regeln [Seite 262]
8.5.6 - 7.5.6 Mit Modi Elemente mehrmals verarbeiten [Seite 263]
8.5.7 - 7.5.7 Eingebaute Template-Regeln [Seite 264]
8.6 - 7.6 Templates aufrufen [Seite 265]
8.7 - 7.7 Templates einbinden [Seite 268]
8.8 - 7.8 Stylesheets einfügen, importieren undwiederverwenden [Seite 270]
8.8.1 - 7.8.1 Stylesheets einfügen [Seite 271]
8.8.2 - 7.8.2 Stylesheets importieren [Seite 271]
8.8.3 - 7.8.3 Stylesheets inkludieren [Seite 273]
8.9 - 7.9 Mit XSLT arbeiten [Seite 276]
8.9.1 - 7.9.1 Variablen und Parameter einsetzen [Seite 276]
8.9.2 - 7.9.2 Variablen verwenden [Seite 280]
8.9.3 - 7.9.3 Bedingte Anweisungen [Seite 287]
8.9.4 - 7.9.4 Erweiterte Bedingungen definieren [Seite 289]
8.9.5 - 7.9.5 Nummerierungen [Seite 292]
8.9.6 - 7.9.6 Sortieren und Gruppieren [Seite 294]
8.9.7 - 7.9.7 Elemente und Attribute hinzufügen [Seite 304]
8.9.8 - 7.9.8 Mit Funktionen arbeiten [Seite 313]
8.9.9 - 7.9.9 HTML- und XML-Ausgaben [Seite 318]
8.10 - 7.10 Text formatiert ausgeben [Seite 322]
8.10.1 - 7.10.1 Hyperlinks und Grafiken [Seite 324]
8.11 - 7.11 Weitere Neuerungen in XSLT 2.0 [Seite 326]
8.11.1 - 7.11.1 Neue Elemente [Seite 327]
8.11.2 - 7.11.2 Rückwärtskompatibiliät [Seite 332]
9 - 8 Formatierungen mit XSL-FO [Seite 334]
9.1 - 8.1 Die Idee hinter XSL-FO [Seite 334]
9.1.1 - 8.1.1 Eigenschaften der Sprache [Seite 335]
9.1.2 - 8.1.2 Einsatzgebiete von XSL-FO [Seite 336]
9.1.3 - 8.1.3 Die Spezifikation des Vokabulars [Seite 336]
9.1.4 - 8.1.4 Der Verarbeitungsprozess [Seite 338]
9.1.5 - 8.1.5 Diese XSL-FO-Werkzeuge gibt es [Seite 339]
9.1.6 - 8.1.6 Prozessoren im Einsatz [Seite 342]
9.1.7 - 8.1.7 Prozessoren und die Standards [Seite 346]
9.2 - 8.2 Stylesheet-Design [Seite 348]
9.2.1 - 8.2.1 Seitenlayout und Bildschirmdesign [Seite 348]
9.2.2 - 8.2.2 Das Wurzelelement [Seite 349]
9.2.3 - 8.2.3 Stylesheets aufbauen [Seite 349]
9.2.4 - 8.2.4 Attributsätze [Seite 351]
9.2.5 - 8.2.5 Parameter und Variablen [Seite 352]
9.3 - 8.3 Seitenlayouts festlegen [Seite 353]
9.3.1 - 8.3.1 Maßeinheiten in XSL-FO [Seite 353]
9.3.2 - 8.3.2 Das Seitenlayout definieren [Seite 353]
9.3.3 - 8.3.3 Seitenfolgen-Vorlagen definieren [Seite 356]
9.3.4 - 8.3.4 Die Seitenfolge festlegen [Seite 358]
9.3.5 - 8.3.5 Druckbereiche festlegen [Seite 363]
9.3.6 - 8.3.6 Mit Blöcken arbeiten [Seite 364]
9.3.7 - 8.3.7 Mit Inline-Elementen arbeiten [Seite 366]
9.3.8 - 8.3.8 Schreibrichtung bestimmen [Seite 368]
9.3.9 - 8.3.9 Die Ausrichtung festlegen [Seite 369]
9.3.10 - 8.3.10 Das Farbmanagement in XSL-FO [Seite 370]
9.4 - 8.4 Typografische Gestaltung [Seite 372]
9.4.1 - 8.4.1 Defaults, Vererbung, Verschachtelung [Seite 372]
9.4.2 - 8.4.2 Seitenzahlen einfügen [Seite 372]
9.5 - 8.5 Rahmen und Ränder [Seite 374]
9.5.1 - 8.5.1 Außenabstände bestimmen [Seite 374]
9.5.2 - 8.5.2 Innenabstände [Seite 379]
9.5.3 - 8.5.3 Vertikale Abstände [Seite 381]
9.5.4 - 8.5.4 Rahmen definieren [Seite 383]
9.6 - 8.6 Schriftgestaltung [Seite 385]
9.6.1 - 8.6.1 Ausrichtung [Seite 385]
9.6.2 - 8.6.2 Mit Einrückungen arbeiten [Seite 386]
9.6.3 - 8.6.3 Schriftart festlegen [Seite 387]
9.6.4 - 8.6.4 Schriftgröße bestimmen [Seite 388]
9.6.5 - 8.6.5 Zeilenhöhe [Seite 389]
9.6.6 - 8.6.6 Unterstreichungen & Co. [Seite 390]
9.6.7 - 8.6.7 Horizontale Linien innerhalb von Blöcken [Seite 391]
9.6.8 - 8.6.8 Silbentrennung [Seite 395]
9.6.9 - 8.6.9 Groß- und Kleinschreibung [Seite 395]
9.7 - 8.7 Hyperlinks und Querverweise setzen [Seite 396]
9.8 - 8.8 Listen und Aufzählungen [Seite 398]
9.8.1 - 8.8.1 Abstände innerhalb von Listen [Seite 400]
9.9 - 8.9 Fußnoten [Seite 402]
9.10 - 8.10 Grafiken einbinden [Seite 405]
9.10.1 - 8.10.1 Hintergrundbilder definieren [Seite 406]
9.10.2 - 8.10.2 SVG einbinden [Seite 408]
9.11 - 8.11 Mit Tabellen arbeiten [Seite 410]
9.11.1 - 8.11.1 Zellen und Zeilen überspannen [Seite 412]
9.12 - 8.12 Das Float-Konzept [Seite 414]
10 - Register [Seite 416]
XML hat die (Online-)Welt verändert. Das zeigen die zahlreichen Technologien, die sich rund um XML etabliert haben. Denken Sie nur an AJAX, Newsfeeds oder ganz allgemein an das Web 2.0. All das wäre ohne XML weder denk- noch umsetzbar. Und XML kommt auch dort zum Einsatz, wo man es auf den ersten Blick gar nicht ahnen würde. Oder hätten Sie gedacht, dass sich das iPhone von Apple über eine einfache XML-Datei konfigurieren lässt? Es steckt also weitaus mehr hinter XML, als man gemeinhin vermutet. Wie weit die Extensible Markup Language bereits in die Programmier- und Entwicklerwelt Einzug gehalten hat, ist vielen gar nicht bewusst.
Und doch ist eine Welt ohne XML heute kaum noch vorstellbar. Denn diese Sprache dient mittlerweile als Format für Konfigurationsdateien, wird für den Im- und Export in den verschiedensten Programmen verwendet und kommt im Internet genauso wie innerhalb von Datenbanken zum Einsatz. Um XML verstehen zu können, ist es hilfreich, wenn man weiß, woher die Sprache eigentlich kommt. Und genau hier setzt dieses Kapitel an: Es beschreibt, woher XML kommt und wo die Zukunft dieser Sprache liegt, stellt eine Auswahl XML-basierter Sprachen vor und zeigt, welche Werkzeuge bei der täglichen Arbeit mit XML hilfreich sind.
1.1 Die Idee hinter XML
Zunächst einmal ist die Frage interessant, wie und warum es eigentlich zur Entwicklung von XML gekommen ist. Dafür muss man verstehen, dass es sich bei XML nicht nur um eine Technologie handelt, sondern dahinter eine komplexe Idee steht. Als Format dient XML zunächst einmal dazu, Daten zu speichern und diese zwischen sehr unterschiedlichen Systemen austauschbar zu machen. Das ist allerdings nur der eine Aspekt. Der andere ist, dass sich um XML herum eine Reihe unterschiedlicher Standards entwickelt hat. Um einige dieser Sprachen kümmert sich das World Wide Web Consortium (W3C,) dessen Webseite unter http://w3.org/ verfügbar ist.
Dort finden Sie zum Beispiel die Sprachen SVG und SMIL. Mehr zu solchen "abgeleiteten", Sprachen erfahren Sie im weiteren Verlauf dieses Kapitels, hier sei aber schon so viel verraten: Beides sind Sprachen, die im XML-Umfeld entstanden sind. Eine der wichtigsten Fragen stellt sich unweigerlich jedem, der von XML hört: Wo liegen eigentlich die Vorteile dieser Sprache im Vergleich zu anderen Formaten? Hier hilft ein kurzer Ausflug in die Historie. Die ersten elektronischen Formate kümmerten sich mehr darum, wie Daten ausgegeben werden sollten. Struktur und Sinn von Dokumenten spielten hingegen keine beziehungsweise nur eine untergeordnete Rolle.
Klassische Formatierungssprachen dienten eher dazu, Dokumente anzusehen oder/und diese auszudrucken. Diese Formate waren also eher für die Präsentation von Inhalten da. Die Datenstruktur blieb weitestgehend außen vor. Um dieses Problem zu lösen, wurde das Konzept der sogenannten generischen Kodierung entwickelt. Dabei kommen inhaltsorientierte Elemente zum Einsatz. Mit denen können bestimmte Inhalte mit verschiedenen Elementen logisch ausgezeichnet werden. Der erste große Schritt in diese Richtung war SGML (Standard Generalized Markup Language)."
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.