Standardisierte Auszeichnungssprachen der ... - Universität Stuttgart

Anwendungsbereiche, in dem Elemente, Parameter und Optionen festgelegt sind. Das erweiterte Profil ..... satz zu X3D gibt es bei diesen beiden Formaten nur eine Binär-Repräsentati- on der Daten. .... . .
7MB Größe 8 Downloads 268 Ansichten
Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme

Von der Fakultät Informatik, Elektrotechnik und Informationstechnik der Universität Stuttgart zur Erlangung der Würde eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigte Abhandlung

Vorgelegt von Martin Christian Rotard aus Stuttgart

Hauptberichter:

Prof. Dr. Thomas Ertl

Mitberichter:

Prof. Dr. Rul Gunzenhäuser

Tag der mündlichen Prüfung:

19. Juli 2005

Institut für Visualisierung und Interaktive Systeme der Universität Stuttgart

2005

Für Melanie und Emily, für meine Eltern und meine Oma.

Kurzfassung Computergraphik wird in vielen Bereichen der anwendungsorientierten Informatik, von der optischen Gestaltung graphischer Benutzungsoberflächen bis zur Visualisierung wissenschaftlicher Zusammenhänge eingesetzt. Auszeichnungssprachen zur Beschreibung graphischer Information erweitern diese Einsatzmöglichkeiten um die Animation und die Interaktion mit den Inhalten. In dieser Arbeit werden neue Verfahren und Strategien entwickelt, die den Einsatz von standardisierten Auszeichnungssprachen der Computergraphik in den Bereichen Benutzungsoberflächen und Lehrmaterialien ermöglichen. Dabei liegt ein Schwerpunkt auf der Zugänglichkeit von graphischen Inhalten für blinde Menschen, insbesondere durch interaktive Exploration von taktilen Darstellungen. Diese Arbeit stellt Methoden für die Beschreibung von skalierbaren Interaktionselementen mit Auszeichnungssprachen vor, die an verschiedenste Anzeigegeräte angepasst werden können. Darauf aufbauend entstanden neue Konzepte für zoombare Benutzungsoberflächen zur variablen Größendarstellung von Interaktionselementen und deren Inhalten. Erstmals werden auch Methoden vorgestellt, um die Darstellung von Benutzungsoberflächen, die mit Auszeichnungssprachen beschrieben werden, auf andere Rechner zu übertragen. Der Einsatz von Graphiken, die auf Auszeichnungssprachen basieren, bietet bei deren Erstellung, Handhabung und Anwendung erhebliche Vorteile gegenüber herkömmlicher Rastergraphik. Diese Arbeit stellt neue Verfahren vor, um die Formatierungen von Graphiken in Lehrmodulen anzupassen. Entwickelt werden unter anderem Konzepte für die Generierung von Lehrmodulen, die eine flexible Wiederverwendung in verschiedenen Lernszenarien ermöglichen. Für blinde Menschen bilden textuelle Inhalte die Hauptinformationsquelle bei ihrer Arbeit mit Computersystemen. Die ganzheitliche Darstellung von textuellen und graphischen Inhalten ist für viele Anwendungen jedoch unabdingbar. Mit Graphik, die auf Auszeichnungssprachen basiert, können erstmals Verfahren für die taktile Repräsentation präsentiert werden, die eine ganzheitliche Erschließung der graphischen Inhalte ermöglichen. Dazu werden Methoden vorgestellt, die blinden Menschen den Zugang zu mathematischen Ausdrücken, zu 2D- und zu 3D-Graphiken gestatten. Dies wird an einem taktilen Web-Browser demonstriert, der den Zugang zu diesen unterschiedlichen Graphikarten integriert. v

Abstract Computer graphics is used in many fields of computer science, ranging from the presentation of user interfaces to the visualization of scientific aspects. These application areas are extended by techniques for animation and for interacting with the content, based on the description by markup languages. This thesis proposes new methods and strategies for standardized markup languages for user interfaces and for learning materials. One focus is on the access to the graphical content for visually disabled people, achieved by an interactive exploration of tactile representations. In this thesis new methods for the description of scalable components for graphical user interfaces by using markup languages are presented. The components can be adapted to the limitations of a variety of output devices. Zoomable user interfaces provide a variable size for the components and the content. Novel methods are introduced for transmitting algorithmically generated user interfaces described by markup languages to various other computers. Graphics based on markup languages has substantial advantages in their creation, handling and application compared to conventional raster graphics. This thesis presents new methods and strategies in order to adapt the visual attributes of the graphics to the formatting of learning modules in different learning platforms. Among others, concepts for generating learning modules, which allow a flexible re-use in different learning scenarios, are developed. Plain text is the main source of information for visually disabled people working with computers. However, in many applications the holistic access to documents consisting of text and graphics is indispensable. To access graphical contents by means of tactile representations, methods are proposed for graphics based on markup languages. Additionally, methods for visually disabled people are developed to use mathematical expressions, as well as 2D- and 3D-graphics. All concepts are integrated into a tactile web browser where all variants of graphics can be accessed in a unique way.

vii

Danksagung Diese Arbeit entstand am Institut für Visualisierung und Interaktive Systeme der Universität Stuttgart. Den Mitarbeitern des Instituts, die mich auf meinem Weg der Dissertation begleitet haben, danke ich für das hervorragende Arbeitsklima. Insbesondere bedanke ich mich herzlich bei meinem Doktorvater Prof. Dr. Thomas Ertl für sein großes wissenschaftliches Engagement und für seine technologischen Visionen. In unzähligen Gesprächen entstanden daraus unterer anderem die Bausteine für meine Doktorarbeit. Für die detaillierten Diskussionen über die Inhalte meiner Doktorarbeit möchte ich Prof. Dr. Rul Gunzenhäuser herzlich danken. Bei meiner Familie bedanke ich mich für die Kraft und die Unterstützung, die für die Realisierung dieser Arbeit notwendig waren. Für die inhaltliche und syntaktische Korrektur danke ich Melanie Rotard, Traudel Rotard, Joachim Diepstraten, Astrid Spurk, Dr. Andreas Hub, Dr. Matthias Ressel, Alfred Werner und Dr. Daniel Weiskopf. Darüber hinaus danke ich meinen Diplom- und Studienarbeitern Klaus Bosse, Bodo Josefy, Kerstin Otte und Sven Knödler und meinen studentischen Hilfskräften Nina Dengler, Tülay Cetin, Lars Heinemann, Steffen Müller, Oliver Rendgen, Ralf Botchen und Tobias Schafhitzel, die mir bei der Umsetzung meiner Ziele eine große Hilfe waren. Für die hervorragende Zusammenarbeit bei zahlreichen wissenschaftlichen Veröffentlichungen bedanke ich mich bei Prof. Dr. Thomas Ertl, Lutz Finsterle, Dr. Daniel Weiskopf, Dr. Matthias Ressel, Dr. Waltraud Schweikhardt, Dr. Cora Burger und Arno Wacker. Mein Dank gilt auch allen involvierten Personen im BMBF-Projekt Information Technologie Online (ITO) und den beiden Initiatoren der Lernplattform Metacoon Annett Zobel und Matthias Hupfer für die Weiterentwicklung und Integration des ITO-Lehrmodulformats. Desweiteren bedanke ich mich für die inhaltliche Bereicherung meiner Arbeit und für die erkenntnisreichen Diskussionen bei Prof. Dr. Gerhard Weber, Dr. Frank Hanisch, Thomas Zink, Mark Giereth, Frank Götz und Cameron McCormack.

ix

Inhaltsverzeichnis 1 Einleitung.........................................................................................................13 1.1 Graphische Standards...............................................................................13 1.2 Beiträge der Arbeit.....................................................................................16 1.3 Gliederung der Arbeit.................................................................................18 2 XML-basierte Graphikstandards....................................................................21 2.1 Standardisierte Auszeichnungssprachen der Computergraphik................22 2.2 Extensible Markup Language.....................................................................24 2.2.1 Zur Geschichte....................................................................................24 2.2.2 Aufbau und Strukturbeschreibung.......................................................25 2.2.3 Eigenschaften......................................................................................30 2.3 Rastergraphik und Vektorgraphik..............................................................33 2.4 Scalable Vector Graphics...........................................................................34 2.4.1 Zur Geschichte....................................................................................34 2.4.2 Aufbau und Eigenschaften..................................................................34 2.4.3 Modularisierung: SVG Tiny und SVG Basic........................................38 2.4.4 Abgrenzung zu anderen 2D-Vektorgraphikformaten..........................39 2.5 Mathematical Markup Language................................................................41 2.5.1 Zur Geschichte....................................................................................41 2.5.2 Aufbau und Eigenschaften..................................................................41 2.5.3 Abgrenzung zu anderen Formaten für mathematische Ausdrücke....43 2.6 Extensible 3D.............................................................................................44 2.6.1 Zur Geschichte....................................................................................45 2.6.2 Aufbau und Eigenschaften..................................................................45 2.6.3 Abgrenzung zu anderen 3D-Computergraphikformaten.....................47 2.7 Weitere XML-basierte Graphikstandards...................................................48 2.7.1 Synchronized Multimedia Integration Language.................................49 2.7.2 XForms................................................................................................50 2.8 Zusammenfassung.....................................................................................52 3 XML-basierte Graphik in Benutzungsoberflächen......................................55 3.1 Vorausgegangene Arbeiten.......................................................................56 3.2 XML-basierte skalierbare Widgets-Sets.....................................................59 3.2.1 XML-basierte Widgets.........................................................................60 3.2.2 Vereinfachte Handhabung von Widgets mit sXBL..............................63 3.2.3 Zoombare Benutzungsoberflächen.....................................................64 xi

3.3 Übertragung von Benutzungsoberflächen.................................................69 3.3.1 Simulation von Geräten.......................................................................70 3.3.2 Verarbeitung von Ereignissen.............................................................73 3.3.3 Ereignisse auf dem Server..................................................................77 3.4 Ergebnisse.................................................................................................78 4 XML-basierte Graphik in Lehrmaterialien.....................................................81 4.1 Vorausgegangene Arbeiten.......................................................................87 4.2 Eigenschaften XML-basierter Graphik in Lehrmodulen.............................88 4.3 XML-basiertes Lehrmodulformat................................................................92 4.4 Transformation ins XML-basierte Lehrmodulformat...................................96 4.5 Erstellung von Lehrmodulen mit konventionellen Autorenwerkzeugen.....98 4.5.1 Auszeichnung von Inhalten mit Formatvorlagen.................................99 4.5.2 Assistenten zur Unterstützung der Auszeichnung............................101 4.6 Ergebnisse...............................................................................................104 5 Zugang blinder Menschen zu XML-basierter Graphik...............................107 5.1 Vorausgegangene Arbeiten.....................................................................108 5.2 Computergenerierte Darstellung von taktiler Graphik..............................111 5.3 Mathematische Ausdrücke.......................................................................113 5.4 2D-Graphiken...........................................................................................117 5.4.1 Transformationsschema....................................................................119 5.4.2 Steuerung der Exploration................................................................122 5.4.3 Explorationsfilter................................................................................125 5.5 3D-Graphiken...........................................................................................128 5.6 Taktiler Web-Browser...............................................................................131 5.6.1 Layout und Formatierung von Webseiten.........................................132 5.6.2 Exploration von Graphiken................................................................135 5.7 Ergebnisse...............................................................................................137 6 Ergebnisse der Arbeit und Ausblick...........................................................141 7 Anhang...........................................................................................................147 7.1 Abbildungsverzeichnis.............................................................................147 7.2 Abkürzungsverzeichnis............................................................................151 8 Literatur..........................................................................................................155

xii

1 Einleitung 1 Einleitung

At the beginning, there was HTML 1 and it was - for text documents only - for document structure only It was ideal for informative, albeit simple pages And it was good... Then came the gifs and the image maps... ... and the forms and the frames ... and the blinks and the fonts ... and the flashes, the quicktimes, the VRML-s, and other media ... and the Javascripts and the ECMAscripts and the applets And chaos reigns! Ivan Herman, Head of W3C Offices

1 Einleitung „Ein Bild sagt mehr als tausend Worte“ wurde zu einem wichtigen Grundsatz in der Ingenieurwissenschaft. Im Zeitalter der Medien ist graphische Information allgegenwärtig, insbesondere in den neuen Medien, die durch das Internet publiziert werden. Graphiken ergänzen dort textuelle Inhalte, bieten einen Überblick über komplexe Sachverhalte und wecken dazu die Aufmerksamkeit des Betrachters. Im ersten Abschnitt dieser Einleitung werden graphische Standards betrachtet. Dabei werden proprietäre und offene Standards erläutert sowie die Notwendigkeit von standardisierten Graphikformaten herausgestellt. Der zweite Abschnitt geht dann auf die Beiträge dieser Arbeit ein. Der letzte Abschnitt stellt die Gliederung der vorliegenden Arbeit vor.

1.1 Graphische Standards Für die Speicherung von Graphiken in informationsverarbeitenden Systemen stehen derzeit proprietäre Formate von Softwareherstellern den offenen von 13

1.1 Graphische Standards Konsortien entwickelten Formaten gegenüber. Proprietäre Formate sind auf die speziellen Anforderungen der zugehörigen Graphikprodukte zugeschnitten. Um die Benutzer nicht auf die Verwendung eines spezifischen Graphikprodukts festzulegen und um die Wiederverwendung von Graphiken zu ermöglichen, sind Import-/Exportfilter in den Produkten notwendig. Die Konvertierung einer Graphik in ein anderes Format ist allerdings oft nur mit Verlusten möglich, da bei den unterschiedlichen proprietären Produkten keine einheitlichen Konventionen über die Speicherung der Graphikinformation wie Farbtiefe, Metainformation, Effekte, etc. vereinbart wurden. Für einen offenen Graphikstandard ist es dagegen wichtig, möglichst viele Anforderungen von Graphikprodukten zu erfüllen, plattformübergreifend eingesetzt werden zu können, freien Zugang zur Dokumentation zu ermöglichen und uneingeschränkt verwendbar zu sein. Bei der Spezifikation von offenen Standards werden viele Interessengruppen integriert. Sobald ein offener Standard von vielen Graphikprodukten unterstützt und von einer großen Zahl von Benutzern angenommen wird, führt dies zu einer höheren Verbreitung und damit auch unmittelbar zu einer vereinfachten Handhabung für die Benutzer. Inhalte Text 2D-/3D-Graphik

Speicherformat

Kommunikations& Speichermedien

Ausgabegeräte

Netzwerk

Arbeitsplatzrechner

Rundfunk

Wiedergabe

Notebook

Photo

CD / DVD

Mobiles Gerät

Mathematischer Ausdruck

Festplatte

Spielekonsole

Video

Statischer Speicher

Fernseher

Abbildung 1.1: Graphische Inhalte, deren Übertragung, Speicherung und Ausgabe

Medieninhalte, die graphisch dargestellt werden können, gliedern sich in Text, 2D-/3D-Graphiken, Photos, mathematische Ausdrücke und Videos (vergleiche Abbildung 1.1). Jeder dieser Inhalte hat spezielle Eigenschaften, die in einem geeigneten Speicherformat abgebildet werden müssen. Bei der Definition 14

1.1 Graphische Standards eines solchen Formats spielen die Fähigkeiten der Benutzer und der Einsatzbereich des Inhalts eine wichtige Rolle. Auch das Kommunikations- und Speichermedium und die Ausgabegeräte der Benutzer müssen berücksichtigt werden. Stehen diese Anforderungen fest, werden die Daten des Medieninhalts dem Speicherformat entsprechend kodiert. Kommunikations- und Speichermedien besitzen nur begrenzte Kapazitäten, deshalb speichern viele Formate die Daten in komprimierter Form. Um hohe Kompressionsraten zu erreichen, müssen bei Photos und Videos verlustbehaftete Algorithmen eingesetzt werden. Dabei werden Teile der visuellen und auditiven Information verworfen, die der Benutzer nicht oder kaum wahrnehmen kann. Auch für die anderen Medieninhalte ist eine verlustbehaftete Komprimierung zwar möglich, jedoch kann deren algorithmische Umsetzung sehr komplex sein. Bei der Erstellung eines Medieninhalts wählen die Autoren den Randbedingungen entsprechend ein Speicherformat aus. Insbesondere wenn eine spätere Wiederverwendung oder eine Veränderung des Inhalts relevant werden, muss das Speicherformat Modifikationen ohne Qualitätseinbußen unterstützen. Dazu ist die Speicherung der Objektstrukturen im Format notwendig. Graphiken spielen auch in Benutzungsoberflächen eine zentrale Rolle. Sie ermöglichen den Benutzern auf direkte und einfache Weise mit einem Computersystem zu interagieren. Neben den Fenstersystemen hat sich im World Wide Web (WWW bzw. Web) die HyperText Markup Language (HTML) als eigenständige Beschreibungssprache für graphische Benutzungsoberflächen etabliert, die mit Web-Browsern dargestellt wird [WebArch, HTML]. Die frühen Dokumente des Webs waren rein textbasiert, konnten aber schon kurz darauf durch eingebettete Rastergraphiken ergänzt werden. Um zusätzliche Interaktionsmöglichkeiten zu bieten, haben die Hersteller ihre Web-Browser durch immer mehr Funktionalität und PlugIn-Schnittstellen erweitert. Da die Standards nicht von einem Konsortium verabschiedet und dann umgesetzt wurden, brachte dies einen „Wildwuchs“ von proprietären Quasi-Standards hervor. Die hierdurch entstandenen Kompatibilitätsprobleme erhöhen den Aufwand und die Kosten für die Erstellung von einheitlichen Benutzungsoberflä15

1.1 Graphische Standards chen im Web erheblich, da diese speziell für jeden Web-Browser und abhängig von dessen Version entwickelt werden müssen. Nicht zuletzt durch diesen Umstand wurden Konsortien aktiv, um einheitliche Standards zu entwickeln. Die aktuellen Standards bzw. Empfehlungen dieser Konsortien basieren auf Auszeichnungssprachen (Markup Languages). Die wichtigsten Konsortien im Bereich Auszeichnungssprachen der Computergraphik sind dabei das World Wide Web Consortium (W3C), das Web3D-Consortium und die Organization for the Advancement of Structured Information Standards (OASIS) [W3C, Web3D, OASIS]. Die gemeinsame Grundlage der aktuellen Auszeichnungssprachen bildet die 1998 von W3C verabschiedete Extensible Markup Language (XML). Die derzeit verwendeten Standards bieten verbesserte und vereinfachte Möglichkeiten für Autoren und Benutzer in der Erstellung und Handhabung von graphischer Information. Darüber hinaus ermöglichen die Standards eine Interaktion mit den Benutzern, einen vereinfachten Zugang zu graphischer Information und eignen sich für die Entwicklung flexibler Benutzungsoberflächen, die nicht nur auf Browseranwendungen begrenzt sind, sondern auch allgemein als Fenstersysteme eingesetzt werden können [Rice et al. 1996]. XML-basierte offene Standards bilden auch die Grundlage dieser Arbeit, da sie für die Erfordernisse von interaktiven Systemen am Besten geeignet sind.

1.2 Beiträge der Arbeit In dieser Arbeit werden neue Verfahren und Strategien für den Einsatz von standardisierten Auszeichnungssprachen der Computergraphik entwickelt. Dabei ist deren Verwendung nicht ausschließlich auf Inhalte im Web beschränkt, sondern für verschiedene Anwendungsgebiete und Nutzergruppen geeignet. XML-basierte Graphik in Benutzungsoberflächen sowie Lehr- und Lernmaterialien stehen als Anwendungsgebiete im Vordergrund. Ein Schwerpunkt liegt dabei auf der Zugänglichkeit von graphischen Inhalten für blinde Menschen. Ihnen wird mit taktilen Darstellungen der XML-basierten Graphik die interaktive Exploration ermöglicht. Graphiken werden in Benutzungsoberflächen für Interaktionselemente (Widgets), Icons, Menüs, etc. und in Lehrmaterialien für Diagramme, Graphen, ma16

1.2 Beiträge der Arbeit thematische Ausdrücke, Produktvisualisierungen, etc. verwendet. Graphik muss in diesen Bereichen flexibel einsetzbar und an unterschiedliche Randbedingungen anpassungsfähig sein. Insbesondere ist die Anpassung der Darstellungsgröße an die Auflösung des Ausgabegeräts für viele Anwendungsbereiche wichtig, wie beispielsweise bei mobilen Geräten. Diese Arbeit stellt Methoden für die Beschreibung von skalierbaren Interaktionselementen mit Auszeichnungssprachen vor, die an die Randbedingungen verschiedenster Anzeigegeräte angepasst werden können. Darauf aufbauend entstanden neue Konzepte für zoombare Benutzungsoberflächen, die eine variable Größenanpassung der Interaktionselemente und der Inhalte ermöglichen. Darüber hinaus werden erstmals Methoden vorgestellt, um die Darstellung von algorithmisch generierten, XML-basierten Benutzungsoberflächen auf andere Rechner zu übertragen. Die Ergebnisse zu diesem Themengebiet wurden in [Rotard 2004g] und [Rotard et al. 2005b] publiziert. Ein Konzept zur skalierbaren Darstellung von Benutzungsoberflächen wurde in der Diplomarbeit von Martin Barbisch erarbeitet [Barbisch 2002]. Bei der Übertragung von Benutzungsoberflächen mit standardisierten Auszeichnungssprachen hat die Diplomarbeit von Michael Küper einen wesentlichen Teil beigetragen [Küper 2003]. Der Einsatz von XML-basierter Graphik hat erhebliche Vorteile bei der Erstellung, Handhabung und Anwendung gegenüber herkömmlicher Rastergraphik. Diese Arbeit stellt auf XML basierende neue Verfahren und Strategien vor, um Graphiken den Formatierungen der Lehrmodulen für unterschiedliche Lernplattformen anzupassen. Entwickelt werden unter anderem Konzepte für die Generierung von Lehrmodulen, die eine flexible Wiederverwendung in verschiedenen Lernszenarien ermöglichen. Die Inhalte dieses Themenbereichs wurden zusammen mit Lutz Finsterle veröffentlicht [Finsterle et al. 2002, Finsterle et al. 2003, Rotard et al. 2003b, Rotard et al. 2004c]. Die Diplomarbeit von Bodo Josefy, in der eine Lernplattform mit Unterstützung von standardisierten Auszeichnungssprachen entwickelt wurde, diente dabei als Grundlage für die Aufbereitung von Lehrmodulen [Josefy 2002]. 17

1.2 Beiträge der Arbeit Für blinde Menschen bilden textuelle Inhalte die Hauptinformationsquelle bei ihrer Arbeit mit Computersystemen. Der Zugang zu Rastergraphikformaten ist für sie nur rudimentär, meist aber gar nicht möglich. Die ganzheitliche Darstellung von textuellen und graphischen Inhalten ist in vielen Anwendungen jedoch unabdingbar. Durch die Verwendung von XML-basierter Graphik werden erstmals Möglichkeiten aufgezeigt, graphische Inhalte auch durch taktile Darstellungen ganzheitlich zu erschließen. Dazu werden Verfahren vorgestellt, um blinden Menschen den Zugang zu mathematischen Ausdrücken, zu 2Dund zu 3D-Graphiken zu ermöglichen. Erstmalig wird ein taktiler Web-Browser demonstriert, der verschiedene Arten von Graphik integriert und taktil zugänglich macht. Durch interaktives Explorieren wird der Zugang zu graphischer Information auch für blinde Menschen ermöglicht und die ganzheitliche Erfassung in Kombination mit textueller Information erreicht. Die Transformation von mathematischen Ausdrücken in eine Notation für Blinde wurde mit Klaus Bosse und Waltraud Schweikhardt in [Rotard et al. 2003a] veröffentlicht und basiert auf der Diplomarbeit von Klaus Bosse [Bosse 2002]. Der Zugang blinder Menschen zu XML-basierten 2DGraphiken wurde mit Kerstin Otte in [Rotard et al. 2004a] und in [Rotard et al. 2004b] publiziert. Eine Grundlage dafür bildet die Studienarbeit von Kerstin Otte [Otte 2004]. Verfahren für den Zugang blinder Menschen zu 3D-Graphiken wurden in [Rotard 2004g] vorgestellt und basieren auf der Diplomarbeit von Martin Görke [Görke 2003]. Die Umsetzung des taktilen WebBrowsers wurde in der Studienarbeit von Sven Knödler erarbeitet und zusammen mit Sven Knödler veröffentlicht [Knödler 2005, Rotard et al. 2005c].

1.3 Gliederung der Arbeit In Kapitel 2 wird in Graphikstandards eingeführt, die auf XML basieren. Grundlegend dafür ist der Begriff „standardisierte Auszeichnungssprache“ der Computergraphik. Es werden des weiteren die Techniken von XML vorgestellt und ein Überblick über die graphischen Standards Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML) und Extensible 3D (X3D) gegeben. Darüber hinaus werden weitere XML-basierte Standards wie Syn-

18

1.3 Gliederung der Arbeit chronized Multimedia Integration Language (SMIL) und XML Forms (XForms) betrachtet. Im dritten Kapitel werden Konzepte für die Modellierung von graphischen Benutzungsoberflächen mit XML-basierten Widgets und Widget-Sets vorgestellt. Darauf aufbauend wird ein Konzept für zoombare Benutzungsoberflächen präsentiert. Anschließend werden neue Verfahren für die Darstellung von Benutzungsoberflächen mit XML-basierter Graphik auf entfernten Rechnern beschrieben. Kapitel 4 stellt Verfahren für den Einsatz XML-basierter Graphik in Lehrmaterialien vor. Dazu wird ein neues Lehrmodulformat präsentiert, das es ermöglicht, XML-basierte Graphik einzubetten und an die Randbedingungen von Lernplattformen flexibel anzupassen. Für die Erstellung von Lehrmodulen wurde ein Werkzeug entwickelt, das auf konventionellen Autorenwerkzeugen basiert. Der Zugang zu XML-basierter Graphik für blinde Menschen wird in Kapitel 5 vorgestellt. Für mathematische Ausdrücke, 2D- und 3D-Graphiken werden neue Verfahren realisiert, die taktile Repräsentationen der Graphiken erstellen. Die Erkennung der graphischen Information wird durch eine interaktive Exploration und durch das Anwenden von Explorationsfiltern ermöglicht. Die Konzepte werden in einen taktilen Web-Browser für blinde Menschen integriert, mit dem Webseiten ganzheitlich erfasst werden können. In Kapitel 6 werden die Ergebnisse der jeweiligen Bereiche dieser Arbeit zusammengefasst und mit einem Ausblick auf zukünftige Entwicklungen und neue Technologien für standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme versehen.

19

1.3 Gliederung der Arbeit

20

2 XML-basierte Graphikstandards 2 XML-basierte Graphikstandards

Your life is a web. Your data is a web. Tim Berners-Lee, Director of the World Wide Web Consortium

2 XML-basierte Graphikstandards Im Folgenden wird ein Überblick über die graphischen Standards Scalable Vector Graphics, Mathematical Markup Language und Extensible 3D gegeben. Dabei wird jeweils auf deren Geschichte, deren Aufbau und deren Eigenschaften eingegangen. Anschließend werden die Auszeichnungssprachen Synchronized Multimedia Integration Language und XML Forms kurz präsentiert. Die gemeinsame Basis dieser Formate bildet die Extensible Markup Language (XML). Daher stellen die ersten beiden Abschnitte dieses Kapitels die Eigenschaften von standardisierten Auszeichnungssprachen der Computergraphik und die Konzepte von XML in komprimierter Form vor. Abbildung 2.1 zeigt die Abhängigkeiten der in dieser Arbeit verwendeten XML-basierten Graphikformate.

SGML

HTML

VRML

XML

XHTML

MathML SVG

XForms SMIL

X3D

Abbildung 2.1: Entstehung der XML-basierten Graphikformate

21

2.1 Standardisierte Auszeichnungssprachen der Computergraphik

2.1 Standardisierte Auszeichnungssprachen der Computergraphik Standardisierte Auszeichnungssprachen der Computergraphik werden auch Web-Standards genannt. Sie müssen von einem internationalen Konsortium wie dem im Oktober 1994 gegründeten World Wide Web Consortium (W3C) als offener Standard vorgeschlagen werden. Der Ablauf der Standardisierung erfolgt nach einem vorab festgelegten Prozess. Als Mitglied darf jede Institution und Firma in Arbeitsgruppen des Konsortiums mitwirken. Das Ziel der Standardisierung ist die Konformität der Inhalte zu den Standards, was die Interoperabilität sicher stellt. Dies ist vorteilhaft beim Erstellen, Weiterverarbeiten und Anzeigen der Inhalte. Bei geringen Entwicklungskosten sind die Inhalte in einem breiteren Einsatzbereich verwendbar [Weakley 2004]. Außerdem unterliegen Web-Standards keinen lizenzrechtlichen Beschränkungen. Bei einem Web-Standard werden die Spezifikation, die Dokumentation und die Schnittstellen des Formats offen gelegt. Proprietäre Quasi-Standards, die durch aktive Verwendung eine weite Verbreitung erlangen, werden oft durch Reverse-Engineering erschlossen. Die Plattformunabhängigkeit einer Auszeichnungssprache wird erhöht, wenn der offene Standard die Trennung von Inhalt und Darstellung unterstützt. Daher werden Web-Standards nicht gerätespezifisch, sondern plattformunabhängig definiert. Durch so genannte Profile lassen sich manche Teile der Standards nach den Anforderungen der Anwendung auswählen. Dadurch kann auch für eine leistungsschwächere Geräteklasse eine Untermenge des Standards verwendet werden. Durch Mitwirkung von vielen unterschiedlichen Interessenvertretern, durch öffentliche Diskussion und durch die gemeinsame Übereinkunft ist ein anschließendes Umsetzen der Standards zu erwarten. Dadurch bleibt auch gewährleistet, dass unterschiedliche Nutzergruppen mit verschiedenen Anforderungen, wie beispielsweise der Zugang von sensorisch Behinderten zu den standardisierten Dokumenten, betrachtet werden.

22

2.1 Standardisierte Auszeichnungssprachen der Computergraphik Der Einsatz von Web-Standards erfolgt inzwischen multimodal und bleibt nicht mehr auf die ausschließliche Nutzung an Arbeitsplatzrechnern beschränkt. Daher müssen für Interaktionen auf mobilen Geräten neben Maus und Tastatur auch weitere Eingabegeräte wie beispielsweise Stift, Touchscreen oder Spracheingabe berücksichtigt werden [Froumentin 2003]. Die Nutzer profitieren von standardkonformen Inhalten durch einfachere Handhabung, durch schnellere Verarbeitungsgeschwindigkeit und durch höhere Zugänglichkeit für eine breite Nutzer- und Geräteklasse. Auch die Autoren der Inhalte profitieren von einer größeren Werkzeugunterstützung und Kompatibilität der Formate. Darüber hinaus können viele Inhalte der standardisierten Auszeichnungssprache durch Suchmaschinen indiziert werden, was deren Wiederverwendung und die weite Verbreitung fördert. Auszeichnungssprachen für komplexe Inhalte (Lehrmodule, Benutzungsoberflächen, etc.)

Meta-Auszeichnungssprache und Infrastruktur Kommunikation und Adressierung

etc...

X3D

SMIL

MathML

SVG

XHTML

Standardisierte Auszeichnungssprachen für Inhalte

Höhere Anwendungen

XML (Namespaces, Schema, XSLT, Xpath, Xlink, XInclude, etc.)

HTTP URI

Abbildung 2.2: Schichtendigramm der standardisierten Auszeichnungssprachen

Abbildung 2.2 stellt standardisierte Auszeichnungssprachen der Computergraphik des W3C und Web3D-Consortium in einem Schichtendigramm vor. Die Darstellung zeigt ausschließlich graphische Web-Standards und ist an ein 23

2.1 Standardisierte Auszeichnungssprachen der Computergraphik Schichtendiagramm des W3C angelehnt [Dardailler 2003]. Die Basis bilden der Universal Resource Identifier (URI), mit dem Ressourcen eindeutig adressiert werden können, und das darauf aufbauende Hypertext Transfer Protocol (HTTP) für die Kommunikation im Web. Die Extensible Markup Language (XML) spezifiziert Konventionen für strukturierte Datenformate. Dabei werden weitere Standards verwendet, die Teilaspekte wie Namensräume, Transformation, Referenzierung, Einbettung von Elementen, etc. abdecken. Auf dieser Basis bauen standardisierte Auszeichnungssprachen für Inhalte, die so genannten XML-Anwendungen wie Scalable Vector Graphics (SVG), Mathematical Markup Language (MathML), Extensible 3D (X3D), Synchronized Multimedia Integration Language (SMIL), etc. auf. Diese wiederum können verwendet werden, um Auszeichnungssprachen für komplexe Inhalte (Lehrmodule, Benutzungsoberflächen, etc.) als höhere Anwendungen zu definieren.

2.2 Extensible Markup Language Die Extensible Markup Language (XML) stellt eine Auszeichnungssprache zur Definition von Datenformaten dar [XML]. Dieses Konzept wird auch MetaSprache genannt. Mit den durch XML definierten Datenformaten wird eine einheitlich strukturierte Speicherung von Daten ermöglicht. XML besteht dabei aus einem Satz an Konventionen für den Aufbau dieser Textformate zur Strukturierung der Daten und ist keine Programmiersprache im herkömmlichen Sinn. Das Datenformat trennt die Inhalte von ihrer Darstellung und kann spezifisch für jeden Anwendungsfall festgelegt werden. Die auf der Basis von XML definierten Auszeichnungssprachen werden auch als Anwendungen (Applikations) von XML oder als XML-Derivate bezeichnet.

2.2.1 Zur Geschichte Das Konzept der Meta-Sprachen wurde vor allem durch die Standard Generalized Markup Language (SGML) bekannt [SGML]. Bereits 1986 wurde SGML als ISO 8879 standardisiert. Mit so genannten Document Type Definitions (DTD) lassen sich SGML-Auszeichnungssprachen definieren. 24

2.2 Extensible Markup Language Die Bestandteile der Auszeichnungssprache müssen einen vorgeschriebenen Aufbau besitzen. Die Elemente werden mit ihren zugehörigen Attributen beschrieben. Darüber hinaus gibt es Regeln, die festlegen, welche Elemente anderen Elementen hierarchisch untergeordnet werden dürfen und welche nicht. Die bekannteste Auszeichnungssprache, die mit SGML definiert wurde, ist die HyperText Markup Language [HTML]. Die mit SGML definierten Auszeichnungssprachen haben sich als sehr komplex herausgestellt. Aus diesem Grunde wurde im Februar 1998 XML als Untermenge von SGML vom W3C festgelegt. Dabei wurden alle selten verwendeten und komplexen Eigenschaften entfernt, aber die strukturierte Form von SGML beibehalten. Die Reduktion hat zum Ergebnis, dass die formale Definition von XML sich auf ca. 30 Druckseiten beschränkt, wogegen SGML mehr als 500 Seiten benötigt [Macherius 1997]. XML ist in der Praxis ähnlich leistungsfähig wie SGML und erlaubt auch das Definieren von Auszeichnungssprachen mit DTDs. XML ist also keine SGMLAnwendung, sondern eine Verallgemeinerung von SGML. XML ist erweiterbar, plattformunabhängig und unterstützt den internationalen Einsatz durch die Verwendung von Unicode [Unicode]. Weitere Grundsätze werden auf den Webseiten des W3C aufgeführt [XML]. Auch die Auszeichnungssprache HTML wurde mit XML neu definiert. Damit man die alte von der neuen Version unterscheiden kann, wurde sie Extended HyperText Markup Language (XHTML) genannt [XHTML]. Anfang 2000 veröffentlichte das W3C die Empfehlung für diesen neuen Standard. XHTML besitzt dabei die gleichen Elemente, Attribute und Verschachtelungsregeln wie HTML. Durch die Neudefinition von HTML in XML ist das Datenformat strikter geworden. Dafür ist aber XHTML syntaktisch kompatibel mit anderen XMLAnwendungen und lässt sich somit auch mit diesen kombinieren. Für einen detaillierten Vergleich von XHTML mit HTML sei auf [Münz] verwiesen.

2.2.2 Aufbau und Strukturbeschreibung XML wurde von einem internationalen Konsortium als offener Standard erarbeitet und unterliegt damit keinen lizenzrechtlichen Beschränkungen. Durch 25

2.2 Extensible Markup Language die Verwendung von Unicode können in XML-Dokumenten Zeichen aus den unterschiedlichsten Kulturkreisen verwendet werden. In XML-Dokumenten werden so genannte “Tags” zur Gliederung von Elementen der Auszeichnungssprache verwendet. Dabei kennzeichnet ein Starttag den Beginn und ein Endtag das Ende eines Elements. Geöffnete Tags müssen geschlossen werden, auch wenn sie keinen Inhalt besitzen. Dies kann vereinfacht in der Notation angegeben werden. Die Tags werden in XML nur zur Abgrenzung von Daten verwendet. Deren inhaltliche Interpretation wird der jeweiligen Anwendung überlassen. Jedem Element können Attribute zugeordnet werden. Der Attributname gefolgt von seinem Wert wird dazu in das Starttag geschrieben. Ein Beispiel dazu ist . Wohlgeformtheit Durch die Schachtelung von Elementen ergibt sich eine Baumstruktur. Für die Weiterverarbeitung kann das XML-Dokument anhand dieses Baumes traversiert werden. Meistens wird dazu die Tiefensuche (Depth-First Search) verwendet. Um dem XML-Parser mitzuteilen, zu welcher XML-Version das Dokument zugeordnet werden kann, wird im so genannten Prolog der XML-Deklaration die XML-Version angegeben. XML-Dokumente, die alle oben genannten Bedingungen erfüllen, werden als wohlgeformt (well-formed) bezeichnet. In folgendem Beispiel ist ein Element mit dem Namen “dissertation” und einem Attribut mit dem Namen “typ” aufgeführt, das drei weitere Elemente “titel”, “autor” und “jahr” enthält: Standardisierte Auszeichnungssprachen der Computergraphik für interaktive Systeme Martin Rotard 2005

26

2.2 Extensible Markup Language Gültigkeit Wohlgeformte XML-Dokumente lassen sich auch parsen, ohne deren Strukturbeschreibung in der DTD zu kennen. Damit ein XML-Dokument als gültig (valid) bezeichnet werden kann, muss es die formale Grammatik in der DTD erfüllen und darf keine dort aufgeführte Regel verletzen. Ein XML-Parser kann die Gültigkeit des Dokuments überprüfen, wenn die zugehörige DTD beigefügt oder eine Referenz darauf angegeben ist. Die Angabe erfolgt in der so genannten DOCTYPE-Deklaration im Prolog des Dokuments. Für das obige Beispiel könnte eine Referenz auf eine externe DTD (unterhalb der XML-Version) wie folgt aussehen:

Die zugehörige DTD des gültigen XML-Dokuments ist in folgendem Beispiel angegeben. Sie besteht aus den Definitionen der einzelnen Elemente und dem erforderlichen Attribut. Den Elementen “titel”, “autor” und “jahr” wird vorgegeben, dass sie nur untergeordnet zu dem Element “dissertation” vorkommen dürfen.
dissertation (titel, autor, jahr)> dissertation typ CDATA #REQUIRED> titel (#PCDATA)> autor (#PCDATA)> jahr (#PCDATA)>

Strukturbeschreibung mit XML Schema Wie das obige Beispiel zeigt, besitzt eine DTD selbst keine XML-Syntax. Auch können den Elementen und Attributen in einer DTD keine Datentypen zugewiesen werden. Darüber hinaus fehlt die Möglichkeit, Namensräume verwenden zu können – Erläuterungen zu Namensräumen sind weiter unten zu finden. Diese Mängel wurden durch den im Mai 2001 verabschiedeten W3C Standard der XML Schema Definition beseitigt [XML Schema]. Ein XML Schema ist eine Strukturbeschreibung in XML-Syntax, die Datentypen wie string, integer, boolean, date etc. unterstützt. Darüber hinaus gibt es die Möglichkeit, Inhalte von Elementen und Attributen mittels regulärer Aus27

2.2 Extensible Markup Language drücke zu spezifizieren. Außerdem können auch eigene Datentypen definiert werden. Zusätzlich kann die Häufigkeit des Auftretens eines Elements (oder einer Gruppe) vorgegeben werden. Das XML Schema zu obigem Beispiel ist im folgenden Abschnitt angegeben. Dort wird das Element “dissertation” als komplexer Inhaltstyp definiert. Diesem dürfen “titel”, “autor” und “jahr” untergeordnet werden. Deren Inhalte und das Attribut sind vom Typ “string”. Das Element “jahr” erwartet Inhalte vom Typ “integer”.

Strukturbeschreibung mit Relax NG Die Ausdrucksmöglichkeit einer formalen Grammatik in Form eines XML Schemas ist wesentlich größer, als die einer DTD. Dagegen ist die Lesbarkeit einer DTD wegen ihrer kompakten Form deutlich besser. Dies ist als Nachteil der XML-Syntax zu sehen [Seemann]. Die alternative Strukturbeschreibungssprache Relax NG sieht einen Mittelweg vor, indem sie sowohl eine XML-konforme, als auch eine kompakte, aber nicht XML-konforme Beschreibung der Grammatik besitzt [Relax NG]. Relax NG geht auf die Konzepte der Strukturbeschreibungssprachen RELAX (Regular Language description for XML) und TREX (Tree Regular Expressions for XML) zurück und wurde von der Organization for the Advance28

2.2 Extensible Markup Language ment of Structured Information Standards (OASIS) weiterentwickelt [Relax, Trex, OASIS]. Von der International Organization for Standardization (ISO) wurde Relax NG im Dezember 2003 als Standard verabschiedet. Neben wenigen eigenen Datentypen wie token, string und text können die Datentypen des XML Schemas mit vorangestelltem Namensraum (Namespace) xsd verwendet werden. Die Kurzform ähnelt sehr der Definition mit der DTD, wie die folgende Struktur zeigt. Darüber hinaus lassen sich Operatoren ähnlich wie in regulären Ausdrücken verwenden. Relax NG spielt in der Praxis eine immer größere Rolle. XHTML 2.0, SVG 1.2 und WSDL 2.0 (Web Services Description Language) liegen bereits in der Strukturbeschreibungssprache Relax NG vor [WSDL]. Für eine ausführliche Beschreibung sei auf [Van der Vlist 2003] verwiesen. Die folgende Definition stellt das obige Beispiel in der kompakten nicht XML-konformen Beschreibung dar. element dissertation {attribute typ {text}, element title{text}, element autor{text}, element jahr{xsd:integer}} }

Namensräume XML-basierte Auszeichnungssprachen ermöglichen das Mischen von Datenformaten aus verschiedenen Anwendungsbereichen. Damit die Eindeutigkeit der Elemente gewahrt werden kann, wird das Konzept der Namensräume verwendet, indem für jede XML-Anwendung ein Präfix definiert und einem eindeutigen Universal Resource Identifier (URI) zugeordnet wird [Namespaces]. Dadurch lassen sich beispielsweise die Elemente und in einer XML-Datei verwenden, ohne dass es zu Konflikten bei der Zuordnung zur XML-Anwendung kommt. Ein einziger Namensraum kann dabei als Standard-Namensraum (default-namespace) festgelegt werden. Bei dessen XML-Elementen kann dann auf die Angabe des Präfix verzichtet werden.

29

2.2 Extensible Markup Language Im folgenden Beispiel sind zwei Namensräume definiert und eindeutigen URIs zugeordnet. Der Standard-Namensraum von “dissNS” und der Namensraum von “xhtml” können deshalb im Dokument gemischt werden. XML-basierte Graphikstandards für interaktive Systeme

XML-Infrastruktur In diesem Teil werden Standards in knapper Form aufgeführt, die zur Infrastruktur von XML gehören: Um Teile oder ganze XML-Anwendungen wieder zu verwenden, müssen diese adressiert werden können. Dazu wird der W3CStandard XLink verwendet [XLink]. Mit diesem können Verweise (Hyperlinks) in XML beschrieben werden. Die Verweise zu externen Zielen (Targets) werden mit einem URI beschrieben. Lokale Ziele innerhalb der XMLAnwendung werden dagegen mit der XML Pointer Language (XPointer) adressiert [XPointer]. Wird die XML-Anwendung als Datenbank betrachtet, können Daten mit XQuery selektiert werden [XQuery]. Dabei ist XQuery die Anfragesprache für XML-Anwendungen und stellt das Pendant zur Structured Query Language (SQL) für relationale Datenbanken dar. Zur Adressierung von Teilen eines XML-Baumes wird dazu in der Anfrage die XML Path Language (XPath) eingesetzt [XPath]. Soll ein Teil oder eine gesamte externe XML-Anwendung in die aktuelle Anwendung mit einbezogen werden, wird XML Inclusions (XInclude) verwendet [XInclude]. Dabei wird der Verweis vom XML-Parser aufgelöst und mit dem referenzierten Inhalt ersetzt. Auftretende Ereignisse können mit XML Events modelliert und aufgelöst werden [XML Events].

2.2.3 Eigenschaften XML-Dateien bestehen aus reinem Text und sind deshalb plattform- und geräteunabhängig. Die Entwickler können die Daten direkt als Text anzeigen und bearbeiten. Dies ist gegenüber Binärformaten ein Vorteil und spielt beispiels30

2.2 Extensible Markup Language weise bei der Fehlersuche und Wartung von Programmen eine Rolle. Dagegen benötigen Binärformate weniger Speicherplatz und können schneller verarbeitet werden. Der größere Speicherbedarf von Textformaten kann jedoch durch eine Komprimierung der Dateien auf dem Datenträger ausgeglichen werden. Bei der Übertragung von Daten im Web kann das Hypertext Transfer Protocol (HTTP) seit der Version 1.1 automatisch diese Aufgabe übernehmen [HTTP]. Ein einheitliches “Scripting” aller XML-Anwendungen ist möglich. Dazu wird das Document Object Model (DOM) verwendet, das ebenfalls vom W3C verabschiedet wurde [DOM]. Es stellt eine Schnittstelle zum Objektmodell dar und ermöglicht den Zugriff auf Objekte und Attribute der XML-Elemente. Mit Scriptsprachen wie JavaScript, ECMAScript, etc. können diese manipuliert werden [JavaScript, ECMAScript]. Darüber hinaus gibt es DOM-Schnittstellen für alle gängigen Programmiersprachen zur Manipulation von XML [Harold et al. 2002]. Eine Alternative dazu stellt die Simple API for XML (SAX) dar [SAX]. Diese Schnittstelle steht ebenfalls für alle aktuellen Programmiersprachen zur Verfügung [Brownell 2002]. Die Wiederverwendung der Inhalte von Datenformaten ist ein wichtiger Aspekt. Mit der Extensible Stylesheet Language (XSL) bzw. deren Transformationssprache Extensible Stylesheet Language Transformation (XSLT) werden Transformationen in andere Datenformate ermöglicht [XSL, XSLT]. Beispielsweise lassen sich damit Messwerte, die in einem XML-Datenformat gespeichert sind, in eine XHTML Tabelle oder ein SVG-Diagramm umformen. Zur Adressierung von Teilen des XML-Baumes werden in XSLT Ausdrücke in XPath verwendet. Folgendes Stylesheet zeigt eine Transformation des auf Seite 26 angegebenen XML-Beispiels in XHTML. Dazu wird für jeden definierten Knoten im Quelldokument ein Template im Stylesheet angegeben, das die Umwandlung beschreibt. Im Beispiel wird der Wurzelknoten in ein rudimentäres XHTML-Dokument umgewandelt, das nur aus einen Kopfteil (head) und dem zugehörigen Hauptteil (body) besteht. Der Titel des XHTML-Dokuments wird im Kopfteil festgelegt und über aus dem Quelldokument extrahiert. Der XSLT-Prozessor wird mit dem Befehl 31

2.2 Extensible Markup Language im Hauptteil angewiesen andere abzuarbeiten und deren Ausgabe an dieser Stelle zu integrieren.

Templates