Ein benutzerfreundlicher Spezialeditor für Vorlesungsmaterialien durch Adaption eines allgemeinen XML-Editors

Größe: px
Ab Seite anzeigen:

Download "Ein benutzerfreundlicher Spezialeditor für Vorlesungsmaterialien durch Adaption eines allgemeinen XML-Editors"

Transkript

1 Ein benutzerfreundlicher Spezialeditor für Vorlesungsmaterialien durch Adaption eines allgemeinen XML-Editors Studienarbeit für den integrierten Studiengang Informatik von André Braun Vorgelegt bei: Dr. Michael Thies Paderborn, im März 2006

2

3 Erklärung Ich versichere, daß ich die vorliegende Studienarbeit selbständig verfaßt und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Alle Ausführungen, die wörtlich oder sinngemäß übernommen wurden, sind als solche gekenzeichnet. Paderborn, den 14. März 2006 André Braun

4

5 Inhaltsverzeichnis 1 Einleitung Aufgabenstellung und Motivation Struktur der Arbeit Grundlagen Grundlegende Technologien Die Extensible Markup Language (XML) Dokumenttyp-Definition (DTD) und Schema-Sprachen Cascading Style Sheets (CSS) Syntaxgesteuerte Editoren Syntaxgesteuerte vs. konventionelle Editoren XML-Editoren XMLMind XML Editor (XXE) Konzeption Beschreibung des Problembereichs Anforderungen an das Produkt Struktur der XML-Dokumente Implementierungsaspekte Entwicklung der Schemata Unterstützung der Benutzerfreundlichkeit durch Stylesheets Einbindung eigener Vorlagen in die Dokumentvorlagenliste Kurze Einführung in die Bedingung von XXE Ergebnisse und Ausblick Ergebnisse Ausblick A Auf der CD enthaltene Daten 35

6

7 1 Einleitung 1.1 Aufgabenstellung und Motivation Die Extensible Markup Language (XML) wurde im Jahr 1998 vom World Wide Web Consortium (W3C) als eine Empfehlung (engl.: Recommendation) vorgestellt. Seitdem erlebt die Sprache einen unglaublichen Boom und hat sich in dem Bereich der Datenstrukturierung fest etabliert. Die Vorteile von XML sind die Einfachheit, Flexibilität und Erweiterbarkeit. Die Sprache ist weit verbreitet und es gibt dementsprechend eine Vielzahl von Werkzeugen, mit denen XML-Dokumente effizient bearbeitet und validiert werden können. In der Arbeitsgruppe Programmiersprachen und Übersetzer an der Universität Paderborn entstand die Idee, die Datenhaltung für die Daten, die für das Erstellen von vorlesungsbegleitenden Webseiten verwendet werden, auf XML-Basis umzustellen, was eine Reihe von Vorteilen gegenüber der jetzigen Lösung mit einem Text- Makroprozessor bringen soll. In einer vorausgegangenen Studienarbeit [5] wurde eine XML-Struktur für einen Teil der Vorlesungsmaterialien entwickelt. Ziel der vorliegenden Arbeit war es, einen benutzerfreundlichen Spezialeditor für diese Struktur zu entwickeln. Außerdem sollte die Struktur selber angesichts neuer Erkenntnisse verbessert und verfeinert werden. Der Editor soll die Dokumentdaten in einer strukturierten Darstellung veranschaulichen und dem Benutzer erlauben, das Dokument zu bearbeiten, ohne die zugrunde liegende XML-Struktur im Detail zu kennen. Außerdem soll der Editor spezielle Editieroperationen enthalten, um zum Beispiel Begleitmaterialien wie Programmquelltexte zu Übungsaufgaben oder Musterlösungen einfach hinzufügen zu können. Ein weiterer Aspekt ist es, dass der Editor als eine Art Konfigurationsdialog dienen muss, um z.b. festlegen zu können, wann ein bestimmtes Übungsblatt veröffentlicht werden soll oder welche Druckdokumente erstellt werden sollen. Als Ausgangspunkt diente dabei der XML-Editor XXE der Firma XMLMind, der für unsere Aufgabe konfiguriert und adaptiert werden sollte. Der XXE ist ein in Java geschriebener allgemeiner XML-Editor, der durch Cascading Style Sheets (CSS) eine anschauliche Darstellung von XML-Dokumenten erlaubt, die gemäß ihrer Bedeutung

8 2 1.2 Struktur der Arbeit strukturierte Textpassagen, Tabellen und Bilder enthalten. Spezielle Editieroperationen können über im Dokument eingebettete Steuerungselemente oder durch in Java geschriebene Erweiterungsmodule für den Editor realisiert werden. 1.2 Struktur der Arbeit Im ersten Teil des Kapitels 2 bekommt der Leser einen Überblick über die in dieser Arbeit benutzten Technologien und Standards. Im zweiten Teil des Kapitels werden unterschiedliche Arten der Editoren vorgestellt und gegeneinander abgegrenzt. Das besondere Augenmerk gilt dabei den XML-Editoren. In Kapitel 3 wird die konzeptionelle Arbeit bei der Entwicklung der XML-Struktur für den Übungsbetrieb einer Vorlesung beschrieben. Kapitel 4 beschreibt ausgewählte Aspekte der Software- Implementierung. Kapitel 5 fasst schließlich die Ergebnisse der Arbeit zusammen und gibt einen Ausblick auf die vorgesehenen bzw. möglichen Erweiterungen der Software.

9 2 Grundlagen In diesem Kapitel wird der Leser mit dem nötigen Grundwissen vertraut gemacht. Im ersten Teil werden Technologien und Standards vorgestellt, die für das allgemeine Verständnis des Stoffes dieser Arbeit erforderlich sind. Im zweiten Teil werden dann die syntaxgesteuerten Editoren eingeführt und die unterschiedlichen Arten der XML- Editoren vorgestellt. 2.1 Grundlegende Technologien In diesem Kapitel werden solche Standards wie Extensible Markup Language (XML), Document Type Definition (DTD) und Cascading Style Sheets (CSS) kurz vorgestellt. Sie werden uns im weiteren Verlauf dieser Studienarbeit begegnen und sind zum grundlegenden Verständnis der Arbeit notwendig Die Extensible Markup Language (XML) Die Extensible Markup Language (kurz: XML) ist eine so genannte Meta- Beschreibungssprache, auch Meta-Auszeichnungssprache genannt. Die Geschichte der Beschreibungssprachen reicht bereits einige Jahrzehnte zurück. Im Jahr 1969 wurde die erste moderne Beschreibungssprache in einer Forschungsabteilung von IBM entwickelt. Die Sprache hieß Generalized Markup Language (GML) und wurde als eine Sprache zur Beschreibung beliebiger Datenmengen konzipiert. Mit GML war man auch in der Lage andere Sprachen, ihre Syntax und Grammatik zu beschreiben, das heißt GML war bereits eine Metasprache. Später wurde daraus die Standard Generalized Markup Language (SGML), die im Jahr 1986 von der International Organization for Standardization (ISO) als ein internationaler Standard zur Speicherung und zum Austausch von Daten festgelegt wurde. SGML ist eine mächtige, aber auch eine recht komplexe Beschreibungssprache. Sie fand ihre Anwendung bei den Organen der US-Regierung und in einigen großen Firmen und Verlagen. Die Komplexität und die hohen Kosten der Einbindung eines SGML-fähigen Systems haben die weitere Ausbreitung verhindert. [1] [3]

10 4 2.1 Grundlegende Technologien Im Laufe der rasanten Entwicklung des Internets wurde der Bedarf nach einer einfachen und flexiblen Beschreibungssprache immer größer. Sie sollte auf der einen Seite die Mächtigkeit von SGML besitzen, auf der anderen Seite sollte die Bearbeitung von Dokumenten mit einfachen und verbreiteten Tools möglich sein wurde XML als eine solche Sprache vom W3C vorgestellt. Seitdem erlebt XML einen rasanten Boom und ist aus dem World Wide Web nicht mehr wegzudenken. Die zwei wichtigen Begriffe im Zusammenhang mit XML-Dokumenten sind die Wohlgeformtheit und die Gültigkeit. Das Mindestkriterium, welches jedes XML- Dokument erfüllen muss, ist die Wohlgeformheit (engl.: well-formedness). Wohlgeformte Dokumente müssen Bedingungen, die in der XML-1.0-Spezifikation angegeben sind, erfüllen. Hier seien nur einige wichtige erwähnt. Jedes wohlgeformte Dokument muss genau ein Element enthalten, in dem alle anderen Elemente eingeschlossen sind, das so genannte Wurzelelement. Die Elemente müssen korrekt miteinander verschachtelt sein. Jedes Element wird von einem öffnenden und einem schließenden Tag begrenzt, bzw. es besteht aus einem einzigen leeren Tag. Der Name des Elementes muss aus bestimmten Zeichen bestehen, z.b. sind an erster Stelle nur Buchstaben oder ein Unterstrich erlaubt. [4] [5] Ein zweites wichtiges Kriterium im Zusammenhang mit XML-Dokumenten ist die Gültigkeit (engl.: validity). Ein XML-Dokument ist gültig, wenn es eine dazugehörige Dokumenttyp-Deklaration besitzt und wenn sich das Dokument an die darin formulierten Beschränkungen hält. [4] Näheres zu Gültigkeit erläutere ich in Kapitel Zusammenfassend kann man drei Aspekte bei XML besonders hervorheben: Erstens: XML ist eine Beschreibungs- und Strukturierungssprache für baumstrukturierte Daten und Dokumente. Die einzelnen Datensegmente werden durch so genannte Tags gekapselt und können von dem aufrufenden Programm beliebig interpretiert werden. Zweitens: XML ist eine erweiterbare Sprache oder auch Metasprache, d.h. mit Hilfe von XML kann man andere, benutzerspezifische Sprachen definieren. Solche Sprachen sind zum Beispiel MathML zur Beschreibung mathematischer Ausdrücke, CML zur Beschreibung chemischer Formeln oder SVG zur Beschreibung von Grafiken. Drittens: Die Daten und ihre Darstellung sind in XML strikt getrennt. Genau genommen ist XML nur für die Strukturierung von Daten zuständig. Die meisten XML-Anwendungen arbeiten auf dieser Ebene und brauchen keine visuelle Darstellung der Daten. Für die etwaige visuelle Repräsentation werden dann so genannte Formatvorlagen (Stylesheets) benutzt (siehe Kapitel 2.1.3). Die Techniken dafür

11 2 Grundlagen 5 sind Cascading Style Sheets (CSS) und Extending Stylesheet Language (XSL), wobei XSL eine viel mächtigere, aber auch komplexere, speziell für XML entwickelte Technologie ist, mit der man nicht nur Dokumente visuell darstellen, sondern auch Transformationen in der Baumstruktur eines XML-Dokuments durchführen kann Dokumenttyp-Definition (DTD) und Schema-Sprachen Wie bereits erwähnt sind die Wohlgeformtheit und die Gültigkeit der Dokumente die zwei wichtigsten Aspekte in XML. Die Wohlgeformtheit wird dadurch erreicht, dass man einige Grundprinzipien bei der Erstellung der XML-Dokumente befolgt, und kann sehr einfach überprüft werden. Um die Gültigkeit eines Dokumentes zu prüfen, reicht das Dokument alleine nicht mehr aus. Der Parser braucht vielmehr eine Informationsbasis, in der die Regeln, nach denen das Dokument aufgebaut sein muss, festgelegt sind. Eine solche Basis ist in diesem Falle eine Dokumenttyp-Definition (DTD) oder ein Schema. Eine DTD bzw. ein Schema legt fest, welche Elemente definiert sind, welche Attribute sie haben, wie oft die einzelnen Elemente vorkommen dürfen und in welchen Strukturen sie angeordnet sein müssen. Das heißt, die komplette syntaktische und teilweise auch die semantische Struktur des Dokumentes werden festgelegt. Es genügt eine einfache Deklaration in dem jeweiligen Dokument, damit der Parser die dazugehörige DTD suchen und das Dokument auf Gültigkeit überprüfen kann. Auch XML-Editoren nutzen DTDs für ähnliche Zwecke. Ist eine DTD ausgewählt worden, kann der Editor sicherstellen, dass die Regeln daraus befolgt werden. Der Autor kann dann nur an der jeweiligen Stelle erlaubte Elemente und Attribute einfügen und bearbeiten. Somit können nur gültige Dokumente produziert werden und alle Regelverstöße werden bereits während der Erstellung des Dokumentes verhindert. DTD wurde 1998 zeitgleich mit XML 1.0 eingeführt. Schon damals erkannte man, dass diese Technik für zukünftige Anforderungen nicht ausreichen wird und begann mit der Entwicklung einer neuen Sprache zur Beschreibung der Struktur von XML- Dokumenten. Diese neue Sprache wurde 2001 vom World Wide Web Consortium vorgestellt und heißt W3C XML Schema (oder kürzer: XML Schema). XML Schema gehört zu den so genannten Schemasprachen. Schemasprachen erfüllen die gleiche Aufgabe wie DTD, benutzen aber im Gegensatz dazu XML-Syntax. XML Schema ist eine moderne Schemasprache, die viele Nachteile von DTD aufhebt. [8] Einer dieser Nachteile ist, dass man in einer DTD nur sehr begrenzt Einfluss auf den Inhalt eines Elementes nehmen kann. Bei XML Schema kann man dagegen

12 6 2.1 Grundlegende Technologien genau festlegen von welchem Typ (z.b. String, Integer oder Date) der Inhalt des jeweiligen Elementes sein muss. Mit Hilfe regulärer Ausdrücke kann man den Inhalt noch genauer spezifizieren. Ein anderer großer Nachteil von DTDs besteht darin, dass man im Zusammenhang damit keine XML-Namensräume verwenden kann. Die Namensräume erlauben es dem Anwender, verschiedene Schemata innerhalb eines Dokumentes zu kombinieren. Für jedes Schema kann man ein eigenes Präfix definieren, welches dann zusammen mit dem jeweiligen Elementnamen benutzt wird und somit Eindeutigkeit garantiert. [8] Als Beispiel betrachten wir ein Dokument, in dem Daten über Kunden aus verschiedenen Ländern gesammelt werden. Die Daten kommen aus unterschiedlichen Quellen zusammen. Das Element <Adresse> wird dabei für jedes Land unterschiedlich definiert. Damit es zu keiner Verwechslung kommt, gibt es für jedes Land ein eigenes Präfix, welches den Namensraum festlegt, z.b. us oder de. Das Element <Adresse> würde dann folgendermaßen aussehen: <us:adresse> bzw. <de:adresse> und ist somit eindeutig definiert. (vgl. [1], S. 151) Ein weiterer Nachteil von DTDs ist, dass DTD eine eigene, nicht XML-konforme Syntax besitzt. Das heißt, der Entwickler muss eine neue Syntax lernen, und kann keine gängigen XML-Tools zum Validieren der DTDs selber einsetzen. XML Schema besitzt dagegen die XML-Syntax. In den letzten Jahren entstanden einige weitere Schema-Sprachen. Die bekannteste davon ist RELAX NG von James Clark. Hinter der Entwicklung dieser Sprache stand die Idee, die Mächtigkeit von XML-Schema beizubehalten und gleichzeitig eine neue Sprache entwickeln, die flexibler und auch einfacher zu erlernen und zu benutzen ist. RELAX NG hat viel weniger Regeln und Restriktionen als W3C XML Schema und somit nur einen Bruchteil der Komplexität dieser Sprache, besitzt aber eine vergleichbare Mächtigkeit. Seit der Spezifikation im Jahre 2001 breitet sich die Sprache immer weiter aus und auch der Abstand zu den Konkurrenten DTD und W3C XML Schema wird immer geringer. [8] Cascading Style Sheets (CSS) Wie bereits erwähnt ist die Trennung von Daten und ihrer Darstellung einer der Hauptmerkmale von XML. Die eigentlichen Daten werden in der XML-Datei verwaltet, die Darstellung auf dem jeweiligen Ausgabemedium übernehmen die so genannten Stylesheet- oder Formatierungssprachen. Dazu gehören auch Cascading Style Sheets (CSS), die ursprünglich für HTML-Formatierungen entwickelt wurden. CSS liegt als eine Empfehlung des W3C vor. Die komplette Spezifikation der in dieser

13 2 Grundlagen 7 Arbeit benutzten Version CSS 2.0 ist unter [6] zu finden. Neben CSS seien auch DSSSL zur Formatierung von SGML-Dokumenten und XSL zur Formatierung von XML-Dokumenten zu erwähnen. CSS unterstützt professionelle Gestaltung von Webseiten. Erstens kann man damit das Aussehen der Inhalte der einzelnen HTML-Tags definieren und somit die Default- Browser-Einstellungen überschreiben. Zweitens schafft CSS eine zentrale Stelle, von der aus die Darstellung von beliebig vielen HTML-Dateien gesteuert werden kann. Dafür legt man eine externe CSS-Datei an, die in allen benötigten HTML-Dateien referenziert wird. CSS erleichtert also die Arbeit von Web-Designern erheblich, vor allem bei großen Projekten und unternehmensspezifischen Layouts. [7] Anders als bei HTML, welches auch ohne Stylesheets benutzt werden kann, da jede HTML-Datei sowohl den Inhalt als auch die Formatierungsanweisungen enthält, braucht XML eine Formatvorlage, damit es dargestellt werden kann. Neben der Extended Stylesheet Language (XSL), die eigens zur Formatierung von XML entwickelt wurde, hat sich auch CSS als eine einfache und weit verbreitete Alternative auf diesem Gebiet etabliert. CSS ist wie die meisten anderen Formatierungssprachen regelbasiert. Die Syntax einer Regel sieht so aus ([1], S.650): Selektor {Attribut: Wert;} Wobei der Ausdruck Attribut: Wert; auch als Eigenschaft bezeichnet wird. Es werden also mit dem Selektor die Elemente festgelegt, denen Eigenschaften zugewiesen werden. Hier ist ein kleines Beispiel. Nehmen wir an, wir haben in unserer XML-Datei ein Element namens <para> definiert. Eine Formatierungsregel für dieses Element könnte so aussehen: para { display: block; color: black; font-family: "Times New Roman"; font-size: 16 pt } Das para-element wird also durch Festlegung des display-attributs als ein Block- Element dargestellt, das heißt davor und danach werden Zeilenumbrüche eingefügt. Die Schriftfarbe, die Schriftart und die Größe werden festgelegt. Somit kann der Inhalt des para-elementes visualisiert und auf einem Ausgabemedium, wie Bildschirm oder Drucker ausgegeben werden. Es gibt natürlich viel mehr Parameter, die man mit CSS manipulieren kann. Auch nicht visuelle Eigenschaften, wie Soundausgabe und ähnliches können definiert werden. Das Aussehen eines Elementes kann auch mehrmals innerhalb eines Stylesheets oder

14 8 2.2 Syntaxgesteuerte Editoren auch in unterschiedlichen Stylesheets definiert werden. Im Falle einer mehrmaligen Definition innerhalb eines Stylesheets wird die spezifischere bzw. die letzte Definition genommen. Bei mehreren Stylesheets werden sie kaskadiert, d.h. nach einer bestimmten Reihenfolge angewandt, wobei Regeln über mehrere Stylesheets hinweg vererbt werden. Die Reihenfolge nach aufsteigender Wichtigkeit ist in Bild 1 veranschaulicht. Bild 1: Reihenfolge der Anwendung der CSS-Formatvorlagen Der aktuelle Standard CSS 2.0 hat eine Reihe von neuen Merkmalen, die insbesondere bei der Arbeit mit XML von großem Nutzen sind. Man kann hier nicht nur Elemente direkt adressieren, sondern auch die Art der Beziehung zwischen den Elementen abfragen. Zum Beispiel können alle Nachbarn oder Kinder eines bestimmten Elementes ausgewählt werden. Nützlich ist auch, dass man mit Hilfe eines CSS- Stylesheets ab Version 2.0 Inhalte generieren kann. So lassen sich mit before und after generierte Texte vor und hinter Elementen einfügen. Als Fazit kann man sagen, dass CSS eine recht einfache Formatierungssprache ist, die man schnell lernen und benutzen kann. Will man ein XML-Dokument visuell darstellen, ohne komplexe Transformationen im XML-Baum vorzunehmen, ist CSS genau das Richtige. Für komplexe Transformationen reicht CSS nicht mehr aus, dazu benötigt man XSL bzw. DSSSL. Als Parallele zu der Aufgabenstellung lässt sich sagen, dass hier keine XML- Transformationen notwendig sind. Vielmehr sollen die hier entwickelten XML- Dokumente adäquat dargestellt werden um eine möglichst hohe Benutzerfreundlichkeit zu erreichen. Somit ist CSS die richtige Wahl für die Rolle einer Formatierungssprache bei dieser Aufgabe. 2.2 Syntaxgesteuerte Editoren In diesem Kapitel soll als Erstes das Konzept der syntaxgesteuerten Editoren vorgestellt und die Vor- und Nachteile im Vergleich zu konventionellen Editoren aufgezeigt werden. Im zweiten Teil wird ein Überblick über die aktuellen XML-Editoren gegeben. Der dritte Teil wird auf den in dieser Arbeit benutzten XMLMind XML Editor (kurz: XXE) eingehen. Es soll dabei motiviert werden, warum dieser Editor für das Lösen der Aufgabe dieser Studienarbeit ausgewählt wurde.

15 2 Grundlagen Syntaxgesteuerte vs. konventionelle Editoren Die konventionellen Texteditoren sind die Art der Editoren, die am weitesten verbreitet ist. Bei dieser Art der Editoren hat der Benutzer eine zweidimensionale Fläche zur Verfügung, die er mit zur Verfügung stehenden Zeichen frei beschreiben kann. Solche Editoren besitzen kein Wissen über die Struktur des bearbeiteten Dokumentes, so dass sie dem Benutzer auch keine Unterstützung geben können. Es werden aber auch Erweiterungen dieses Konzepts, wie die Syntaxhervorhebung oder die automatische Einrückung zur Unterstützung des Benutzers verwendet. Solche Erweiterungen können durch einfaches Durchsuchen des Textes nach speziellen Zeichenketten realisiert werden, d.h. es erfolgt eine lexikalische Analyse des Textes. Die syntaxgesteuerten Editoren, auch Struktureditoren genannt, besitzen im Gegensatz zu konventionellen Editoren Informationen über die verwendete Sprache und verhindern eine unzulässige Syntax bereits während der Eingabe. Solche Editoren arbeiten auf der syntaktischen Ebene der Sprache. Dokumente werden bearbeitet, indem einzelne Strukturelemente der Sprache eingefügt, verschoben oder gelöscht werden. Texteingabe erfolgt nicht frei, sondern nur innerhalb der entsprechenden Strukturelemente. [9] Für textuelle Sprachen, wie Programmiersprachen, werden solche Editoren kaum noch benutzt, weil sie recht unflexibel sind und die Gängelung des Autors durch das starre Layout von Vielen als eher störend empfunden wird. Im Bereich von XML und der visuellen Sprachen, wie z.b. UML, sind syntaxgesteuerte Editoren aber sehr verbreitet. Dies mag überwiegend an der Einfachheit der Grammatik für visuelle Sprachen und XML-Dokumente liegen. XML-Dokumente besitzen außerdem starre Strukturen, die durch Dokumenttyp-Deklarationen vorgegeben sind. Ein XML-Dokument besteht aus einer Menge von Knoten, die nach den Regeln der entsprechenden DTD oder des Schemas erzeugt, bearbeitet oder gelöscht werden können. Aufgrund dessen macht es kaum Sinn freies Editieren zu erlauben. Syntaxgesteuerte XML-Editoren haben außerdem den Vorteil, dass unzulässige Eingaben sofort abgefangen werden und dass man somit zu jedem Zeitpunkt ein gültiges Dokument besitzt XML-Editoren Die Anforderungen an einen XML-Editor sind vielfältig. Ein guter Editor soll den Benutzer durch die Struktur führen und keine Verletzung der Gültigkeit zulassen. Er soll beim Löschen von Elementen und Erzeugen von neuen Elementen Unterstützung

16 Syntaxgesteuerte Editoren geben, indem z.b. angezeigt wird, welche Elemente im aktuellen Kontext zulässig sind. Auch die Eingabe von Attributen soll durch das Anzeigen zulässiger Werte erleichtert werden. Eine andere Anforderung ist die übersichtliche Darstellung des gesamten Dokuments, wobei eine schnelle Navigation durch das Dokument und das Ausblenden aktuell nicht benötigter Teile des Dokuments möglich sein sollen. [2] Die aktuellen XML-Editoren kann man grob in zwei Gruppen aufteilen. Die erste Gruppe besteht aus Editoren, die eine Baumansicht für XML-Dokumente benutzen. Die Autoren können dann in dieser Ansicht Elemente ändern, neue Elemente hinzufügen oder vorhandene löschen. Die Teilbäume können zusammengeklappt und expandiert werden. Das heißt, es wird auf einer niedrigen Ebene gearbeitet, die etwas komfortabler ist, als das Arbeiten mit einem reinen Texteditor. Bei den meisten Editoren ist auch eine Validierung implementiert, d.h. es können nur gültige Dokumente produziert werden, was anhand einer zugehörigen DTD oder eines Schemas geprüft wird. Zu dieser ersten Gruppe gehören Oxygen XML Editor, Exchanger XML, TurboXML, XML Writer usw. Die zweite Gruppe besteht aus Editoren, die eine höhere Abstraktionsebene beim Arbeiten erlauben. Von den Entwicklern/Administratoren werden mit Hilfe von CSS oder XSL Formatvorlagen produziert, die den Endbenutzern eine komfortable Eingabe im Stil eines Textverarbeitungsprogramms erlauben, ohne die Details der XML- Struktur zu kennen. Zu dieser Gruppe gehören aktuell solche Editoren wie Ephox EditLive! for XML, Altova XMLSpy, XMetal, Morphon usw. Auch der in dieser Arbeit benutzte XMLMind XML Editor (kurz: XXE) gehört zu dieser zweiten Gruppe. Im folgenden Abschnitt werde ich die wichtigsten Merkmale von XXE beschreiben XMLMind XML Editor (XXE) XXE ist ein in Java geschriebener XML-Editor und kann somit auf jedem System benutzt werden. Durch benutzerdefinierte Formatvorlagen ist die Bearbeitung der Dokumente im Stil eines Textverarbeitungsprogramms möglich. Die Vorlagen basieren auf dem CSS2-Standard. Die Unterstützung für XHTML und DocBook ist bereits integriert. Kontrollelemente wie Buttons, Check-Boxen, Popup-Menüs etc. können in die Vorlagen eingebunden werden. Falls für ein Dokument keine Vorlage existiert, wird es in einer editierbaren Baumansicht angezeigt. Es werden DTD, W3C XML Schema und RELAX NG Schema unterstützt. Die bearbeiteten Dokumente werden bereits während der Benutzereingabe gegen die zugehörige DTD oder das Schema geprüft, so dass das Produzieren ungültiger Do-

17 2 Grundlagen 11 kumente praktisch unmöglich ist. Ein großer Vorteil von XXE im Vergleich zu anderen Editoren ist seine Anpassbarkeit und Erweiterbarkeit. Die Benutzeroberfläche kann mittels einfacher Konfigurationsdateien geändert und an die jeweilige Anwendung angepasst werden. Die Vorlagen können um bereits vorhandene Makrokommandos oder selbst geschriebene Java- Plugins erweitert werden. Ein kleiner Nachteil von XXE ist, dass die Cascading Style Sheets nicht in vollem Umfang unterstützt werden, was allerdings sehr gut dokumentiert ist. Außerdem benötigen proprietäre Erweiterungen der CSS-Vorlagen, wie die editoreigenen Makrokommandos, eine relativ lange Einarbeitungszeit. Zusammenfassend sind es zwei Faktoren, die ausschlaggebend für den Einsatz von XXE waren: seine Multi-Plattform-Fähigkeit durch Java und seine Konfigurationsund Erweiterungsmöglichkeiten.

18

19 3 Konzeption In diesem Kapitel wird die konzeptionelle Entwicklung des Produktes beschrieben. Nach der Beschreibung des Problembereiches und den Anforderungsdefinitionen wird die Struktur der XML-Dokumente erarbeitet. Dabei bauen wir auf die Struktur, die in einer vorausgegangenen Studienarbeit entwickelt wurde (siehe [5]). Diese Struktur wird hier angesichts neuer Erkenntnisse erweitert und verbessert. 3.1 Beschreibung des Problembereichs Das Ziel dieser Arbeit ist es, einen benutzerfreundlichen XML-basierten Spezialeditor zur Erstellung von Vorlesungsmaterialien zu bauen. Der Schwerpunkt liegt dabei auf Benutzerfreundlichkeit. XML ist eine Technologie, die eine immer weitere Verbreitung findet. Es ist auch eine Zukunftstechnologie, die die Datenstrukturierung/Datenbeschreibung und den Datenaustausch im Internet in absehbarer Zukunft dominieren wird. Es entstehen ständig neue Werkzeuge zur Bearbeitung von XML-basierten Daten und Dokumenten. Somit ist es sinnvoll ein homogenes System aufzubauen, das komplett auf XML aufsetzt. Die derzeitige Lösung zur Erstellung von webbasierten Vorlesungsmaterialien in der Arbeitsgruppe Programmiersprachen und Übersetzer der Universität Paderborn setzt auf einem Textmakroprozessor auf. Die dabei produzierten Dokumente sind unstrukturierte Textdateien mit eingebetteten Makrokommandos. Das Arbeiten mit solchen Dokumenten benötigt einen großen Einarbeitungsaufwand und ist relativ umständlich und fehleranfällig. Es fehlt auch die strukturelle Überprüfung der erzeugten Dokumente. Die neue Lösung soll die Nachteile der derzeitigen Lösung beheben und die nachfolgend aufgeführten Anforderungen an das Produkt erfüllen.

20 Anforderungen an das Produkt 3.2 Anforderungen an das Produkt Der Spezialeditor für XML-basierte Vorlesungsmaterialien muss einige Anforderungen erfüllen, um in der Praxis eingesetzt werden zu können. Diese Anforderungen werden hier genauer spezifiziert. Benutzerfreundlichkeit: Der Editor soll möglichst benutzerfreundlich sein, d.h. Bedienung soll möglichst intuitiv und selbsterklärend sein. Keine Kenntnis der genauen XML-Struktur: Der Benutzer braucht keine Kenntnis der genauen Struktur des Dokuments, aber sie muss erkennbar sein. Das Dokument soll mit Hilfe von Vorlagen anschaulich dargestellt werden, um die Bearbeitung im Stile eines Textverarbeitungsprogramms zu ermöglichen. Korrektheit der Eingaben: Die zulässigen Eingaben für bestimmte Textelemente und Attribute sollen mittels regulärer Ausdrücke spezifiziert werden. Die Korrektheit soll während der Eingabe überprüft werden. Validierung: Die Dokumente müssen mittels der zugehörigen Schemata auf ihre Gültigkeit überprüft werden. Es dürfen nur gültige Dokumente erzeugt werden. Einbindung von XHTML: in den Beschreibungen der (Teil-)Aufgaben soll XHTML verwendet werden, um Grafiken, Tabellen und Links einbinden zu können. 3.3 Struktur der XML-Dokumente In einer vorausgegangenen Studienarbeit (siehe [5]) wurde eine XML- Dokumentstruktur für einen Teil der Vorlesungsmaterialien, nämlich für den Übungsbetrieb, entwickelt worden. Weiterhin wurde mit der Spezialsprache XQuery eine Transformation dieser Dokumente in eine HTML-Darstellung zur Veröffentlichung im Web realisiert. Die gesamte XML-Struktur wurde in dieser Arbeit übersichtlichkeitshalber auf zwei Dokumenttypen aufgeteilt: Vorlesungsdokumente und Aufgabenblattdokumente. Zu jeder Vorlesung gehört genau ein Vorlesungsdokument und beliebig viele Aufgabenblattdokumente, wobei das Vorlesungsdokument Verweise auf die entsprechenden Aufgabenblattdokumente enthält. Diese Beziehung zwischen den beiden Dokumenttypen ist in Bild 2 verdeutlicht.

21 3 Konzeption 15 Bild 2: Beziehung zwischen den beiden Dokumenttypen [5] Die Struktur des Vorlesungsdokuments ist in Bild 3 dargestellt. Bild 3: Struktur des Vorlesungsdokuments [5] Das Aufgabenblattdokument hat eine Struktur, die in Bild 4 dargestellt ist. Bild 4: Struktur des Aufgabenblattdokuments [5]

22 Struktur der XML-Dokumente Diese vorliegende Struktur wird bei der Umsetzung zum Teil beibehalten. Sie ist aber nicht optimal und bedarf dementsprechend einiger Änderungen. Sehen wir uns als Erstes das Vorlesungsdokument an. Es bildet eine Instanz, in der die allgemeinen Daten einer Vorlesung, wie Titel, Dozent, Semester usw. gespeichert werden. Jede Vorlesungsdatei wird einmal angelegt und braucht im Normalfall nicht mehr geändert zu werden. Deswegen dürfen in der Datei keine Verweise auf die Aufgabenblätter enthalten sein, da man sonst bei jedem Anlegen eines neuen Aufgabenblattdokuments auch die Vorlesungsdatei ändern müsste. Vielmehr werden in dem Vorlesungsdokument alle relevanten Verzeichnisse, unter anderem das Verzeichnis für die Aufgabenblätter, angegeben. Die Beziehung, die sich im Gegensatz zu [5] zwischen dem Vorlesungsdokument und den Aufgabenblattdokumenten ergibt, ist in Bild 5 dargestellt. Bild 5: Hierarchie der beiden Dokumenttypen Außerdem fügen wir dem Vorlesungsdokument das Element druckdokumente hinzu, welches in [5] im Aufgabenblattdokument zu finden war. Da alle Druckdokumente die gleichen Eigenschaften haben sollen, ist es nicht nötig für jedes Aufgabenblatt ein eigenes Element druckdokumente zu haben. Vielmehr brauchen wir eine zentrale Instanz, in der einmal die Eigenschaften der Druckdokumente wie das Format etc. festgelegt werden. Somit ist das Vorlesungsdokument der geeignete Platz für dieses Element. Die Struktur des Elementes druckdokumente wird ebenfalls geändert. Es bekommt drei Unterelemente erzeugen, blattproseite und format, welche die Erzeugung der Druckdokumente steuern. An dieser Stelle möchte ich vorgreifen und erklären, warum ich die drei Unterelemente als Elemente und nicht als Attribute von druckdokumente deklariert habe, was ebenfalls sinnvoll wäre und die Struktur des Dokumentes etwas einfacher machen würde. Es hängt mit den Eigenschaften des XXE zusammen. Attribute kann man in diesem Editor nur mit dem Attribute-Werkzeug bearbeiten, welches ausschließlich Texteingaben erlaubt. Elemente kann man dagegen als Checkboxen, Popup-Menüs

23 3 Konzeption 17 usw. darstellen, was komfortablere Eingabemöglichkeiten für den Autor bedeutet. Als Letztes fügen wir dem Vorlesungsdokument das neue Element kommentare hinzu, welches keine Darstellung in den veröffentlichten Vorlesungsmaterialien haben soll, sondern ausschließlich für die Autoren des Dokumentes bestimmt ist. Die neue Struktur des Vorlesungsdokuments wird in Bild 6 verdeutlicht. Bild 6: Neue Struktur des Vorlesungsdokuments Auch die Struktur des Aufgabenblattdokuments aus [5] wurde gründlich überarbeitet. Sowohl das Element aufgabenblatt als auch das Element aufgabe bekommen das neue Attribut id. Somit werden sie eindeutig identifiziert und können später durch Verweise aus anderen Dokumenten referenziert werden. Für die Verweise auf eine Lösung wird die ID der entsprechenden Aufgabe genommen. In dem Attribut vorlesung wird der Name oder der Kürzel der zugehörigen Vorlesung gespeichert. Die drei weiteren Attribute von aufgabenblatt sind ausgabe, abgabe und loesung. Diese Attribute steuern den Lebenszyklus eines Aufgabenblattes. In dem Attribut ausgabe steht das Datum, an dem das Aufgabenblatt veröffentlicht werden soll. In abgabe steht das Datum, bis wann die Lösung abgegeben sein muss und in loesung steht das Datum, an dem die Lösung veröffentlicht wird. Außer den neuen Attributen bekommt das Element aufgabenblatt das neue Unterelement kommentare, welches die gleiche Funktion, wie im Vorlesungsdokument hat. Außerdem bekommt es das neue Unterelement autoren. Das Element aufgabe bekommt das neue optionale Unterelement teilaufgabe, welches genauso wie aufgabe die Unterelemente ueberschrift, beschreibung und das optionale Element loe-

24 Struktur der XML-Dokumente sung besitzt. Somit wird das Erstellen der Aufgaben, die aus Teilaufgaben bestehen, übersichtlicher gemacht. Teilaufgabe besitzt ebenfalls das Attribut id. Das Element druckdokumente wird, wie bereits erwähnt, aus dem Aufgabenblattdokument entfernt. Die endgültige Struktur wird in Bild 7 verdeutlicht. Bild 7: Neue Struktur des Aufgabenblattdokuments

25 4 Implementierungsaspekte In diesem Kapitel werden einige Aspekte der konkreten technischen Umsetzung beschrieben. Der Ablauf der Softwareentwicklung sah wie folgt aus. Als Erstes habe ich RELAX NG Schemata erzeugt, in denen die im letzten Kapitel entwickelte Struktur unter Berücksichtigung der konkreten Darstellung im XXE abgebildet wird. Parallel dazu habe ich geeignete CSS-Stylesheets entwickelt, um die Dokumente in dem Editor möglichst optimal darzustellen. Zuletzt habe ich Konfigurationsdateien erstellt, die die Schemata und die Stylesheets zu jeweils einer Dokumentvorlage zusammenbinden. 4.1 Entwicklung der Schemata Die Grundidee dieser Arbeit ist es, dass man für den XMLMind XML Editor (XXE) solche Schemata und CSS-Vorlagen schafft, die es den Benutzern erlauben, komfortabel neue Dokumente anlegen zu können oder zu modifizieren ohne die Details der zugrunde liegenden XML-Struktur zu kennen. Die Vorlagen werden dabei um editorspezifische Kommandos erweitert. Bei der Umsetzung sind drei Arten von XML-Strukturen innerhalb der Vorlesungsmaterialien zu unterscheiden: 1. Einzeilige Eingabefelder für z.b. den Namen des Dozenten oder den Titel eines Aufgabenblattes. Diese Eingaben werden als reine Textelemente ohne weitere Verarbeitung gespeichert. 2. Größere Abschnitte der Dokumente spiegeln Textstrukturen mit Tabellen und Bildern wieder, wie man sie aus (X)HTML kennt. Dies betrifft zum Beispiel die Rümpfe von Übungsaufgaben und Musterlösungen. Hier ist eine Darstellung in der Art einer Textverarbeitung sinnvoll. 3. Die Konfigurationsteile der Dokumente steuern zum Beispiel, ob und in welchem Format Druckdokumente erzeugt werden sollen. Diese Teile haben keine sichtbare Darstellung in den veröffentlichten Vorlesungsmaterialien im Web.

26 Entwicklung der Schemata Hier sollte der Editor über sinnvoll gewählte Steuerungselemente die Konfiguration der Vorlesung erleichtern. Im Folgenden wird gezeigt, wie diese drei Punkte durch entsprechende Anweisungen in einem RELAX NG Schema realisiert werden. Punkt 1. wird in dem zugehörigen RELAX NG Schema folgendermaßen definiert: <define name="..."> <element name="..."> <text/> </element> </define> Wobei das Tag <text/> einen beliebigen, auch leeren Text im Zieldokument repräsentiert. Punkt 2., also die Eingabefelder für Rümpfe von Aufgaben und Lösungen, ist der umfangreichste von allen. Außer dem Text müssen hier auch Tabellen, Bilder und Verweise auf andere (Teil-)Dokumente möglich sein. Um das zu realisieren, wird an dieser Stelle XHTML eingebunden. Dafür wird die include-anweisung im Schema verwendet. <include href="xxe-config:common/rng/xhtml1/xhtml-strict.rng"> Bei der Definition der Eingabefelder wird eine Referenz auf das html:body Element benutzt. <define name="..."> <element name="..."> <ref name="body"/> </element> </define> Bei der Bearbeitung des Dokumentes kann man dann innerhalb des body-elementes beliebige weitere HTML-Tags einfügen, z.b. <p></p>, <img... />, <a href="..."></a> usw. Die Verweise spielen bei der späteren Analyse der Dokumente eine besondere Rolle. Es ist von Vorteil, wenn man die systeminternen Links, die auf eine Datei innerhalb des Systems zeigen, von den Internet-weiten Links unterscheiden kann. Es war angedacht, an dieser Stelle XHTML zu erweitern und eigene Links der Form <link-aufgabe blatt="1" nr="1"/> oder

27 4 Implementierungsaspekte 21 <link-material file="test.java"/> zu definieren und einzubinden. Die Realisierung hat sich aber als zu schwierig herausgestellt. Stattdessen wird eine alternative Lösung benutzt, bei der der Autor XHTML-eigene Verweise benutzt, also <a href="...">...</a>. Bei den systeminternen Verweisen wird das zusätzliche Attribut type verwendet, welches eines der vier Werte Folie, Aufgabe, Loesung oder Material haben muss. Bei einer späteren Analyse kann dann anhand des Wertes des type-attributs eine genaue Zuordnung erfolgen, z.b. eine Unterscheidung zwischen internen und externen Verweisen. Bei dem Punkt 3. werden sinnvolle Konfigurationselemente, wie Radioboxen, Checkboxen oder Popup-Menüs verwendet, damit der Autor komfortabel aus vordefinierten Werten wählen kann. Bei den Radioboxen/Checkboxen wird in dem zugehörigen Schema eine Referenz auf das body-element benutzt. Die Boxen selber werden dann im XML-Dokument als HTML-Elemente definiert, z.b.: <html:td> <html:input checked="checked" name="erzeugen" type="radio" value="ja" />Ja <html:input name="erzeugen" type="radio" value="nein" />Nein </html:td> Das genaue Aussehen übernimmt das Stylesheet. Die Popup-Menüs werden dagegen mit Hilfe des choice-konstrukts direkt im Schema definiert. Das sieht dann z.b. so aus: <element name="format"> <choice> <element name="pdf"> <empty/> </element> <element name="ps"> <empty/> </element> </choice> </element> Damit dieses Konstrukt tatsächlich als ein Popup-Menü dargestellt wird, werden entsprechende Anweisungen im dazugehörigen Stylesheet definiert. In der produzierten XML-Datei wird die Auswahl des Benutzers folgendermaßen gespeichert (falls z.b. PDF ausgewählt wurde): <format> <PDF /> </format> Um die Korrektheit der Eingaben sicherzustellen werden einige Elemente und Attribute durch reguläre Ausdrücke spezifiziert. Zum Beispiel müssen einige Attribute

28 Unterstützung der Benutzerfreundlichkeit durch Stylesheets ein Datum als Inhalt haben. Die entsprechenden regulären Ausdrücke werden in dem jeweiligen Schema spezifiziert. Das sieht dann z.b. so aus: <attribute name="ausgabe"> <data type="token"> <param name="pattern">[0-3]\d.[0-1]\d.(20)?[0-1]\d</param> </data> </attribute> Die Korrektheit wird direkt während der Eingabe geprüft, so dass es unmöglich ist, falsche Werte einzugeben. 4.2 Unterstützung der Benutzerfreundlichkeit durch Stylesheets Die größeren Elemente, die andere Unterelemente enthalten, bekamen eine Titelleiste und wurden zusammenklappbar gemacht, damit das Bearbeiten der Dokumente durch Ausblenden aktuell nicht benötigter Teile übersichtlicher gestaltet werden kann. Man kann dadurch auch die grobe Struktur des Dokumentes auf einen Blick erkennen. Die Namen der Elemente werden als generierter Inhalt vor dem jeweiligen Eingabefeld angezeigt. Die Links innerhalb der XHTML-Eingabefelder werden blau und unterstrichen angezeigt und sind somit sofort als Links erkennbar. Für Elemente, deren Inhalte durch Muster spezifiziert sind, wird die erlaubte Form der Inhalte neben dem Eingabefeld angezeigt. Elemente, deren Inhalte nur vorgegebene Werte enthalten können, werden in Form von Radioboxen, Checkboxen oder Popup-Menüs dargestellt. Elemente, die mehrfach vorkommen können, können direkt im Formular durch einen Klick auf ein entsprechendes Feld erzeugt werden. Dies wird durch das Einbinden der editoreigenen Kommandos insert bzw. add mit den entsprechenden Parametern realisiert.

29 4 Implementierungsaspekte Einbindung eigener Vorlagen in die Dokumentvorlagenliste Wenn man ein neues Dokument erstellen möchte, kann man die entsprechende Vorlagendatei, vorlesung.xml oder aufgabenblatt.xml als Vorlage öffnen oder als Kopie öffnen. Die XML-Datei muss dabei eine oder mehrere Bearbeitungsinstruktio- nen der Form <?xml-stylesheet type="..." href="..."?> enthalten, um dazugehörige CSS-Stylesheets einzubinden. Eine bessere Möglichkeit ist es, wenn man auf Datei Neu klickt und die benötigte Vorlage aus der Liste der Dokumentvorlagen auswählen kann. Um eine neue Vorlage in die Liste einzubinden, muss eine Konfigurationsdatei mit der Endung xxe erstellt werden. In dieser Datei wird der Name der Konfiguration festgelegt und es werden sowohl die Position der XML-Datei, die als Vorlage dienen soll, als auch die Positionen der dazugehörigen Stylesheet-Dateien angegeben. Außerdem werden bestimmte Parameter festgelegt. Die Konfigurationsdatei muss sich in einem speziellen XXE-Verzeichnis befinden. Dieses Verzeichnis wird bei jedem Start von XXE rekursiv nach Konfigurationsdateien durchsucht. Nachdem eine Konfiguration erstellt und in dem entsprechenden Verzeichnis abgelegt wurde, erscheint deren Name automatisch in der Liste der verfügbaren Dokumentvorlagen (siehe Bild 8). Bild 8: Liste der Dokumentvorlagen

30 Kurze Einführung in die Bedingung von XXE 4.4 Kurze Einführung in die Bedingung von XXE Um ein neues Dokument zu erstellen, klickt man auf Datei Neu und wählt aus der Liste der verfügbaren Dokumentvorlagen die benötigte Vorlage aus, z.b. Aufgabenblatt - Template oder Vorlesung - Template. Es wird eine entsprechende Vorlage geöffnet. Sie besteht aus allen nicht optionalen Elementen, die im dazugehörigen Schema definiert sind. Die meisten Eingabefelder sind leer. Um einen Text einzugeben, klickt man auf das entsprechende Eingabefeld. Es existieren zwei Möglichkeiten wie man ein Element auswählt, damit man es z.b. löschen (falls erlaubt) oder ein neues Element davor oder danach einfügen kann. Zum einen kann man die Überschrift des Elementes neben dem Eingabefeld anklicken. Zum anderen kann man das Element in der so genannten Knotenpfadzeile (siehe Bild 9) durch einen Klick darauf auswählen. Die zweite Möglichkeit ist unverzichtbar bei Elementen, die keine visuel- Bild 9: Knotepfadzeile le Darstellung haben. Die ausgewählten Elemente bekommen eine rote Umrandung. Nachdem das Element ausgewählt wurde, klickt man mit der rechten Maustaste darauf und wählt aus dem Kontextmenü den entsprechenden Befehl aus, zum Beispiel Danach einfügen..., um ein neues Element hinter dem ausgewählten Elementen einzufügen. Es wird eine Liste der Elemente angezeigt, die laut dem zugehörigen Schema an dieser Stelle eingefügt werden dürfen. Als letzter Schritt wird das entsprechende Element ausgewählt. Alternativ kann man für einige Befehle auf ein entsprechendes Icon klicken, anstatt das Kontextmenü zu öffnen. Wie man sieht, braucht man mindestens drei Schritte, um ein neues Element auf dem Standardweg einzufügen. Deswegen habe ich für einige Elemente, die öfters eingefügt werden, editorspezifische Kommandos in die Vorlagen eingebaut. Damit kann man mit einem einzigen Klick auf z.b. neue Aufgabe hinzufügen oder Lösung hinzufügen ein entsprechendes Element mit seinen Unterelementen erzeugen (siehe Bild 10). Bild 10: Eingebautes Kommando Lösung hinzufügen

31 4 Implementierungsaspekte 25 Beim Arbeiten in einem XHTML-Eingabefeld, das sind z.b. Rümpfe von Aufgaben und Lösungen, kann man mit der oben beschriebenen Methode beliebige XHTML- Tags innerhalb der Eingabefelder einfügen. Damit hat man alle gestalterischen Möglichkeiten von XHTML und kann unter anderem Bilder, Tabellen und Verweise benutzen. Die weiterführenden Möglichkeiten von XXE, wie z.b. Konvertieren von Elementen oder Aufteilen und Zusammenfügen von Elementen, sind ausführlich in dem XXE User s Guide (siehe [10]) beschrieben.

32

33 5 Ergebnisse und Ausblick 5.1 Ergebnisse Die Aufgabe dieser Arbeit war, einen benutzerfreundlichen Editor für die Erstellung der vorlesungsbegleitenden Materialien in XML-Format zu entwickeln. Für diese Aufgabe sollte ein allgemeiner XML-Editor adaptiert werden. Als Ausgangspunkt diente dabei der XMLMind XML Editor (XXE). Außerdem musste die, in Grundzügen vorhandene, XML-Struktur für den Übungsbetrieb einer Vorlesung verfeinert und verbessert werden. Die letzte Aufgabe habe ich dadurch gelöst, dass ich die Beziehungen zwischen den beiden Dokumenttypen - dem Vorlesungsdokument und dem Aufgabenblattdokument - und zwischen den einzelnen Elementen darin untersucht habe. Außerdem habe ich die Besonderheiten des XXE berücksichtigt und habe die neuen Erkenntnisse mit in die Struktur einfließen lassen, z.b. die unterschiedlichen Editiermöglichkeiten für Elemente und Attribute. Als Ergebnis sind zwei, gegenüber der Vorgängerarbeit stark veränderte Dokumenttypen entstanden. Als Beschreibungssprache für die Dokumentstrukturen habe ich RELAX NG Schema benutzt und nicht die DTD, was eine Reihe von Vorteilen hat (siehe Kapitel 2.1.2). Als Ausgangspunkt für die Hauptaufgabe dieser Arbeit, nämlich einen benutzerfreundlichen XML-Editor für vorlesungsbegleitende Materialien durch Adaption eines allgemeinen XML-Editors zu entwickeln, dienten die beiden im letzten Schritt entstandenen Schemata: vorlesung.rng und aufgabenblatt.rng. Für diese Schemata habe ich passende CSS-Vorlagen entwickelt. Durch die CSS-Vorlagen werden Dokumente im XXE in Form eines Formulars dargestellt. Für jedes Element, das editierbar ist, gibt es ein Eingabefeld, welches je nach Funktion entweder reine Texteingaben oder XHTML-Eingaben erlaubt. Bei XHTML-Eingaben ist unter anderem das Einfügen von Bildern, Tabellen und Links erlaubt. Einige Eingabefelder sind durch reguläre Ausdrücke beschränkt. In diesem Fall sind keine Eingaben, die von den entsprechenden Ausdrücken abweichen, möglich. Für einige Elemente, die nur eine kleine Anzahl von ganz bestimmten Werten annehmen können, habe ich keine Eingabefelder, sondern Dialogelemente, wie Radioboxen, Checkboxen und Popup-Menüs

34 Ergebnisse benutzt. Für Elemente die in einem Dokument mehrfach vorkommen können habe ich editorspezifische Kommandos in die Vorlagen eigebaut, so dass es möglich ist, das neue Element mit seinen Unterelementen durch einen einzigen Klick zu erzeugen. Zusammenfassend kann man sagen, dass das Bearbeiten eines Dokumentes in einer Art Formular, welches durch CSS-Vorlagen erzeugt wird, viel komfortabler und weniger fehleranfällig ist, als z.b. in einer Baumansicht, welche benutzt wird, falls keine Vorlage existiert. Durch Erweiterungen, wie reguläre Ausdrücke, Dialogelemente etc. kann die Benutzerfreundlichkeit weiter gesteigert werden. In Bild 11 wird die vorlagenbasierte Bearbeitung eines Vorlesungsdokuments und in Bild 12 die vorlagenbasierte Bearbeitung eines Aufgabenblattdokuments im XXE veranschaulicht. Bild 11: Screenshot: Bearbeitung eines Vorlesungsdokuments

35 5 Ergebnisse und Ausblick 29 Bild 12: Screenshot: Bearbeitung eines Aufgabenblattdokuments Zum Vergleich wird in Bild 13 ein Ausschnitt der Baumansicht eines Aufgabenblattdokuments gezeigt. Bild 13: Ausschnitt der Baumansicht eines Aufgabenblattdokuments

36 Ausblick Die produzierte XML-Datei sieht folgendermaßen aus (ein Ausschnitt): <aufgabenblatt ausgabe=" " id="3" vorlesung="algospiel" xmlns=" xmlns:html=" xmlns:ab=" <kommentare> <html:body> <html:p>platz für Kommentare.</html:p> </html:body> </kommentare> <autoren>prof. Dr. Burkhard Monien, Thomas Sauerwald</autoren> Als grobe Aufwandsabschätzung kann ich sagen, dass die von mir entwickelten CSS- Vorlagen jeweils etwa Zeilen Code enthalten. Die RELAX NG Schemata sind jeweils etwa Zeilen groß. Die XXE-Konfigurationsdateien enthalten jeweils weniger als 20 Zeilen Code. Im Vergleich dazu enthält die CSS-Vorlage für XHTML- Unterstützung, die mit dem Editor mitgeliefert wird, bereits etwa 700 Zeilen Code. 5.2 Ausblick Sowohl die entwickelte XML-Struktur als auch die CSS-Vorlagen und Konfigurationsdateien sehen eine spätere Erweiterung vor. Die XML-Struktur wurde nur für den Übungsbetrieb einer Vorlesung entwickelt. Damit das System in der Praxis sinnvoll einsetzbar ist, muss die Struktur erweitert werden, um alle anderen Teile des Webauftritts einer Vorlesung zu erfassen. Eine solche Erweiterung ist in der jetzigen Struktur vorgesehen, so dass keine großen Änderungen notwendig sind, um diese zu erweitern. Das Element vorlesungsmaterialien in dem Vorlesungsdokument, welches im Moment als einziges Unterelement das Element uebungsbetrieb enthält, kann um weitere Elemente wie z.b. folienskript etc. ergänzt werden. Die Strukturen der neu hinzugekommenen Teile des Webauftritts einer Vorlesung müssen dann in externen Schemata festgelegt werden, wie z.b. skript.rng oder aktuelles.rng. Für diese neuen Schemata müssen dann neue CSS-Vorlagen erstellt werden. Eine weitere mögliche Erweiterung besteht darin, dass man das Bearbeiten der Dokumente mit Hilfe selbst geschriebener Java-Plugins noch benutzerfreundlicher gestaltet. So ist zum Beispiel vorstellbar, dass man eigene Links in der Form <link-aufgabe blatt="..." nr="..."> definiert, so dass man sie dann in den XHTML-Eingabefeldern wie normale XHTML-Tags benutzen kann. Allerdings sind

37 5 Ergebnisse und Ausblick 31 solche Erweiterungen mit einem ziemlich großen Aufwand verbunden. Eine andere Art der Verbesserung der Benutzerfreundlichkeit wäre, die Bedienoberfläche genauer an die Aufgabe anzupassen. Das kann mit Hilfe relativ einfacher Konfigurationsdateien erreicht werden. Dafür muss überlegt werden, welche Befehle wie oft während der Bearbeitung eines Dokuments benutzt werden.

38

39 Literaturverzeichnis [1] Anderson, Richard et al., XML professionell, MITP, 2000 [2] Behme, Henning, Stefan Mintert, XML in der Praxis, Addison-Wesley, 2000 [3] Bradley, Neil, The XML Companion, Pearson Education, 2000 [4] XML-Spezifikation, deutsche Übersetzung, URL: Stand [5] Falk Eitzen, XQuery eingesetzt zur Generierung von Webseiten für Vorlesungsmaterialien, Studienarbeit an der Universität Paderborn, 2005 [6] CSS-2.0-Spezifikation, URL: Stand [7] SELFHTML, Kapitel Stylesheets (CSS), URL: Stand [8] Braun, André, RELAX NG, aus Proseminar Anwendungsspezifische Sprachen im Umfeld von XML, URL: pdf, Stand [9] Hagenkötter, Sebastian, Generierung textueller Struktureditoren, Studienarbeit an der Universität Paderborn, 2003 [10] Hussein, Shafie, XMLMind XML Editor - User s Guide, URL: distrib/doc/user/index.html, Stand

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

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

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

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

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Die Textvorlagen in Microsoft WORD und LibreOffice Writer Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag

Mehr

Informationen zu den regionalen Startseiten

Informationen zu den regionalen Startseiten Informationen zu den regionalen Startseiten Inhaltsverzeichnis Informationen zu den regionalen Startseiten 1 1. Grundlegende Regeln 2 1.1. Was wird angezeigt? 2 1.2. Generelle Anzeigeregeln 2 2. Anpassbare

Mehr

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden? Anforderung Durch die Bearbeitung einer XML-Datei können Sie Ihre eigenen Dokumentationen (z.b. PDF-Dateien, Microsoft Word Dokumente

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr

GEONET Anleitung für Web-Autoren

GEONET Anleitung für Web-Autoren GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden

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

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

Word 2010 Schnellbausteine

Word 2010 Schnellbausteine WO.001, Version 1.0 02.04.2013 Kurzanleitung Word 2010 Schnellbausteine Word 2010 enthält eine umfangreiche Sammlung vordefinierter Bausteine, die sogenannten "Schnellbausteine". Neben den aus den früheren

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen. Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen. Klicken Sie auf Neu anlegen, um Ihre neue Angebotseite zu erstellen..

Mehr

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Grunddaten ändern... 5 Weitere Artikeleigenschaften... 5 Der WYSIWYG-Editor... 6

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

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

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

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

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

Handbuch für Redakteure

Handbuch für Redakteure Handbuch für Redakteure Erste Schritte... 1 Artikel erstellen... 2 Artikelinhalt bearbeiten... 3 Artikel bearbeiten... 3 Trennen der Druck- und der Online-Version.. 4 Grunddaten ändern... 5 Weitere Artikel-eigenschaften...

Mehr

Der transparente Look. Die Struktur, die oben angegeben wurde, ist im Anwendungsdesigner, wie in der nächsten Grafik ersichtlich, abgebildet.

Der transparente Look. Die Struktur, die oben angegeben wurde, ist im Anwendungsdesigner, wie in der nächsten Grafik ersichtlich, abgebildet. Intrapact Layout Allgemeines Das Layout einer Firma wird im Intrapact Manager, und dort im Layout Designer erstellt. Alle Eingaben im Layout Designer dienen dazu um die CSS/ASP Dateien zu generieren, die

Mehr

PowerPoint: Text. Text

PowerPoint: Text. Text PowerPoint: Anders als in einem verarbeitungsprogramm steht in PowerPoint der Cursor nicht automatisch links oben auf einem Blatt in der ersten Zeile und wartet auf eingabe. kann hier vielmehr frei über

Mehr

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

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

Mehr

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags 2013 style_sheet_bis_verlag_20130513 Arbeiten mit der Dokumentvorlage des BIS-Verlags... 3 Dokumentvorlage Wofür?... 3 Wohin mit der Dokumentvorlage...

Mehr

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0)

Erstellung von Reports mit Anwender-Dokumentation und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) Erstellung von und System-Dokumentation in der ArtemiS SUITE (ab Version 5.0) In der ArtemiS SUITE steht eine neue, sehr flexible Reporting-Funktion zur Verfügung, die mit der Version 5.0 noch einmal verbessert

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

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Inhalt 1 Vorbereitungen... 3

Inhalt 1 Vorbereitungen... 3 Inhalt 1 Vorbereitungen... 3 1.1 Neues Dokument... 3 1.2 Formatvorlagen... 3 2 Facharbeit schreiben... 4 3 Inhaltsverzeichnis... 4 4 Seitennummern... 5 4.1 Seitenzahl einfügen... 5 4.2 Erste Seite Anders...

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

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

Migration von statischen HTML Seiten

Migration von statischen HTML Seiten Migration von statischen HTML Seiten Was ist Typo3 Typo3 ist ein Content Mangement System zur Generierung von Internetauftritten. Dieses System trennt Inhalt, Struktur und Layout von Dokumenten und stellt

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

MINDMAP. HANDREICHUNG (Stand: August 2013)

MINDMAP. HANDREICHUNG (Stand: August 2013) MINDMAP HANDREICHUNG (Stand: August 2013) Seite 2, Mindmap Inhalt Eine Mindmap anlegen... 3 Einstellungen für die Mindmap... 3 Inhalte in der Mindmap voranlegen... 4 Inhalte in der Mindmap anlegen... 5

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

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Text Formatierung in Excel

Text Formatierung in Excel Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden

Mehr

Viele Bilder auf der FA-Homepage

Viele Bilder auf der FA-Homepage Viele Bilder auf der FA-Homepage Standardmäßig lassen sich auf einer FA-Homepage nur 2 Bilder mit zugehörigem Text unterbringen. Sollen es mehr Bilder sein, muss man diese als von einer im Internet

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten. Personenverzeichnis Ab dem Wintersemester 2009/2010 wird das Personenverzeichnis für jeden Mitarbeiter / jede Mitarbeiterin mit einer Kennung zur Nutzung zentraler Dienste über das LSF-Portal druckbar

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Jun-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Content Management System (CMS) Manual

Content Management System (CMS) Manual Content Management System (CMS) Manual Thema Seite Aufrufen des Content Management Systems (CMS) 2 Funktionen des CMS 3 Die Seitenverwaltung 4 Seite ändern/ Seite löschen Seiten hinzufügen 5 Seiten-Editor

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

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

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

104 WebUntis -Dokumentation

104 WebUntis -Dokumentation 104 WebUntis -Dokumentation 4.1.9.2 Das elektronische Klassenbuch im Betrieb Lehrer Aufruf Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort am System an. Unter den aktuellen Tagesmeldungen erscheint

Mehr

PowerMover. Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010

PowerMover. Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010 PowerMover Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010 Inhaltsverzeichnis: 1 Einleitung... 2 2 Bedienung... 3 2.1 Outlook-Menü-Leiste... 3 2.2 Den

Mehr

Prozesse. Anlegen einer neuen Prozessdefinition

Prozesse. Anlegen einer neuen Prozessdefinition Prozesse Durch einen Prozess kann man Abläufe in einem Unternehmen abbilden und mit einem Berechtigungsworkflow hinterlegen. Beispiele dafür sind Urlaub, Sonderurlaub, Dienstgang, Dienstreise, Überstunden,

Mehr

Erstellen eines Beitrags auf der Homepage Schachverband Schleswig-Holstein - Stand vom 01.06.2015

Erstellen eines Beitrags auf der Homepage Schachverband Schleswig-Holstein - Stand vom 01.06.2015 Erstellen eines Beitrags auf der Homepage Einleitung... 3 01 Startseite aufrufen... 4 02 Anmeldedaten eingeben... 5 03 Anmelden... 6 04 Anmeldung erfolgreich... 7 05 Neuen Beitrag anlegen... 8 06 Titel

Mehr

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

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

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Gezielt über Folien hinweg springen

Gezielt über Folien hinweg springen Gezielt über Folien hinweg springen Nehmen wir an, Sie haben eine relativ große Präsentation. Manchmal möchten Sie über Folien hinweg zu anderen Folien springen. Das kann vorkommen, weil Sie den gesamten

Mehr

Datei Erweiterungen Anzeigen!

Datei Erweiterungen Anzeigen! Einleitung Beim Kauf eines PCs werden die Dateierweiterungen sowie einige Dateien nicht angezeigt. Grund: Es gibt sehr viele Dateien die für das System ganz wichtig sind. Diese Dateien und auch Ordner

Mehr

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Format- oder Stilvorlagen

Format- oder Stilvorlagen Vorraussetzung Sie sollten Grundkenntnisse der HTML-Sprache besitzen, um die Ausbildungseinheit Formatvorlagen, auch Stilvorlagen genannt, ohne Probleme verstehen zu können. Ist dies nicht der Fall, empfehlen

Mehr

QTTabBar Einrichtung, ein Tutorial

QTTabBar Einrichtung, ein Tutorial QTTabBar Einrichtung, ein Tutorial Von Heiko Schulze Eines der ganz entscheidenden Dinge, das im Explorer fehlt ist das tabunterstützte Navigieren. Dafür gibt es bereits seit Jahren die QTTabBar. Sie wurde

Mehr

TYPO3 Super Admin Handbuch

TYPO3 Super Admin Handbuch TYPO3 Super Admin Handbuch Erweiterung News Für das System der Maria Hilf Gruppe Version 02 09.03.10 Erstellt durch: NCC Design Florian Kesselring Zeltnerstraße 9 90443 Nürnberg 1 Inhaltsverzeichnis Inhalt

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe

Mehr

Layoutmodelle. Steffen Schwientek Große Klostergasse 5 61169 Friedberg Email:schwientek@web.de Web :schlaukopp.org

Layoutmodelle. Steffen Schwientek Große Klostergasse 5 61169 Friedberg Email:schwientek@web.de Web :schlaukopp.org Layoutmodelle HTML wurde von ihren Erfindern nicht als Layoutsprache entworfen, sondern zur Informationsübermittlung entworfen Es gab verschiedene Modelle, welche das Web populär machten und. Bei Erstellung

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Dateimanagement in Moodle Eine Schritt-für

Dateimanagement in Moodle Eine Schritt-für Übersicht: Lehrende können Dateien in einen Moodle-Kurs hochladen, in Verzeichnissen verwalten und für Studierende zugänglich machen. Jeder Moodle-Kurs hat einen Hauptordner Dateien im Administrationsblock.

Mehr

Der SAP BW-BPS Web Interface Builder

Der SAP BW-BPS Web Interface Builder Der SAP BW-BPS Web Interface Builder Projekt: elearning SAP BPS Auftraggeber: Prof. Dr. Jörg Courant Gruppe 3: Bearbeiter: Diana Krebs Stefan Henneicke Uwe Jänsch Andy Renner Daniel Fraede Uwe Jänsch 1

Mehr

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente

Mehr

Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==-

Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==- Kurzübericht der implementierten Funktionen der Fachinformatiker -== Info Datenbank ==- Einleitung : Zu Beginn möchte ich kurz den Sinn dieser Datenbank erläutern. Als Webmaster der Fachinformatiker -==

Mehr

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet. 5.6. Der HTML-Editor Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet. Bild 33: Der Editor 5.6.1. Allgemeine

Mehr

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden. Nach den Änderungen die Facebook vorgenommen hat ist es einfacher und auch schwerer geworden eigene Seiten einzubinden und

Mehr

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt

Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Textgestaltung mit dem Editor TinyMCE Schritt für Schritt Folgender Artikel soll veröffentlicht und mit dem Editor TinyMCE gestaltet werden: Eine große Überschrift Ein Foto Hier kommt viel Text. Hier kommt

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis BOKUbox BOKUbox ist ein Spezialservice für alle Mitarbeiter/innen der BOKU. Kurzfristiger Austausch von vielen und großen Dateien kann Ihre Mailbox schnell überlasten. BOKUbox ist die perfekte Alternative

Mehr

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

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

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

XML-Austauschformat für Sicherheitsdatenblätter

XML-Austauschformat für Sicherheitsdatenblätter XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.

Mehr

TYPO3 Tipps und Tricks

TYPO3 Tipps und Tricks TYPO3 Tipps und Tricks Seiten als Shortcut. Hiermit ist gemeint, dass eine Oberseite direkt auf eine tiefere Unterseite verlinkt. Dies kann bei Themen ohne gesonderte Übersichtsseite hilfreich sein. Zum

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

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

Mehr

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig? Pädagogik Melanie Schewtschenko Eingewöhnung und Übergang in die Kinderkrippe Warum ist die Beteiligung der Eltern so wichtig? Studienarbeit Inhaltsverzeichnis 1. Einleitung.2 2. Warum ist Eingewöhnung

Mehr