Zum Hauptinhalt springen
Lexikon

Transcoding von Webinhalten

Für Anbieter von Webinhalten ist es zunehmend schwieriger, Inhalte für die Vielfalt mobiler Geräte zu erstellen. Statt Inhalte für jedes Gerät separat aufzubereiten, erlauben Transcoding-Verfahren, XML-basierte Sprachen automatisch zu transformieren, sodass die Inhalte das jeweils passende Format erhalten.

 

Mobile, drahtlose und überall einsetzbare Geräte, wie z.B. PDAs (Personal Digital Assistants), Smart Phones, Handys, Notebooks, TV-Browser und Navigationssysteme, sind vielfältig und verschieden in Bezug auf Bildschirmgröße, Tastatur, Ein- und Ausgabemöglichkeiten wie Sprache und Stift, Speicher, Datenzugriff und Datenverarbeitung.

Zurzeit steigt die Nachfrage der Nutzer, Webinhalte nicht nur über den PC, sondern auch unabhängig vom Gerät und unabhängig vom Ort zugreifbar zu haben, was mit den meisten mobilen Geräten prinzipiell möglich ist. Für Anbieter von Webinhalten ist es allerdings zunehmend schwieriger, Inhalte für die Vielfalt dieser Geräte zu erstellen.

Die generische Aufbereitung oder Umformatierung von multimedialen Webinhalten, sodass die Informationen universell, d.h. auf vielen verschiedenen Geräten sinnvoll zugreifbar sind, nennt man Transcoding (Abb. 1). Mit Hilfe von Transcoding-Verfahren vermeidet man die Bereitstellung von Webinhalten individuell für jedes einzelne Endgerät.

Transcoding

Aufgrund der großen Vielfalt von verschiedenen Geräten, mit denen man auf Webinhalte zugreifen kann, wurde eine Reihe von verschiedenen Sprachen entwickelt, sog. Markup-Sprachen oder Markup Languages, um insbesondere Textinformationen darzustellen. Für die Beschreibung von Text werden XML- (Extensible Markup Language-) basierte Sprachen verwendet. HTML (Hypertext Markup Language) ist eine derartige Sprache, die angewandt wird, um Inhalte für die Darstellung auf PCs zu beschreiben. Mit HTML kann man z.B. Tabellen oder Seitenrahmen beschreiben, d.h. HTML ist für die Darstellung von Informationen auf großen Bildschirmen gut geeignet. Speziell für kleine Bildschirme wurde cHTML (compact HTML), eine Teilmenge von HTML, definiert. In cHTML sind aufwändige Präsentationsstrukturen, wie z.B. aufwändige Tabellen, nicht mehr vorgesehen.

WML (Wireless Markup Language) wird zur Beschreibung von Informationen verwendet, die auf WAP- (Wireless Application Protocol-)Browsern dargestellt werden. WML besteht aus einer Folge von sog. Karten, in denen durch spezielle Links navigiert werden kann. WML ist eine Kombination aus Teilmengen von HTML und HDML (Handheld Device Markup Language). HDML ist eine einfache Sprache, zugeschnitten auf Geräte mit kleinen Bildschirmen. Mit VoiceXML kann man Informationen für die Sprachausgabe beschreiben. Im Bereich von grafischen, interaktiven und möglicherweise geräteunabhängigen Benutzungsschnittstellen wird häufig UIML (User Interface Markup Language) verwendet.

Statt Inhalte für jedes Gerät separat aufzubereiten, gibt es Transcoding-Systeme, die automatisch zwischen XML-basierten Sprachen transformieren, sodass die Inhalte für verschiedene Geräte das jeweils passende Format bekommen. Hier sind 4 verschiedene Verfahren bekannt, und zwar

  • XSL/XSLT- (Extensible Stylesheet Language Transformations-) Verfahren, d.h. Transformationen unter Verwendung von XSL,
  • IBMs-Methode, die Transcoding durch Anmerkungen (Annotations) zum Webinhalt realisiert, und
  • eine automatische Konvertierung durch ein javaorientiertes Verfahren mit Hilfe von RDL/TT (Rule Description Language for Tree Transformation).
  • Ein weiteres Verfahren wurde durch eine Erweiterung der UIML- (User Interface Markup Language-)Peers-Section realisiert.

Ein Vergleich von XSLT, RDL/TT und der Erweiterung von UIML mit Peers Section zeigt Möglichkeiten und Unterschiede dieser Verfahren. Eine Anwendung auf der Basis von XSLT aus XHTML heraus für die Adaption von Services auf kleinen mobilen Endgeräten wird in beschrieben. Das Verfahren RDL/TT wurde für Anwendungen mit spezifischen Benutzer- und Geräteprofildaten zu Fuzzy-RDL/TT erweitert.

Prinzipiell kann Transcoding an verschiedenen Stellen durchgeführt werden. Eine Möglichkeit ist, Transcoding auf einem Proxy-Server stattfinden zu lassen, der Anfragen entgegennimmt und diese dann entsprechend an den Hauptserver mit Webinhalten weitergibt. Mit Hilfe eventueller Nutzer- und Geräteprofile des mobilen Endgerätes kann das Transcoding-System den Webinhalt dann passend aufbereiten. Eine weitere Möglichkeit ist, Transcoding direkt auf dem Hauptserver (Web Content Server) mit stattfinden zu lassen.

An der Universität Paderborn/C-LAB wurde die Konvertierung mit Hilfe der RDL/TT am Beispiel des örtlichen Kinoprogramms durchgeführt (Abb. 2).

Im Folgenden werden nun die oben genannten Verfahren genauer beschrieben:

XSL/XSLT

Das Verfahren, das auf XSL (Extensible Stylesheet Language) beruht, definiert durch das World Wide Web Consortium (W3C), dient der Transformation von XML-Dokumenten. XSL besteht aus 2 Teilen: der Transformation in Form von XSLT und der Formatierung des transformierten XML-Dokuments. Transformationen werden innerhalb einer Baumstruktur ausgeführt, und zwar so, dass das Resultat wieder ein Baum ist. Mit Hilfe solcher Transformationen können XML-Dokumente in andere baumstrukturierte Sprachen wie HTML oder WML umgeformt werden. Die Transformation erfolgt mit Hilfe von Stylesheets, die Templates und Transformationsregeln enthalten. Mit Hilfe von XPath werden Templates definiert, die angeben, auf welche Elemente Transformationsregeln angewendet werden. XPath bietet auch die Möglichkeit, Transformationen auf einzelne Elemente und nicht nur auf Elementtypen anzuwenden. Die Templates werden rekursiv definiert und wieder in Transformationsregeln eingebettet, aus denen sich die Struktur des Zieldokuments ergibt. Mit Hilfe von XSLT ist es möglich, eine komplette Transformationsbeschreibung z.B. von HTML in WML zu definieren.

Allerdings ist eine solche Transformationsbeschreibung aufgrund von rekursiven Strukturen sehr komplex, sodass XSL/XSLT im Wesentlichen auf spezielle XML-basierte Dokumente angewendet wird und nicht als generelle Transformation zwischen XML-basierten Sprachen genutzt wird.

IBMs Transcoding-Methode durch Annotations

IBMs Methode zum Transcoding von Webinhalten wird durch Anmerkungen (Annotations) zum Webinhalt realisiert. Diese Anmerkungen beschreiben Wichtigkeiten, und anhand dieser werden die Inhalte online passend für kleine mobile Endgeräte aufbereitet. Die Methode basiert auf Geräte- und Nutzerprofilen, die durch den Standard CC/PP (Composite Capability/ Preference Profile) definiert sind. Diese Profile helfen den Browsern bei der Darstellung von HTML-Dokumenten auf kleinen mobilen Endgeräten. Solche Anmerkungen können nicht direkt in der HTML-Datei stehen, denn dadurch würde der HTML-Standard verletzt, weshalb eine zusätzliche externe RDF-Datei (Resource Description Framework) benutzt wird. In einer solchen RDF-Datei werden XPointer benutzt, um Elemente auszuwählen, die transformiert werden. XPointer ist eine Erweiterung von XPath durch URLs (Uniform Resource Locator), um einzelne Elemente in einer HTML-Datei zu spezifizieren. Anhand der XPointer wird festgelegt, welche Teile transformiert werden. Für die Methode der Transcodierung von Webinhalten durch Anmerkungen zum Webinhalt benötigt man 2 Schritte. Zum einen müssen die Anmerkungen generiert werden, und zum anderen muss eine Komponente vorhanden sein, die diese Anmerkungen online auswertet.

RDL/TT

Das Verfahren mit Hilfe von RDL/TT-Funktionen (Rule Description Language for Tree Transformation) arbeitet auf der DOM- (Document Object Model-) Baumdarstellung, der Standarddarstellung eines XML-basierten Dokuments. RDL/TT ist ein javaorientiertes Verfahren, das mit Hilfe von Funktionen die DOM-Darstellung eines XML-Dokumentes so transformiert, dass ein neues umstrukturiertes XML-basiertes Dokument generiert wird, die Baumstruktur jedoch erhalten bleibt. Im neuen Dokument kann beispielsweise detaillierter Inhalt entfernt sein, der Inhalt einer Seite auf mehrere Seiten verteilt worden sein, oder Tabellen können aufgelöst worden sein. RDL/TT spezifiziert eine Menge von Funktionen. Parameter dieser Funktionen können Benutzer- oder Geräteprofildaten sein. Zusätzlich können interne Variablen deklariert werden, die die Flexibilität bei der Abarbeitung der Transformationsregeln erhöhen. Die Transformationsregeln werden auf Tags und Attribute angewendet und sind unabhängig vom Webinhalt. Allerdings kann der Webinhalt abhängig von Tags oder Attributen verändert oder gelöscht werden. Mit Hilfe von RDL/TT-Funktionen kann allgemein das Transcoding zwischen Dokumenten verschiedener XML-basierter Sprachen wie von XML nach WML durchgeführt werden. Im Falle eines HTML-Dokuments kann z.B. ein cHTML-Dokument erzeugt werden, indem unter anderem Tabelleninhalte eliminiert werden und durch Links ersetzt werden, die auf eine neue Seite mit dem Tabelleninhalt verweisen, damit der Inhalt dieses Dokuments auf kleinen Bildschirmen sinnvoll dargestellt werden kann (Abb. 2). Transcoding mit Hilfe von RDL/TT benötigt als Eingabe eine RDL-Datei, d.h. eine Datei, die Funktionen der RDL/TT zur Transformation der Baumdarstellung enthält. Außerdem können Geräte- und Benutzerprofildaten und Einstellungen für das Transcoding als Eingabe für die Funktionen generiert werden. Der DOM-Baum wird mit Tiefensuche abgearbeitet und anhand der Regeln der RDL-Datei, der Profildaten und der vordefinierten Transcoding-Einstellungen verändert. Der Aufbau des RDL/TT-Verfahrens ist in Abb. 3 zu sehen. Fuzzy-RDL/TT ist eine Erweiterung von RDL/TT und spezifiziert eine Menge von Transcoding-Funktionen, die im Sinne von Fuzzy-Funktionen abhängig von vorgegebenen Benutzer- und Geräteprofilen definiert werden.

Erweiterung der UIML-Peers-Section

UIML ist eine XML-Applikation für die formale Definition von Benutzungsschnittstellen (User Interfaces). Die Definition von UIML enthält eine Peers Section, in der beschrieben wird, wie die einzelnen Elemente auf das Zielformat des benutzten Gerätes abgebildet werden. Mit Hilfe dieser Funktionalität ist es z.B. möglich, einen HTML- und einen VXML-Teil zu erstellen, sodass sowohl eine HTML- und eine VoiceXML-Ausgabe erzeugt werden kann. Die UIML-Peers-Section wurde erweitert, sodass dadurch Transcoding-Funktionalitäten erreicht werden.

Anwendungen

Auf dem Markt befindliche Produkte, die sich darum bemühen, Webinhalte passend für kleine mobile Endgeräte aufzubereiten, sind z.B. Serverprodukte wie Athers Scout Web, AvantGos Enterprise Server oder IBMs WebSphere Transcoding Publisher. Transcoding-Services, wie z.B. EveryPath, sind Application Service Providers (ASPs), die sich um den ganzen Prozess des Transcodings kümmern und dann transcodierten Inhalt ausliefern.

Zusammenfassung

Aufgrund der zunehmenden Anzahl und der Vielfalt kleiner mobiler Endgeräte wird der Bedarf an sinnvoll aufbereiteten Webinhalten auf diesen Geräten weiter steigen. Transcoding bietet in diesem Zusammenhang gute generische Ansätze, um Webinhalte universell für jedes Gerät aufzubereiten. Das Problem, multimediale Webinhalte verschiedener Formate zu transformieren oder generisch für viele verschiedene kleine Endgeräte aufzubereiten, wird sicherlich in Zukunft essenziell sein, damit notwendige Informationen schnell und kostengünstig zum Anwender gelangen. In diesem Zusammenhang wird man weiter untersuchen, in welcher Weise multimodale User-Interfaces, insbesondere Sprachsteuerung, Sprachausgabe, Eingabe per Stift, virtuelle Tastaturen etc., genutzt werden können.

Literatur

  1. Adler, S. et al.: Extensible Stylesheet Language (XSL),Version 1.0,W3C Recommendation, October 2001, http://www.w3.org/TR/xsl/
  2. Clark, J.: XSL Transformations (XSLT),Version 1.0,W3C Recommendation, November 1999, http://www.w3.org/TR/xslt
  3. Clark, J., DeRose, S.: XML Path Language (XPath),Version 1.0,W3C Recommendation, November 1999, http://www.w3.org/TR/xpath
  4. DeRose, S. et al.: XML Pointer Language (XPointer),W3C Working Draft, August 2002, http://www.w3.org/TR/xptr/
  5. Harmonia, Inc.:User Interface Markup Language (UIML) Draft Specification, 2000, http://www.uiml.org/specs/docs/uiml20-17Jan00.pdf
  6. Hori, M.,Mohan, R., Maruyama, H., Singhal, S.: Annotation of Web Content for Transcoding, W3C Note, July 1999, www.w3.org/TR//annot
  7. Kamada, T.: Compact HTML for Small Information Appliances, W3C Note, February 1998, http://www.w3.org/TR/1998/NOTE-compactHTML-19980209/
  8. Kay, M.: XSL Transformations (XSLT),Version 2.0,W3C Working Draft, November 2003, http://www.w3.org/TR/xslt20/
  9. Korva, J., Plomp, J., Määttä, P., Metso, M.:On-line service adaptation for mobile and fixed terminal devices, Proc. of the 2nd Int. Conf. on Mobile Data Management (MDM 2001).Hong Kong 2001
  10. King, P., Hyland, T.: Handheld Device Markup Language Specification, Submission to W3C, May 1997, http://www.w3.org/pub/WWW/TR/NOTE-Submission-HDMLspec.html
  11. Lassila, O., Swick, R.; Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, February 1999, http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
  12. Plomp, J., Schäfer, R., Müller, W.: Comparing Transcoding Tools for Use with a Generic User Interface Format, Extreme Markup Languages. Montreal, Canada, August 2002
  13. Schäfer, R., Dangberg, A., Müller, W.: RDL/TT-A Description Language for Profile-Dependent Transcoding of XML Documents, Proceedings of ITEA Workshop on Virtual Home Environments (VHE). Paderborn, Germany, February 2002
  14. Schäfer, R., Dangberg, A., Müller, W.: Fuzzy Rules for HTML Transcoding, Hawaii International Conference on System Sciences, HICSS 35. Hawaii, USA, January 2002
  15. CC/PP Composite Capability/Preference Profiles, http://www.w3.org/Mobile/CCPP/
  16. Document Object Model (DOM), http://www.w3.org/DOM/
  17. Extensible Markup Language (XML), http://www.w3.org/XML/
  18. HyperText Markup Language (HTML), http://www.w3.org/MarkUp/
  19. Wireless Application Protocol Forum;Wireless Markup Language Specification Version 2.0, June 2001, http://www.wapforum.org/tech/documents/WAP-238-WML-20010626-p.pdf
  20. Voice Extensible Markup Language (VoiceXML) Version 2.0,W3C Recommendation, March 2004, http://www.w3.org/TR/voicexml20/
  21. XHTML™ 1.0 The Extensible HyperText Markup Language; W3C Revised, August 2002, http://www.w3.org/TR/xhtml1/
  22. http://www.c-lab.de/vhelab/

Hinweis: Die URLs entsprechen dem Stand bei der Veröffentlichung des Artikels und werden nicht aktualisiert.

Autor und Copyright

Dr. B. Oesterdiekhoff 
C-LAB, 
Cooperative Computing & Communication Laboratory 
Universität Paderborn und Siemens, 
Fürstenallee 11, 
33102 Paderborn 
Brigitte.Oesterdiekhoff@c-lab.de

DOI 10.1007/s00287-004-0433-6
© Springer-Verlag 2004