Single Source Publishing mit XML/XSL am Beispiel von BMEcat
|
|
- Frieder Färber
- vor 8 Jahren
- Abrufe
Transkript
1 Single Source Publishing mit XML/XSL am Beispiel von BMEcat Diplomarbeit im Studiengang Technische Redaktion an der Fachhochschule Hannover vorgelegt von Jan Christe { Hannover, }
2 Erklärung zur Selbstständigkeit Hiermit versichere ich, dass ich die vorliegende Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Hannover, 4. Oktober Prüfer: Prof. Dr. rer. nat. Volkert Brosda 2. Prüfer: Prof. Gerrit Fichtner
3 Abstract In dieser Diplomarbeit wird auf Grundlage des Katalog-Standards BMEcat eine Single-Source-Publishing-Anwendung entwickelt. Ziel ist die Generierung unterschiedlicher Zielformate aus einer Datenquelle. Die Anwendung soll auf Knopfdruck aus den BMEcat-Rohdaten einen Online- sowie einen Print-Katalog erstellen. Zur Verarbeitung der XML-Datenstruktur werden die Sprachen XSLT und XSL-FO genutzt. Diskutiert werden die Vor- und Nachteile von XSL-Technologien beim Publizieren aus einer Quelle in unterschiedliche Zielmedien und beim automatisierten Satz und Umbruch. Auch werden konkrete Einsatzszenarien in Web- und Print-Produktionsabläufen skizziert sowie Erweiterungsmöglichkeiten der hier vorgestellten Katalog- Anwendung beschrieben.
4 Vorwort Zu der Entstehung dieser Diplomarbeit haben einige Menschen entscheidend beigetragen. Sie standen mir zur Seite und unterstützten mich mit guten Ratschlägen, aufmunternden Worten und ihrer Anwesenheit. Bei diesen Menschen möchte ich mich an dieser Stelle sehr herzlich bedanken. Herrn Prof. Dr. rer. nat. Volkert Brosda danke ich für seine Unterstützung bei der Themenfindung und für die sehr gute Betreuung dieser Diplomarbeit. Herrn Prof. Gerrit Fichtner möchte ich dafür danken, dass er sich bereit erklärt hat meine Diplomarbeit als Zweitprüfer zu betreuen. Meinen Korrekturlesern Peter Michael Ziegler und Christian Sahlmen danke ich für die Zeit, die sie sich genommen haben und vor allem für ihre guten Redigiervorschläge. Ein riesiges Dankeschön geht an meine Eltern Gabriele Hannighofer und Gerhard Christe. Ohne ihre jahrelange Unterstützung wäre mein Studium und damit auch diese Diplomarbeit nicht möglich gewesen. Zuletzt danke ich meiner Freundin Katharina, die in den letzten drei Monaten den größten Anteil am Gelingen dieser Arbeit hatte. Sie hat mir den Rücken freigehalten, mich immer wieder aufgemuntert und mir die nötige Stärke gegeben.
5 Inhaltsverzeichnis 1 Einleitung Grundlagen BMEcat Konzept Aufbau und Anwendung Entwicklungsumgebung XML XSLT XSL-FO XHTML CSS xmlspy Acrobat 6 Professional XSL Formatter Saxon Entwicklung der Katalog-Anwendung Ausgangssituation Exemplarischer Produkt-Katalog Ziele Vorgaben Der BMEcat-Katalog Vorbereitungen Katalog-Erstellung Transformation zur Website Vorbereitungen Stylesheet-Erstellung Transformation Nachbearbeitung Transformation zum Print-Katalog Vorbereitungen Stylesheet-Erstellung Transformation Nachbearbeitung Schlussbetrachtung Was wurde erreicht? Einsatzszenarien Print-Produktion Web-Produktion Erweiterungsmöglichkeiten Portierung auf einen Webserver Datenbankanbindung Entwicklungsaufwand Ausblick Literaturverzeichnis Single Source Publishing mit XML/XSL am Beispiel von BMEcat 1
6 1 Einleitung Single Source Publishing mit XML/XSL am Beispiel von BMEcat 2
7 Einleitung Wenn es darum geht, Informationen aus einer Datenquelle in verschiedenen Medien zu publizieren, führt kaum ein Weg an XML vorbei. Mit der Extensible Markup Language können Daten semantisch beschrieben, strukturiert geordnet und medienneutral gespeichert werden ideale Voraussetzungen für Single Source Publishing. Rund um den XML-Standard wurden Sprachen entwickelt, die eine Darstellung von XML-Dokumenten in verschiedenen Formaten erlauben. Zusammengefasst sind diese Sprachen unter dem Begriff XSL (Extensible Stylesheet Language Family); dazu gehören die Transformations-Sprache XSLT, die Adressierungs-Sprache XPath und die Präsentations-Sprache XSL-FO. Zusammen bilden XML und XSL eine ausgezeichnete Grundlage für automatisiertes Publizieren und die Einsatzgebiete sind vielfältig: Technische Redaktionen beispielsweise können sowohl Print- als auch Online-Dokumentation zu einem Produkt aus einer gemeinsamen Datenquelle erzeugen. Im Unternehmens-Bereich lassen sich mit den neuen Technologien schnell und einfach Produkt-Broschüren im Corporate Design erstellen. Je nach Zielgruppe Vertrieb, Kundendienst oder Einzelhandel etwa können diese zudem ohne großen Aufwand individualisiert werden. In dieser Diplomarbeit wird eine Single-Source-Publishing-Anwendung zur automatisierten Katalog-Produktion mit BMEcat vorgestellt. Im Folgenden wird diese durchgehend als Katalog-Anwendung bezeichnet. BMEcat ist ein auf XML basierender Standard zum Austausch von Produktkatalog- Daten. Diese Daten werden über spezielle Auszeichnungselemente strukturiert beschrieben, die in einer DTD (Document Type Definition) und einem XML-Schema definiert sind. Grundlage der Arbeit ist ein selbst entwickelter BMEcat-konformer Modell-Katalog. Die darin enthaltenen Produktdaten werden mit Hilfe der XSL-Sprachen automatisiert verarbeitet und auf Knopfdruck als Online-Katalog (Website) sowie als Print-Katalog im PDF-Format ausgegeben. Die Arbeitsschritte zur Erstellung der Katalog-Anwendung werden ebenso beschrieben wie die verwendeten Sprachen und eingesetzten Software-Werkzeuge. Auch werden Vor- und Nachteile automatisierter Produktionsabläufe im Print- und Web-Bereich aufgezeigt sowie Erweiterungspotenziale der Katalog-Anwendung benannt. Die Quelltexte der Katalog-Anwendung werden nicht in allen Einzelheiten dargestellt und erläutert, sondern nur dann, wenn es zum funktionalen Verständnis notwendig ist. Grundkenntnisse über Auszeichnungssprachen sowie den Aufbau von XML-Dokumenten und Web-Seiten werden dabei vorausgesetzt. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 3
8 2 Grundlagen Single Source Publishing mit XML/XSL am Beispiel von BMEcat 4
9 Grundlagen» BMEcat 2.1 BMEcat Der Bundesverband Materialwirtschaft, Einkauf und Logistik (im Folgenden: BME) gab 1998 den Anstoß, einen Standard für den Austausch von Produktkatalog-Daten zu schaffen. Der Arbeitskreis ebusiness Standardization Committee ein Zusammenschluss von BME, dem Fraunhofer-Institut für Arbeitswirtschaft und Organisation, den Universitäten Essen und Linz sowie zahlreichen großen deutschen Unternehmen [BMEcat 2004] entwickelte daraufhin einen auf XML basierenden Standard, der Ende 1999 unter dem Namen BMEcat verabschiedet wurde Konzept Ziel von BMEcat ist es, den elektronischen Austausch von Produktkatalog-Daten zwischen Lieferanten und einkaufenden Unternehmen zu standardisieren und dadurch zu vereinfachen. Davon können beide Seiten profitieren. Lieferanten müssen ihren Katalog nicht mehr für jeden Kunden in einem unterschiedlichen Datenformat erstellen. Einkaufende Unternehmen können Kataloge verschiedener Lieferanten einheitlich weiterverarbeiten und beispielsweise in ihr Warenwirtschaftssystem oder ihren Online-Shop einbinden. BMEcat-Kataloge werden hauptsächlich im Internet-Warenverkehr zwischen Unternehmen eingesetzt, dem so genannten B2B-eCommerce. Auf virtuellen Marktplätzen im Internet können Unternehmen ihre Produkte einer großen Anzahl von Kunden anbieten. Eine weitere Form des elektronischen Handels, bei dem BMEcat eine Rolle spielt, ist die katalogbasierte Beschaffung, genannt eprocurement. Dabei integriert ein Unternehmen elektronische Kataloge verschiedener Lieferanten in sein Einkaufssystem, über das Mitarbeiter Waren, meist Büromaterial oder EDV-Zubehör, bestellen können Aufbau und Anwendung BMEcat basiert auf der Auszeichnungssprache XML. Ein BMEcat-Katalog ist ein XML- Dokument, dessen Bestandteile mit den im BMEcat-Standard definierten Elementen strukturiert beschrieben werden. Elemente und zulässige Struktur sind in einer Document Type Definition (im Folgenden: DTD) festgelegt. Seit 2003 gibt es zusätzlich ein XML-Schema für BMEcat, das die Elemente anhand einer höheren Anzahl und detaillierterer Datentypen genauer beschreibt. So kann ein validierender XML- Parser schon bei der Erstellung des Katalogs überprüfen, ob der eingegebene Wert sinnvoll ist. Die Elemente des BMEcat-Standards sind in Muss- und Kann-Felder unterteilt. Muss- Felder sind Elemente, die innerhalb des Kontexts zwingend vorkommen müssen, Kann-Felder werden optional verwendet. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 5
10 Grundlagen» BMEcat Die Priorität, in der Elemente einer Untergruppe im BMEcat-Katalog verwendet werden dürfen, wird in den Abbildungen dieses Kapitels durch die vertikale Reihenfolge der Elemente dargestellt. Die vorgegebene Reihenfolge der Untergruppe des Elements HEADER in Abbildung 1 ist also CATALOG, BUYER, AGREEMENT, SUPPLIER. Ein BMEcat-Katalog gliedert sich in einen Kopfdaten- und einen Transaktionsteil. Die folgende Abbildung zeigt die grundlegenden Elemente eines BMEcat-Dokuments anhand eines Ausschnitts aus der BMEcat-Struktur. CATALOG HEADER BUYER AGREEMENT SUPPLIER BMECAT FEATURE_SYSTEM T_NEW_CATALOG CLASSIFICATION_SYSTEM CATALOG_GROUP_SYSTEM ARTICLE ARTICLE_TO_CATALOGGROUP_MAP Muss-Feld Kann-Feld Verbindung zwischen über- und untergeordnetem Element Abbildung 1: Auszug aus der Elementstruktur eines BMEcat-Katalogs HEADER In den Elementen des Kopfdatenteils werden allgemeine Information zum Katalog- Dokument und den beteiligten Unternehmen notiert. Das Element CATALOG dient zum Speichern von Informationen wie Katalog-Name, -Sprache und -Versionsnummer. Außerdem können Standardwerte, etwa für die Währung der Produktpreise, gesetzt werden. In den Elementen SUPPLIER und BUYER werden Details zum Herausgeber und optional zum Adressaten des Katalogs gespeichert, etwa der Firmenname oder Kontaktinformationen. Gibt es über den Katalog hinausgehende Vereinbarungen zwischen dem Herausgeber und dem Adressaten, kann in dem Element AGREEMENT auf einen Rahmenvertrag referenziert werden. T_NEW_CATALOG Der Transaktionsteil eines neuen BMEcat-Katalogs wird durch T_NEW_CATALOG eingeleitet (Details siehe: Transaktionen). In den untergeordneten Elementen werden Artikel des Katalogs beschrieben und Strukturdaten definiert. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 6
11 Grundlagen» BMEcat ARTICLE Das Element ARTICLE beschreibt einen Artikel des Katalogs. Die folgende Abbildung visualisiert, dass für jeden Artikel mindestens eine eindeutige Artikelnummer (SUPPLIER_AID), eine Kurzbeschreibung (DESCRIPTION_SHORT), eine Bestelleinheit (ORDER_UNIT) sowie ein Preis (PRICE_AMOUNT) definiert werden muss. SUPPLIER_AID DESCRIPTION_SHORT ARTICLE_DETAILS DESCRIPTION_LONG EAN ARTICLE_FEATURES FEATURE FNAME FUNIT ARTICLE ARTICLE_ORDER_DETAILS ORDER_UNIT CONTENT_UNIT PRICE_AMOUNT ARTICLE_PRICE_DETAILS ARTICLE_PRICE PRICE_CURRENCY TAX MIME_INFO MIME MIME_TYPE MIME_SOURCE ART_ID_TO ARTICLE_REFERENCE CATALOG_ID Muss-Feld CATALOG_VERSION Kann-Feld Verbindung zwischen über- und untergeordnetem Element Abbildung 2: Auszug aus der Struktur des Elements ARTICLE Durch weitere optionale Elemente lässt sich ein Artikel noch detaillierter beschreiben. So kann etwa eine ausführliche Produktbeschreibung (DESCRIPTION_LONG) oder der EAN-Code eines Artikels notiert werden. ARTICLE_FEATURES beschreibt die Eigenschaften eines Artikels wie Größe, Farbe oder Gewicht. Jede Eigenschaft muss mindestens einen eindeutigen Namen besitzen, Maßeinheiten können optional angegeben werden. Die Elemente ARTICLE_ORDER_DETAILS und ARTICLE_PRICE_DETAILS bieten neben den bereits erwähnten Muss-Feldern die Möglichkeit, Bestell- und Preisinformationen zu detaillieren. Insbesondere für Preise bietet BMEcat eine Vielzahl an Eingabemöglichkeiten. Zu einem Artikel können verschiedene Preise, etwa Einkaufs-, Endkunden-, Brutto- oder Nettopreise definiert werden. Auch Staffelpreise, Umsatzsteuerfaktoren oder Rabatte können zu einem Artikel hinterlegt werden. Multimediale Zusatzinformationen zu einem Artikel wie Produktabbildungen, Datenblätter oder Videos können mit dem Element MIME_INFO eingebunden werden. MIME_SOURCE enthält die relative Pfadangabe zum Speicherort einer Datei, die beim Katalog-Datenaustausch separat übertragen werden muss. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 7
12 Grundlagen» BMEcat Mit dem Element ARTICLE_REFERENCE kann ein Bezug zwischen verschiedenen Artikeln hergestellt werden, etwa um auf ein Zubehör- oder Ersatzteil zu verweisen. Ein referenzierter Artikel kann sich im selben oder einem anderen BMEcat-Katalog befinden. Im BMEcat-Standard sind neun Verweisarten definiert, welche die Beziehungen zwischen Artikeln genauer beschreiben. CATALOG_GROUP_SYSTEM Um Artikel hierarchisch zu gliedern, können im Transaktionsteil Katalog-Gruppen definiert werden. Eine Katalog-Gruppe besitzt mindestens eine eindeutige ID, einen Namen sowie eine Referenz zu der übergeordneten Katalog-Gruppe. Optional können zu einer Katalog-Gruppe auch ein Beschreibungstext, Stichwörter oder multimediale Dateien hinterlegt werden. ARTICLE_TO_CATALOGGROUP_MAP Um einen Artikel einer Katalog-Gruppe zuzuordnen, wird innerhalb des Elements ARTICLE_TO_CATALOGGROUP_MAP die Artikelnummer mit der ID der Katalog-Gruppe verknüpft. FEATURE_SYSTEM / CLASSIFICATION_SYSTEM Außer Katalog-Gruppen können Artikel auch Gruppen innerhalb von Merkmalsgruppen- und Klassifikationssystemen zugeordnet werden. Eine Merkmalsgruppe definiert bestimmte Eigenschaften für alle Artikel einer Produktgruppe, die so genannte Merkmalsleiste. In den Artikelbeschreibungen der einzelnen Produkte werden die Eigenschaften mit konkreten Werten gefüllt. Auch mit einem Klassifikationssystem können Merkmalsleisten definiert werden, allerdings wesentlich komplexer. So können etwa Datentypen oder Vorgabewerte zu einzelnen Merkmalen hinterlegt werden. Darüber hinaus bieten Klassifikationssysteme die Möglichkeit hierarchische Produktgruppen zu definieren. Um den Austausch von klassifizierten Produktdaten zu vereinfachen, wurden standardisierte Klassifikationssysteme geschaffen, bekannte Vertreter sind ecl@ss [IW 2004] und ETIM [ETIM 2004]. BMEcat selbst definiert kein Klassifikationssystem, sondern bietet die Möglichkeit, eigene zu erstellen oder bereits existierende einzubinden. Transaktionen Wie zuvor ausgeführt, dient BMEcat zum Austausch von Produktkatalog-Daten. Um nicht bei jeder Produktänderung oder Preisaktualisierung den gesamten Katalog erneut übertragen zu müssen, sind im BMEcat-Standard drei verschiedene Transaktionen definiert: Übertragung eines kompletten Katalogs (T_NEW_CATALOG) Aktualisierung von Produktdaten (T_UPDATE_PRODUCTS) Aktualisierung von Produktpreisen (T_UPDATE_PRICES) Wird eine der beiden Aktualisierungs-Transaktionen verwendet, enthält der Katalog im Transaktionsteil ausschließlich Informationen zu geänderten Produkten oder Preisen. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 8
13 Grundlagen» Entwicklungsumgebung 2.2 Entwicklungsumgebung Bei der Erstellung der einzelnen Komponenten dieser Diplomarbeit kommen verschiedene Software-Produkte, Auszeichnungs- und Stylesheet-Sprachen zum Einsatz, die wichtigsten werden in diesem Kapitel kurz vorgestellt XML XML ist die Abkürzung für Extensible Markup Language (deutsch: erweiterbare Auszeichnungssprache) [RRZN 2004]. Erweiterbar deshalb, weil XML eine Metasprache ist, mit der neue Auszeichnungssprachen definiert werden können. Mit XML werden Daten in einem elektronischen Dokument strukturiert und semantisch beschrieben. Dies ermöglicht eine automatisierte Verarbeitung der Daten. XML- Dateien sind reine Textdokumente und können daher problemlos über Betriebssystem- und Software-Grenzen hinweg transferiert werden XSLT Extensible Stylesheet Language Transformation ist eine auf XML basierende Sprache zur Transformation eines XML-Dokuments [Holzner 2002]. Das Ergebnis kann ein neues XML-Dokument sein oder ein anderes Format aufweisen, beispielsweise HTML oder XHTML. Ein XSLT-Dokument besteht aus einer Anzahl von Auswahlmustern und Schablonen. Das Auswahlmuster selektiert eine Teil-Knotenmenge innerhalb des Quelldokuments. In der Schablone kann der Inhalt der Knotenmenge mit XSLT-Anweisungen manipuliert, neu strukturiert und umformatiert werden. Ist das Zieldokument eine HTML-Seite, werden beispielsweise Tabellen erzeugt und mit Inhalten aus dem XML- Dokument gefüllt XSL-FO Extensible Stylesheet Language Formating Objects ist eine Sprache zur Präsentation von XML-Dokumenten [Krüger, Montero 2004]. XSL-FO kennt rund 50 Elemente und 250 Attribute zur Beschreibung von Seitenlayouts. Damit können Seitenmaße, Seitenabfolgen, Absätze, Spalten, Tabellen oder Ränder beschrieben werden. Die Attribute in XSL-FO ähneln denen in CSS (Cascading Style Sheets) und sind teilweise sogar identisch. Die Visualisierung des XSL-FO-Dokuments übernimmt ein FO-Prozessor, der Dokumente in verschiedenen Formaten wie PDF oder Postscript generieren kann. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 9
14 Grundlagen» Entwicklungsumgebung XHTML Die Extensible HyperText Markup Language löst HTML als Standard-Auszeichnungssprache für Web-Seiten inzwischen ab. Sie wurde im Jahr 2000 vom W3C (World Wide Web Consortium) verabschiedet und ist eine Umformulierung von HTML als XML-Sprache [Mintert 2003]. XHTML enthält alle Elemente von HTML 4, diese müssen allerdings durchgängig nach bestimmten Regeln notiert werden. So müssen etwa alle Tags in Kleinbuchstaben geschrieben und geschlossen werden. Attribute müssen einen Wert besitzen, der in Anführungszeichen steht. Durch die Regeln wird sichergestellt, dass in XHTML geschriebene Web-Seiten sowohl von älteren Webbrowsern als auch von XML-fähigen Webbrowsern dargestellt werden können. Da XHTML letztlich nichts anderes als HTML 4 in XML-konformer Notation ist, werden die Akronyme HTML und XHTML in dieser Diplomarbeit ohne Differenzierung verwendet CSS Cascading Style Sheets ermöglichen die klare Trennung zwischen Inhalt und Layout von Web-Seiten. In einer CSS-Datei werden Attribute zur Formatierung von HTML-Tags formuliert. So kann eine HTML-Datei den Inhalt strukturiert beschreiben, während die eingebundene CSS-Datei die Darstellung im Webbrowser steuert. Durch die Auslagerung von Darstellungsinformationen in eine zentrale Datei lässt sich das Layout einer Website wesentlich leichter pflegen und verändern [Shafer, Yank 2004] xmlspy 2004 Wie zuvor ausgeführt sind BMEcat-Kataloge XML-Dokumente, deren Struktur in einer DTD und einem XML-Schema festgelegt ist. Da der Katalog in dieser Diplomarbeit auf Basis des XML-Schemas erstellt wird, sollte der XML-Editor in der Lage sein, XML-Dokumente gegen ein XML-Schema zu validieren. Die Wahl fiel auf xmlspy von Altova. Das Programm, mehr eine Entwicklungsumgebung denn reiner Editor, unterstützt den Anwender mit einer guten Einbindung von XML-Schemata, einer gitterartigen Strukturansicht sowie Syntaxvervollständigung und -hervorhebung. Da xmlspy nicht kostenlos erhältlich ist, wurde eine 30 Tage lauffähige, voll funktionsfähige Testversion verwendet. Im Internet [Münz 2004] finden sich aber auch zahlreiche kostenlose XML-Editoren Acrobat 6 Professional Acrobat von Adobe (nicht zu verwechseln mit dem Adobe Reader) wird eingesetzt, um dem per XSL-FO generierten PDF nachträglich Druckmarken hinzuzufügen. Dies ist allerdings nur nötig, wenn das PDF professionell gedruckt werden soll und die Druckerei Druckmarken benötigt. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 10
15 Grundlagen» Entwicklungsumgebung XSL Formatter 3.1 Keine XSL-Formatierungs-Software unterstützt den XSL-Standard des W3C derzeit in vollem Umfang. Daher sollte man bei der Auswahl der Software darauf achten, dass die benötigten XSL-FO-Elemente und -Attribute auch wirklich verarbeitet werden können. Die meisten Hersteller veröffentlichen auf ihren Internet-Seiten eine Kompatibilitäts-Liste. Da das aus dem BMEcat-Katalog generierte PDF in einer Druckerei druckfähig sein soll, muss die Formatierungs-Software Farbwerte aus dem CMYK-Farbraum unterstützen. Außerdem sollen Grafiken im TIFF-Format eingebunden werden können. Die Wahl fiel auf die kommerzielle Software XSL Formatter von Antenna House. Der Hersteller bietet eine 90 Tage lauffähige, voll funktionsfähige Testversion zum Download an [Antenna 2004], die allerdings auf jeder Seite des PDFs eine Verknüpfung zur firmeneigenen Website platziert. Ist das PDF nicht für den professionellen Druck, sondern für die Ausgabe auf einem PC-Drucker, im Copy-Shop oder am Bildschirm bestimmt, bietet sich der kostenlose XSL-Formatierer FOP des Apache-XML-Projekts an Saxon 8 Der kostenlose XSLT-Prozessor Saxon [Kay 2004] wird zur Generierung der XHTML- Seiten des Online-Katalogs eingesetzt. Wie viele XSLT-Prozessoren wurde auch Saxon in Java implementiert und setzt daher eine installierte Java-Laufzeitumgebung voraus. Eine Transformation wird unter Angabe des Quell-, Stylesheet- und Zieldokuments von der Kommandozeile des Betriebssystems aus gestartet. Einige XML- und XSLT-Editoren bieten auch die Möglichkeit einen XSLT-Prozessor direkt in die Programmoberfläche einzubinden. In Saxon sind die W3C-Standards XSLT 1.0 und XPath 1.0 implementiert. Darüber hinaus unterstützt Saxon 8 bereits Teile der Nachfolger XSLT 2.0 und XPath 2.0. So ist es mit Hilfe des neuen Elements <xsl:result-document> beispielsweise möglich, bei der Transformation aus einem Quelldokument (dem BMEcat-Katalog) mehrere Zieldokumente (die einzelnen Web-Seiten) zu erzeugen. Dies ist in XSLT 1.0 nicht vorgesehen. Andere Prozessoren umgehen das Problem, multiple Zieldokumente zu generieren, mit proprietären Erweiterungen. Dann ist das Stylesheet jedoch an einen bestimmten XSLT-Prozessor gebunden. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 11
16 3 Entwicklung der Katalog-Anwendung Single Source Publishing mit XML/XSL am Beispiel von BMEcat 12
17 Entwicklung der Katalog-Anwendung» Ausgangssituation 3.1 Ausgangssituation Exemplarischer Produkt-Katalog Grundlage der Katalog-Anwendung in dieser Diplomarbeit soll ein exemplarischer, BMEcat-konformer Produkt-Katalog der Firma D-Link sein. Dieser enthält insgesamt 30 Artikel des Netzwerk-Hardware-Herstellers aus verschiedenen Produktkategorien. D-Link wird gewählt, da auf der Firmen-Internetseite Produktabbildungen in hoher Auflösung heruntergeladen werden können und umfangreiche Produktinformationen vorhanden sind. Der Katalog dient als exemplarische Datenquelle für die Katalog-Anwendung und enthält die wichtigsten im BMEcat-Standard definierten Elemente Ziele Es soll eine Anwendung entstehen, mit der aus einem BMEcat-konformen Produkt- Katalog auf Knopfdruck verschiedene Zielformate generiert werden können. So soll zum einen ein Online-Katalog in Form einer Website entstehen, zum anderen ein professionell druckbares PDF. Die folgende Grafik illustriert die Zusammenhänge zwischen den an der Generierung der Katalog-Anwendung beteiligten Daten, Dokumenten und Prozessen. Stapelverarbeitung in Photoshop Produktabbildungen in niedriger Auflösung Website- Stylesheet Website-Layout XSLT-Prozessor Website Produkt- Fotos Produkt- Daten BMEcat-Katalog Printkatalog- Layout XSL-Formatierer PDF Printkatalog- Stylesheet Prozess Stapelverarbeitung in Photoshop Produktabbildungen in hoher Auflösung generiertes Dokument manuell erstelltes Dokument Daten generiert basiert auf verarbeitet Abbildung 3: Ablauf der Katalog-Anwendungs-Generierung Single Source Publishing mit XML/XSL am Beispiel von BMEcat 13
18 Entwicklung der Katalog-Anwendung» Ausgangssituation Vorgaben Die Stylesheets zur Generierung der Zielformate sollen flexibel genug sein, dass Artikel ohne große Änderungen am Stylesheet dem BMEcat-Katalog hinzugefügt werden können. Außerdem muss bei der Programmierung der Stylesheets berücksichtigt werden, dass jeder Artikel einen unterschiedlichen Umfang an Produktinformationen besitzen kann. Alle Parameter, die das Layout der Zieldokumente festlegen und beeinflussen, sollen möglichst zentral abgelegt werden. Dadurch wird sichergestellt, dass Layout- Anpassungen ohne großen Programmieraufwand möglich sind. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 14
19 Entwicklung der Katalog-Anwendung» Der BMEcat-Katalog 3.2 Der BMEcat-Katalog Vorbereitungen Bevor mit der Erstellung des Produkt-Katalogs begonnen werden kann, sind Vorbereitungen wie etwa das Festlegen von Produktkategorien, Ordnerstrukturen, Namenskonventionen und Dateiformaten nötig. Produktkategorien Aus den zahlreichen Produktkategorien von D-Link werden fünf für den BMEcat- Katalog ausgewählt. Der BMEcat-Standard erlaubt die Festlegung von Produktkategorien in beliebig vielen Hierarchiestufen. Um den Katalog nicht zu komplex werden zu lassen, werden nur zu einer der fünf Hauptkategorien Untergruppen definiert. Die Gliederung der Produktkategorien sieht wie folgt aus: Internet-Gateways DSL-Router DSL-Router mit Modem DSL-Router mit WLAN WLAN-Adapter WLAN-Antennen Printserver USB-Adapter Ordnerstruktur Multimediale Produktinformationen wie Abbildungen, Zeichnungen, Audio- und Videodateien können durch Angabe eines Dateipfads in den BMEcat-Katalog eingebunden werden. Um dies zu vereinfachen und Fehler bei der Eingabe der Daten zu vermeiden, werden Ordnerstrukturen festgelegt. Sämtliche multimedialen Dateien werden im Ordner media abgelegt. Dieser enthält weitere Ordner und Unterordner entsprechend der Produktkategorie-Gliederung. Dateien wie das Firmenlogo oder Grafiken, die speziell für eines der beiden Ausgabemedien benötigt werden, sind in den Ordnern corporate, print und web abgelegt. Dateinamen Der Name einer Grafikdatei soll Aufschluss über ihren Inhalt und das Medium, in dem sie verwendet wird, geben. So sind alle Produktabbildungen nach dem Schema artikelnummer_medium[-verwendungszweck].dateiformat benannt. Die Vorschau-Abbildung der WLAN-Antenne ANT , die später auf der Kategorieseite WLAN-Antennen der Website zu sehen sein wird, erhält so den Dateinamen ant _web-t.jpg. Das "t" steht dabei für Thumbnail-Größe. Die Abbildung dieses Artikels für die Produktseite erhält den Dateinamen ant _web-n.jpg. Das "n" steht in diesem Fall für Normalgröße. Bei den Print-Abbildungen wird nicht hinsichtlich Verwendungszweck unterschieden. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 15
20 Entwicklung der Katalog-Anwendung» Der BMEcat-Katalog Dateiformate Damit bei der Einbindung einer Produktabbildung in den Katalog nicht jedes Mal überprüft werden muss, welches Dateiformat diese besitzt, werden einheitliche Dateiformate definiert. Alle Produktabbildungen für den Print-Katalog werden im Format TIFF erstellt, die für die Website im Format JPEG Katalog-Erstellung Der Katalog wird auf Grundlage des XML-Schemas für BMEcat erstellt. Er gliedert sich in Kopfdaten- und Transaktionsteil. Im Kopfdatenteil, dem HEADER, werden Informationen zum Katalog und zum Herausgeber abgelegt. Im Kontext des Elements CATALOG wird neben der Katalog-Sprache, dem -Namen, der -Versionsnummer und der -Standardwährung auch das Element MIME_ROOT definiert. Es enthält eine absolute Pfadangabe zum Ordner media, in dessen Unterordnern sämtliche Grafikdateien abgelegt werden. Informationen zum Herausgeber des Katalogs sind im Kontext des Elements SUPPLIER hinterlegt. Neben dem Firmennamen und Kontaktinformationen wie Anschrift, Telefonnummer und -Adresse werden hier auch Grafikdateien eingebunden, die für die spätere Transformation in die Zielformate benötigt werden. Im Kontext des Elements MIME_INFO werden dazu relative Dateipfade, ausgehend vom MIME_ROOT, angegeben, die auf eine Print- und Web-Version des Firmenlogos und auf Grafiken für den Umschlag des Print-Katalogs referenzieren. Der Transaktionsteil wird vom Element T_NEW_CATALOG umschlossen. Er enthält die Definition der Produktgruppen, ein Merkmalsgruppensystem, Informationen zu den 30 Artikeln des Katalogs und die Zuordnung der Artikel zu einer Produktgruppe. Die Produktgruppen sind hierarchisch aufgebaut. Jede einzelne Produktgruppe wird durch das Element CATALOG_STRUCTURE definiert. Sie enthält eine eindeutige ID, einen Namen und eine Beschreibung. Das Attribut type gibt an, ob es sich um die Wurzel (root), einen Zwischenknoten (node) oder um ein Blatt (leaf) handelt. Artikel können später nur Produktkategorien vom Typ leaf zugeordnet werden. Die hierarchische Beziehung zwischen den einzelnen Produktgruppen wird dadurch hergestellt, dass jede Produktgruppe eine PARENT_ID besitzt, die auf die GROUP_ID der übergeordneten Kategorie referenziert. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 16
21 Entwicklung der Katalog-Anwendung» Der BMEcat-Katalog Der nachstehende Auszug aus dem Katalog verdeutlicht das zuvor Beschriebene: <CATALOG_GROUP_SYSTEM> <CATALOG_STRUCTURE type="root"> <GROUP_ID>1</GROUP_ID> <GROUP_NAME>alle Produkte</GROUP_NAME> <PARENT_ID>0</PARENT_ID> </CATALOG_STRUCTURE> <CATALOG_STRUCTURE type="node"> <GROUP_ID>2</GROUP_ID> <GROUP_NAME>Internet-Gateways</GROUP_NAME> <GROUP_DESCRIPTION>[...]</GROUP_DESCRIPTION> <PARENT_ID>1</PARENT_ID> </CATALOG_STRUCTURE> <CATALOG_STRUCTURE type="leaf"> <GROUP_ID>3</GROUP_ID> <GROUP_NAME>DSL-Router</GROUP_NAME> <GROUP_DESCRIPTION>[...]</GROUP_DESCRIPTION> <PARENT_ID>2</PARENT_ID> </CATALOG_STRUCTURE>... </CATALOG_GROUP_SYSTEM> Sind die Produktgruppen definiert, werden die Artikel eingefügt. Jeder Artikel besitzt eine eindeutige Artikelnummer, eine kurze sowie eine ausführliche Beschreibung. Sämtliche Merkmale eines Artikels werden im Kontext des Elements ARTICLE_FEATURES beschrieben. Die Merkmale können von Artikel zu Artikel unterschiedlich sein. WLAN-Antennen zeichnen sich beispielsweise durch eine Richtwirkung aus, während ein WLAN-Router eine bestimmte Übertragungsrate besitzt. Die möglichen Merkmale und eventuell dazugehörige Maßeinheiten sind in einem Merkmalsgruppensystem definiert. Dies kann vom Empfänger des Katalogs beispielsweise dazu genutzt werden, um gezielt nach Produktmerkmalen innerhalb einer bestimmten Produktgruppe zu suchen. Die in dieser Diplomarbeit erstellte Katalog-Anwendung benötigt das Merkmalsgruppensystem jedoch nicht. Das Element ARTICLE_ORDER_DETAILS legt die Bestelleinheiten der Artikel fest. Diese werden nicht in Klartext angegeben (Stück oder Packung etwa), sondern als dreistelliger Code, der von der UNECE (United Nations Economic Commission for Europe) standardisiert wurde. Der UNECE-Code für Stück ist beispielsweise C62. Eine Bestelleinheit muss angegeben werden, wird von der Katalog-Anwendung allerdings nicht verarbeitet. Preisdaten werden im BMEcat-Standard durch das Element ARTICLE_PRICE_DETAILS beschrieben. Jeder Artikel kann mehrere Preise (Brutto, Netto, spezielle Landes- oder Regionalpreise) besitzen. Außerdem können Staffelpreise, Rabatte und zeitlich begrenzte Preise (etwa für Aktionsware) angegeben werden. Der Einfachheit halber wird hier allerdings nur ein Preis, der Bruttopreis, verwendet. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 17
22 Entwicklung der Katalog-Anwendung» Der BMEcat-Katalog Zu jedem Artikel werden drei Produktabbildungen referenziert. Eine Abbildung in hoher Auflösung für den Print-Katalog sowie zwei in niedriger Auflösung für die Website: eine kleine Abbildung für die Produktübersicht und eine größere für die Detailansicht. Sind alle Artikel definiert, wird jeder einzelne über das Element ARTICLE_TO_CATALOGGROUP_MAP einer Produktgruppe zugeordnet. Jede Zuordnung enthält die Artikelnummer und die GROUP_ID der jeweiligen Produktgruppe. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 18
23 Entwicklung der Katalog-Anwendung» Transformation zur Website 3.3 Transformation zur Website Vorbereitungen Die Vorbereitungen zur Generierung der Website lassen sich grob in drei Bereiche unterteilen: Seitenstruktur festlegen Layout erstellen Grafiken erstellen Seitenstruktur Da die Website als Online-Katalog dienen soll, bietet es sich an, die Navigationsstruktur von der Hierarchie der Produktkategorien abzuleiten. Damit der Besucher der Website die Möglichkeit hat, die gesamte Produktpalette auf einer Seite zu betrachten, wird der Primär-Navigation der Navigationspunkt alle Produkte hinzugefügt. So ergibt sich folgende Seitenstruktur. Startseite Internet- Gateways WLAN-Adapter WLAN-Antennen Printserver USB-Adapter alle Produkte DSL-Router Produktseite 1. Produktseite 1. Produktseite n Produktseite 1. Produktseite n Produktseite 1. Produktseite n Produktseite 1. Produktseite n Produktseite 1. Produktseite n Produktseite n Web-Seite, erreichbar über Meta-Navigation DSL-Router mit Modem DSL-Router mit WLAN Web-Seite, erreichbar über Primär-Navigation Web-Seite, erreichbar über Sekundär-Navigation Web-Seite, erreichbar von übergeordneter Kategorieseite Verbindung zwischen Web-Seiten verschiedener Navigationsebenen Abbildung 4: Navigationsstruktur der Website Layout Auf Grundlage der Navigationsstruktur und der Inhalte des BMEcat-Katalogs werden anschließend mit einem Grafikprogramm Layouts für die Web-Seiten erstellt. Da sich viele Elemente auf unterschiedlichen Web-Seiten gleichen (Navigationsleiste, Überschriften, Links, Fließtext), werden lediglich drei Layouts erstellt eines für die Kategorieseiten, eines für die Unterkategorieseiten und eines für die Produktseiten. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 19
24 Entwicklung der Katalog-Anwendung» Transformation zur Website Die folgende Abbildung zeigt das Layout für Unterkategorieseiten. Abbildung 5: Layout für Unterkategorieseiten Jede Web-Seite gliedert sich in vier Bereiche: Kopfzeile Navigationsleiste Inhaltsbereich Fußzeile Die Kopfzeile beinhaltet die Metanavigation, die hier nur aus einem Link zur Startseite besteht. Später könnten hier noch weitere Links zu übergeordneten Seiten wie Firmenportrait oder Seitenübersicht untergebracht werden. Durch Klicken auf das Firmenlogo gelangt der Besucher auf die Startseite. Dies wird im Webbrowser durch einen Tooltip-Kasten verdeutlicht, der erscheint, sobald sich der Mauszeiger über dem Logo befindet. Alle weiteren Links auf der Website sind durch die Farbe Orange hervorgehoben. Zusätzlich verändert jeder Link sein Aussehen, sobald der Anwender mit dem Mauszeiger darüber fährt. Die Navigationsleiste beinhaltet die sechs Elemente der Primärnavigation. Sie führen den Besucher entweder zur jeweiligen Kategorieseite oder wie in der obigen Abbildung zu sehen ist auf die Unterkategorieseite. Sobald sich der Mauszeiger über einem Element der Navigationsleiste befindet, wechselt die Farbe von hell- zu dunkelgrau. Fährt der Benutzer mit dem Mauszeiger über einen Text-Link, färbt sich dieser türkis. Zu sehen ist dies im Inhaltsbereich beim Sekundär-Navigationselement DSL-Router. Informationen zum Aktualitätsstand der Website, Links zum Impressum, zum - Kontakt und zum Seitenanfang befinden sich in der Fußzeile. Dort wird dem Besucher auch angezeigt, dass die Web-Seite gültiges XHTML 1.0 und CSS 2.0 verwendet. Links führen zu Seiten des W3C, auf denen die Gültigkeit des Quell-Codes überprüft wird. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 20
25 Entwicklung der Katalog-Anwendung» Transformation zur Website Kategorieseiten Der Inhaltsbereich informiert über die Produktkategorie und soll dem Besucher einen schnellen Überblick über die Produkte geben. Jeder Artikel wird mit dem Produktnamen, einer Kurzbeschreibung und einer kleinen Produktabbildung dargestellt. Besucher, die sich über ein bestimmtes Produkt informieren möchten, werden nicht nur fündig, wenn sie nach einem Produktnamen suchen, sondern auch, wenn sie nur eine ungefähre Vorstellung vom Aussehen des Produkts haben. Zusätzlich hilft die Kurzbeschreibung bei der Auswahl des Produkts. Abbildung 6: Layout für Kategorieseiten Klickt der Besucher auf eine Produktabbildung oder einen Produktnamen, gelangt er auf die jeweilige Produktseite. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 21
26 Entwicklung der Katalog-Anwendung» Transformation zur Website Produktseiten Die Produktseiten sollen den Besucher umfassend über ein Produkt informieren. Der Inhaltsbereich ist dabei so gestaltet, dass auch bei einer niedrigen Monitorauflösung von 800 x 600 Pixeln der Produktname, die Kurzbeschreibung, die Produktabbildung, der Preis und ein Teil der ausführlichen Beschreibung ohne scrollen zu müssen erkennbar sind. Erst wenn der Besucher spezifische Produktmerkmale sehen möchte, muss er eventuell scrollen. Wie auf den Kategorie- und Unterkategorieseiten sind auch auf den Produktseiten die einzelnen Bestandteile an Hilfslinien ausgerichtet, wodurch ein harmonischer Gesamteindruck entsteht. Abbildung 7: Layout für Produktseiten Produktabbildungen Nachdem das Layout für die Website feststeht, werden die Produktabbildungen erstellt. Zu jedem Artikel wird eine kleine, 150 Pixel breite Abbildung für die Kategorieseiten und eine größere, 350 Pixel breite Abbildung für die Produktseiten benötigt. Beide sollen im Dateiformat JPEG gespeichert werden. Da es sehr umständlich und zeitaufwändig wäre 30 Dateien zu öffnen, 60-mal zu skalieren und anschließend 60-mal zu speichern, werden in einem Bildbearbeitungsprogramm (verwendet wird Adobe Photoshop CS) zwei Stapelverarbeitungs-Prozesse eingerichtet. Diese öffnen, skalieren und speichern alle Abbildungen vollkommen automatisch und innerhalb von wenigen Sekunden. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 22
27 Entwicklung der Katalog-Anwendung» Transformation zur Website Beim Einrichten der Stapelverarbeitungs-Prozesse kann auch festgelegt werden, wie die generierten Dateien benannt werden sollen. Dem ursprünglichen Dateinamen (artikelnummer.dateiformat) wird die beim Erstellen des BMEcat-Katalogs definierte Erweiterung hinzugefügt. Die erzeugten Dateien für die Kategorieseiten heißen nun also artikelnummer_web-t.jpg beziehungsweise artikelnummer_web-n.jpg für die Produktseiten Stylesheet-Erstellung Das Stylesheet definiert mit Hilfe von XSLT-Elementen und XPath-Ausdrücken, wie der BMEcat-Katalog in die einzelnen Web-Seiten transformiert wird. Die Inhalte des BMEcat-Katalogs müssen gemäß der festgelegten Seitenstruktur in XHTML abgebildet werden. Dazu werden Regeln formuliert, die aus einem Auswahlmuster und einer Schablone bestehen. Das Auswahlmuster ist ein XPath-Ausdruck, der eine Knotenmenge innerhalb des BMEcat-Katalogs selektiert. Die Schablone definiert, wie der Inhalt der Knotenmenge verarbeitet werden soll. Auf diese Weise können die Inhalte des BMEcat-Katalogs gezielt in XHTML-Code umgesetzt werden. Ein Beispiel mit unterschiedlichen Farben für die XSLT- (rot), XPath- (grün) und XHTML-Syntax (blau) verdeutlicht dies: <xsl:template match="bme:bmecat/bme:header/bme:supplier/bme:address"> <div id="content"> <h1>betreiber</h1> <p> <xsl:value-of select="bme:name"/><br/> <xsl:value-of select="bme:street"/><br/> <xsl:value-of select="bme:zip"/> <xsl:value-of select="bme:city"/><br/> <xsl:value-of select="bme:country"/> </p> </div> </xsl:template> Das Stylesheet zur Generierung des Online-Katalogs lässt sich in sechs Bereiche unterteilen: Kopf Parameter Bausteine Texte Seitengenerierung Seitenfüllung Single Source Publishing mit XML/XSL am Beispiel von BMEcat 23
28 Entwicklung der Katalog-Anwendung» Transformation zur Website Kopf Jedes Stylesheet wird als wohlgeformtes XML-Dokument formuliert. Vor dem ersten XSLT-Element steht daher die XML-Deklaration. Eingeleitet wird das Stylesheet durch das Wurzelelement xsl:stylesheet, in dessen Attributen die verwendete XSLT-Version und Namensräume deklariert werden. Neben den Namensräumen für XSLT und XHTML muss auch ein Namensraum und ein Präfix für die BMEcat-Elemente angegeben werden: <xsl:stylesheet version="1.0" [...] xmlns:bme=" exclude-result-prefixes="bme"> Dies ist nötig, da im BMEcat-Katalog alle Elemente im Default-Namensraum notiert sind und dort kein Präfix besitzen. Damit auf Elemente im Default-Namensraum des Quelldokuments zugegriffen werden kann, muss derselbe Default-Namensraum auch im Stylesheet angegeben und zusätzlich mit einem frei wählbaren Präfix (bme) versehen werden. Diese Einschränkung soll in XSLT 2.0 allerdings behoben sein. Mit dem Element xsl:output wird unter anderem die DOCTYPE-Deklaration für XHTML notiert. Der XSLT-Prozessor wird dadurch angewiesen, jeder erzeugten Datei die Angabe zum XHTML-Dokumenttyp voranzustellen. Parameter Im Stylesheet mehrfach benötigte Werte werden mit xsl:param an zentraler Stelle notiert und können so komfortabel verwaltet werden. Im folgenden Beispiel wird die Dateiendung der zu erzeugenden Web-Seiten definiert: <xsl:param name="extension">.html</xsl:param> Der Aufruf erfolgt über den im name-attribut vergebenen Bezeichner: <a href="index{$extension}"> Bausteine Bestandteile, die auf allen Web-Seiten benötigt werden, sind an zentraler Stelle als Baustein definiert. Diese Bausteine sind: der HTML-Kopf die Kopfzeile und die Navigationsleiste die Fußzeile Single Source Publishing mit XML/XSL am Beispiel von BMEcat 24
29 Entwicklung der Katalog-Anwendung» Transformation zur Website Wie bereits die Parameter, werden auch die Bausteine mit dem Element xsl:param definiert. Statt eines einzelnen Wertes ist hier ein Stück Quelltext hinterlegt. Der Baustein für den HTML-Kopf ist beispielsweise so notiert: <xsl:param name="head"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title> <xsl:value-of select="bme:bmecat/bme:header/ bme:supplier/bme:supplier_name"/> <xsl:text> </xsl:text> <xsl:value-of select="bme:bmecat/bme:header/bme:catalog/ bme:catalog_name"/> </title> <link type="text/css" rel="stylesheet" href="css/style.css"/> </head> </xsl:param> Wie zu sehen ist, wird auch die CSS-Datei (style.css), in der das Layout der Website definiert ist, im Kopf notiert. Der Aufruf des Bausteins bindet sie in eine Web-Seite ein. Texte Die Texte für die Startseite und den Haftungsausschluss sind keine Bestandteile des BMEcat-Katalogs. Sie sind daher an zentraler Stelle direkt im Stylesheet, ebenfalls mit xsl:param, abgelegt. Seitengenerierung Der aktuelle XSLT-Standard 1.0 sieht vor, bei einer Transformation aus einem Quelldokument genau ein Zieldokument zu erzeugen. Da aber eine gesamte Website, bestehend aus mehreren Web-Seiten erzeugt werden soll, wird im Stylesheet auf eine Erweiterung für den Prozessor Xalan [Apache 2004] des Apache-XML-Projekts und auf das XSL-Element xsl:result-document [Kay 2003] zurückgegriffen, das Bestandteil der Version 2.0 des XSLT-Standards (zurzeit Working-Draft-Status) ist. Die gesamte Website lässt sich in vier verschiedene Seitentypen unterteilen, die jeweils ein identisches Layout besitzen. Dies sind: Startseite Kategorieseite Produktseite Impressum Single Source Publishing mit XML/XSL am Beispiel von BMEcat 25
30 Entwicklung der Katalog-Anwendung» Transformation zur Website Die Startseite ist das Standard-Ausgabedokument, wird also ohne die oben beschriebenen Erweiterungen erzeugt. Sämtliche Produkt- und Kategorieseiten sowie das Impressum werden entweder mit der Xalan-Erweiterung redirect:write oder mit xsl:result-document erzeugt. Das Stylesheet ist so geschrieben, dass die Seiten nur dann erzeugt werden, wenn der verwendete Prozessor eines der beiden Elemente unterstützt. Andernfalls bricht die Verarbeitung des Stylesheets mit einer Fehlermeldung ab. Der Quelltext zur Generierung der Produktseiten sieht wie folgt aus: <xsl:for-each select="bme:t_new_catalog/bme:article"> <xsl:variable name="link" select="bme:article_details/ bme:supplier_alt_aid"/> <xsl:choose> <xsl:when test="element-available('xsl:result-document')"> <xsl:result-document href="{$link}{$extension}"> <xsl:apply-templates select="bme:supplier_aid"/> </xsl:result-document> </xsl:when> <xsl:when test="element-available('redirect:write')"> <redirect:write file="{$link}{$extension}"> <xsl:apply-templates select="bme:supplier_aid"/> </redirect:write> </xsl:when> <xsl:otherwise> <xsl:message terminate="yes"> <xsl:text>der von Ihnen verwendete XSLT-Prozessor unterstuetzt die Ausgabe mehrfacher Dokumente nicht! </xsl:text> </xsl:message> </xsl:otherwise> </xsl:choose> </xsl:for-each> Der Dateiname der generierten Web-Seiten setzt sich aus dem Inhalt der Variablen link und Extension zusammen. Jede Produktseite erhält ihren Namen also nach dem Schema artikelnummer.html. Die Kategorieseiten werden auf die gleiche Weise benannt, allerdings referenziert die Variable link dabei auf die GROUP_ID der Kategorie anstelle der SUPPLIER_ALT_AID (Artikelnummer). Die Links zu den Kategorieseiten innerhalb der Navigationsleiste sind nach dem gleichen Schema aufgebaut. Dadurch ist es möglich, weitere Kategorien in den BMEcat-Katalog einzufügen, ohne den Quelltext des Stylesheets verändern zu müssen. Auch Artikel können dem BMEcat-Katalog hinzugefügt werden ohne das Stylesheet verändern zu müssen, da eine Schleife (xsl:for-each) sämtliche Artikel nacheinander verarbeitet. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 26
31 Entwicklung der Katalog-Anwendung» Transformation zur Website Seitenfüllung Zur besseren Übersicht und Wartbarkeit des Quelltexts sind die Seitengenerierung und die Seitenfüllung getrennt voneinander definiert. Die Anweisung xsl:apply-templates (siehe Seitengenerierung) wählt eine Knotenmenge aus und reicht sie zur Verarbeitung an die Schablone (xsl:template) weiter. Die Auswahl der Knotenmenge und die Zuordnung zu einer passenden Schablone erfolgt über das select-attribut. Die Schablone zum Befüllen der Produktseiten sieht beispielsweise wie folgt aus: <xsl:template match="bme:supplier_aid"> <html> <xsl:copy-of select="$head"/> <body> <xsl:copy-of select="$kopfzeilenavi"/> <div id="right"> <div id="content"> <h1><xsl:value-of select="."/></h1> <p><xsl:value-of select="../bme:article_details/ bme:description_short"/></p> <table>... </table> </div> </div> </html> </xsl:template> Innerhalb der Schablone werden HTML-Tags mit Inhalten aus dem BMEcat-Katalog gefüllt. Die Darstellung der Inhalte im Webbrowser regelt die CSS-Datei, die über den Baustein Head in die Web-Seite eingebunden wird. Im Stylesheet sind drei Schablonen für die Kategorieseiten, für die Produktseiten und für das Impressum definiert. In der Schablone für die Kategorieseiten wird zusätzlich zwischen Oberkategorieseiten, Unterkategorieseiten und der Seite alle Produkte unterschieden, da sie unterschiedliche Inhalte haben. Die Selektion erfolgt über den Knotentyp innerhalb des Katalog-Gruppensystems. Die drei Selektionsaufrufe sehen wie folgt aus: Oberkategorie <xsl:if = 'leaf'"> Unterkategorie <xsl:if = 'node'"> alle Produkte <xsl:if = 'root'"> Nach der Selektion werden die Seiten entsprechend der Layoutvorgaben mit Inhalten aus dem BMEcat-Katalog gefüllt. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 27
32 Entwicklung der Katalog-Anwendung» Transformation zur Website Transformation Die Transformation vom BMEcat-Katalog zur Website wird von einem XSLT-Prozessor durchgeführt. Das Programm liest den BMEcat-Katalog ein, wendet die Regeln innerhalb des Stylesheets darauf an und erzeugt die einzelnen Web-Seiten. Folgende Grafik verdeutlicht den Ablauf: Website- Stylesheet Web-Seite 1 BMEcat-Katalog XSLT-Prozessor Web-Seite 2... Web-Seite n Prozess generiertes Dokument manuell erstelltes Dokument generiert verarbeitet Abbildung 5: Ablauf der Transformation Verwendet wird der XSLT-Prozessor Saxon in Version 8. Er ist in Java implementiert und kann über die Kommandozeile des Betriebssystems aufgerufen werden. Der Aufruf sieht wie folgt aus: java net.sf.saxon.transform -o website/index.html katalog/katalog.xml stylesheets/website.xsl Dem Prozessor muss mitgeteilt werden, wo sich Quell- und Stylesheet-Datei befinden. Zusätzlich muss mit dem Parameter -o der Zielordner und der Dateiname der Standard-Ausgabedatei, also der Startseite, angegeben werden. Da mehr als eine Datei erzeugt wird, erfährt der Prozessor so, in welchem Ordner die restlichen Web- Seiten abgelegt werden sollen. Um die Generierung der Website zu vereinfachen und quasi auf Knopfdruck zu starten, wird der oben notierte Kommandozeilenaufruf in einer Batch-Datei gespeichert. Unter Windows wird dazu der gesamte Aufruf in eine leere Textdatei eingefügt und mit der Dateiendung.bat abgespeichert. Ein Doppelklick auf diese Datei startet die Transformation. Die gesamte Transformation, bei der 41 HTML-Dateien erzeugt werden, dauert nur wenige Sekunden. Anschließend wird überprüft, ob ein Webbrowser alle Web-Seiten korrekt darstellt. Da in den HTML-Dateien ausschließlich relative Pfadangaben verwendet werden, müssen sich die Produktabbildungen und die CSS-Datei in den Ordnern befinden, die im Stylesheet beziehungsweise im BMEcat-Katalog definiert sind. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 28
33 Entwicklung der Katalog-Anwendung» Transformation zur Website Nachbearbeitung Um den generierten Online-Katalog im Internet zu veröffentlichen, werden sämtliche Dateien mit einem FTP-Programm auf einen Webserver geladen. Dabei muss darauf geachtet werden, dass die lokale Ordnerstruktur auch auf dem Webserver erhalten bleibt. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 29
34 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog 3.4 Transformation zum Print-Katalog Vorbereitungen Zunächst wird ein Layout für den gesamten Katalog erstellt. Besonderes Augenmerk liegt dabei auf dem Layout der Produktseiten. Im Gegensatz zu den Web-Seiten des Online-Katalogs haben die Seiten des Print-Katalogs eine fest vorgegebene Größe. Das Layout muss daher so angelegt sein, dass trotz eines variierenden Umfangs von Produktinformationen die komplette Beschreibung jedes Artikels auf einer Seite Platz findet. Da der BMEcat-Katalog bereits vorhanden ist, kann der Umfang der Produktinformationen beim Entwickeln des Layouts berücksichtigt werden. Sollten später Artikel mit wesentlich mehr Produktinformationen in den BMEcat-Katalog eingefügt werden, ist eventuell eine Überarbeitung des Layouts nötig. Anders als die Website ist der Print-Katalog nur in die im BMEcat-Katalog definierten Hauptkategorien unterteilt. Artikel aus Unterkategorien befinden sich innerhalb der jeweiligen Hauptkategorie. Farben Um die Produktkategorien besser unterscheiden zu können und dem Leser die Orientierung innerhalb des Katalogs zu vereinfachen, verwendet jede Produktkategorie eine eigene Farbe. Die Farben sind so gewählt, dass sie sich gut voneinander abheben. Innerhalb einer Produktkategorie kommt die Farbe als Voll- und Halbton zum Einsatz. Die folgende Abbildung zeigt die Farben mit den dazu gehörigen Produktkategorien und Farbwerten im CMYK-Farbraum. Abbildung 6: Farben und CMYK-Farbwerte der Produktkategorien Seitenformat Die Seiten des Katalogs haben eine Größe von 257 x 170 mm, das entspricht dem Format DIN A4 mit zehn Millimetern Seitenrand. Damit der Katalog in einer Druckerei gedruckt, geschnitten und gebunden werden kann, müssen die Seiten mit drei Millimetern Beschnittzugabe eingerichtet sein. Die erzeugten Seiten haben dann eine Größe von 263 x 176 mm. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 30
35 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Katalog-Aufbau Der Katalog besteht aus: einem Umschlag (Titel- und Rückseite) einer Begrüßungsseite einem Inhaltsverzeichnis Kategorie- und Produktseiten Für jeden dieser Seitentypen muss in einem Layoutprogramm (verwendet wird Adobe InDesign CS) ein Layout erstellt werden, das später als Grundlage für die Erstellung des Stylesheets dient. Umschlag Beim Leser wird der erste Eindruck vom Katalog maßgeblich durch den Umschlag bestimmt. Um diesen (positiven Eindruck) im Katalog zu bestätigen und um eine Verbindung zwischen Umschlag und Inhalt herzustellen, werden Gestaltungselemente verwendet, die auf den Katalog-Seiten wieder auftauchen. Farblich orientiert sich der Umschlag an der Farbe des Unternehmenslogos Türkis. Die Titelseite soll den Leser über den Inhalt des Katalogs informieren. Sie enthält daher nicht nur den Katalog-Titel, sondern auch die fünf Produktkategorien. Das große Foto soll dem Leser das Unternehmensmotto (Building Networks for People) und das Produktumfeld visuell näher bringen. Produktkatalog 2004 Internet-Gateways WLAN-Antennen WLAN-Adapter USB-Adapter Printserver D-Link GmbH Schwalbacher Straße Eschborn Telefon: Fax: ( ) ( ) Internet: Abbildung 7: Layout des Katalog-Umschlags Single Source Publishing mit XML/XSL am Beispiel von BMEcat 31
36 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Die Rückseite greift das Layout der Titelseite auf. Sie zeigt das gleiche Foto, allerdings horizontal gespiegelt. Der Bereich, in dem auf der Titelseite das Logo und der Katalog-Titel untergebracht sind, befindet sich hier am unteren Ende der Seite. Er besitzt dieselbe Höhe und enthält Kontaktinformationen. Begrüßungsseite und Inhaltsverzeichnis Die Begrüßungsseite bildet den Einstieg in den Katalog. Sie informiert den Leser über die Firmengeschichte und die Tätigkeitsfelder von D-Link. Das Inhaltsverzeichnis gibt dem Leser einen Überblick über die Produktkategorien des Katalogs. Hier werden zum ersten Mal die vorher definierten Kategorie-Farben verwendet. Eingefasst werden beide Seiten von Balken in der Unternehmensfarbe Türkis. Die gleichen Balken werden auch auf den Produktseiten wieder verwendet. Willkommen Inhaltsverzeichnis D-Link gehört zu den weltweiten Marktführern in den Bereichen Netzwerkausrüstung, Konnektivität und Datenkommunikation. Wir entwickeln, erstellen und vertreiben die notwendige Hardware, damit sich Anwender Ressourcen teilen und über ein lokales Netzwerk kommunizieren können. Seit seinen Anfängen 1986 hat sich D-Link mit Blick auf den globalen Markt entwickelt. Um diese internationale Präsenz auszubauen, hat das Unternehmen auf den größten Märkten Zweigstellen eröffnet und ein breites Vertriebsnetz mit Partnern in über 90 Ländern geflochten. Eine der größten Herausforderungen unserer Zeit ist es, Informationen effizient zugänglich zu machen. Datentransfer über Networking ist hierbei das Schlüsselwort. D-Link bietet Ihnen vom USB-Adapter bis hin zu Internet-Gateways alle Produkte und Lösungen der modernen Datenübermittlung. Wählen Sie aus einem umfassenden Produktsortiment die für Sie passenden Produkte. Unabhängig von Größe und Verkabelung D-Link stellt für jede Umgebung eine garantiert effiziente Lösung bereit. Internet-Gateways 4 WLAN-Adapter 14 WLAN-Antennen 22 Printserver 26 USB-Adapter 30 Abbildung 8: Layout der Begrüßungsseite und des Inhaltsverzeichnisses Single Source Publishing mit XML/XSL am Beispiel von BMEcat 32
37 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Kategorie- und Produktseiten Jede Produktkategorie beginnt mit einer Seite, die den Leser über die Kategorie informiert und ihm einen Überblick über deren Produkte gibt. Sie enthält den Kategorienamen, dazu eine kurzen Beschreibungstext und die Produktnamen und Kurzbeschreibungen aller Artikel. Die Kategorieseite verwendet ausschließlich Gestaltungselemente, die auch auf der Titelseite, der Begrüßungsseite und im Inhaltsverzeichnis verwendet werden hier jedoch in der zur Produktkategorie definierten Farbe. Wiederkehrende Elemente sind der 35 mm breite Balken am linken Seitenrand, die zehn und acht Millimeter hohen Balken am oberen und unteren Rand der Seite, der mit einem Halbton der Kategoriefarbe hinterlegte Textkasten sowie die in den seitlichen Balken eingerückten Textblöcke. Internet-Gateways Internet-Gateways Die Internet-Gateways von D-Link bieten Breitband Internetzugang für bis zu 253 Benutzer. Alle Geräte verfügen über eine NAT Firewall die Ihr Netzwerk vor unberechtigtem Zugriff von Außen schützt. DI-707P DSL Internet Gateway plus 7-Port Switch und Printserver Breite: 22,5 cm Tiefe: 13,5 cm Höhe: 4 cm Gewicht: 1700 g Datenübertragungsrate Ethernet: 100 Mbit/s Schnittstellentyp: Parallel (Printserver) Switch-Ports: 7 DI-707P DSL Internet Gateway plus 7-Port Switch und Printserver Preis: 89,90 EUR DSL-502T DSL Ethernet/USB Router Annex A DSL-504T DSL Router plus 4-Port Switch Annex A DSL-562T DSL Ethernet/USB Router Annex B Dieser Internet-Gateway ermöglicht Ihnen, einen einzigen WAN-Anschluss und ein ISP-Konto zu Hause oder im Büro zusammen mit einer Gruppe von Benutzern zu verwenden. Dieses Gerät macht die Installation eines separaten Modems und Internetkontos für jeden Rechner überflüssig und hilft Ihnen so, innerhalb Ihres Netzwerks erhebliche Kosten zu sparen. Bis zu sieben Rechner können direkt über den eingebauten Switch angeschlossen werden. Eine Erweiterung des Netzwerks über Hubs und Switches ist jederzeit möglich. Über den integrierten Printserver kann ein zentraler Drucker für alle freigegeben werden und ständig online sein. DSL-502T DSL-564T DSL Router plus 4-Port Switch Annex B DSL Ethernet/USB Router Annex A Anschluss: 10BaseT/100BaseTX und USB 1.1 DI Mbit Wireles DSL Internet Gateway plus Switch DI Mbit Wireless DSL Internet Gateway plus Switch DI Mbit Wireles DSL Internet Gateway plus Switch Preis: 89,90 EUR DI-714P+ 22 Mbit Wireles DSL Internet Gateway plus Switch und Printserver DI Mbit Wireless TriMode Dual Band Internet Gateway plus Switch Dieser Router vereint Internet Gateway und ADSL-Modem ein einem Gerät. Er ermöglicht die gemeinsame Nutzung einer ADSL-Verbindung über ein ISP-Konto für bis zu 253 Benutzer gleichzeitig. Das Gerät unterstützt sowohl Flatrate als auch Callby- Call-Einwahl. Der Router unterstützt eine Download-Geschwindigkeit von bis zu 8 Mbit, im Upstream können bis zu 1,5 Mbit erreicht werden. Er wird durch ein Firmware-Upgrade ADSL-2+ kompatibel und ist somit auch für zukünftige Technologien ausgerüstet. Für eine einfache und stabile Verbindung zwischen heterogenen, standardisierten Netzwerkgeräten unterstützt der Router UPnP. Für Nutzer eines DSL-Anschluss der Deutschen Telekom ist dieser Router nicht geeignet, da er nicht den erforderlichen Standard Annex B unterstützt. 4 5 Abbildung 9: Layout der Kategorie- und Produktseiten Die Produktseiten sind so angelegt, dass maximal zwei Artikel darauf Platz finden. Die Produktinformationen sind von einem Rahmen umgeben, der die Artikel voneinander abgrenzt. Um die starre Kastenform etwas aufzulockern, befindet sich der Produktname außerhalb des großen Rahmens in einem eigenen Rahmen. Der große Informationskasten ist in drei kleinere unterteilt. Da in westlichen Ländern von links oben nach rechts unten gelesen wird, wurden die Produktinformationen so angeordnet, dass der Informationsumfang in dieser gewohnten Leserichtung zunimmt. Im Bereich oben links befindet sich die Kurzbeschreibung und die Produktabbildung, die schnell erfasst werden können. Im Bereich oben rechts sind sämtliche Produktmerkmale und der Preis aufgeführt. Der untere Bereich enthält die ausführliche Produktbeschreibung. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 33
38 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Die Gliederung in drei Bereiche erfüllt noch einen weiteren Zweck: Wird ein Bereich nicht dargestellt, weil er keine Informationen enthält, bleibt das Layout der anderen Bereiche trotzdem erhalten. Dies ist wichtig, da nicht zu jedem Artikel eine ausführliche Beschreibung im BMEcat-Katalog hinterlegt ist. Schriften Im Katalog werden zwei Schriftfamilien eingesetzt: Meta und DIN. Die Schrift Meta wurde 1985 von Erik Spiekermann für die Deutsche Bundespost entwickelt. Obwohl diese den Entwurf ablehnte, wurde die Schrift später kommerziell vertrieben und entwickelte sich zu einem modernen Klassiker. Sie gehört zur Gruppe der serifenlosen Antiqua-Schriften, ist auch in kleinen Größen hervorragend lesbar, hat einen guten Kontrast und ist sehr Platz sparend. Verschiedene Stile der Meta werden im Katalog für Fließtexte und sämtliche Produktinformationen verwendet. Die DIN-Schrift wurde 1936 vom Deutschen Institut für Normung für die Bereiche Technologie und Verkehr festgelegt. Sie findet sich noch heute als Mittel- und Engschrift auf allen deutschen Verkehrs-, Orts-, und Hinweisschildern. Die DIN-Schrift gehört wie die Meta-Schriftfamilie zur Gruppe der serifenlosen Antiqua-Schriften und zeichnet sich ebenfalls durch eine hervorragende Lesbarkeit aus. Im Gegensatz zur Meta wirkt die DIN-Schrift jedoch schlichter und ruhiger. Sie wird im Katalog für Überschriften, Seitenzahlen und das Inhaltsverzeichnis eingesetzt. Produktabbildungen Die Größe der Produktabbildungen wird auf maximal 945 x 945 Pixel bei einer Auflösung von 300 ppi (Pixel pro Inch) beschränkt, das entspricht einer Ausgabegröße von 80 x 80 mm. Dadurch soll sichergestellt werden, dass genügend Platz für die Produktmerkmale im Bereich rechts neben der Abbildung bleibt. Abbildungen die größer sind, werden über einen Stapelverarbeitungs-Prozess in Adobe Photoshop verkleinert. Bilddateien müssen für den professionellen Vierfarbdruck im Farbraum CMYK angelegt sein. Daher wird in Photoshop eine weitere Stapelverarbeitung eingerichtet, die alle Produktabbildungen bei Bedarf nach CMYK wandelt und anschließend im Dateiformat TIFF (Tagged Image File Format) verlustfrei speichert. Bei einer realen Katalog-Produktion wäre die Wandlung nach CMYK problematisch, da dabei die Farben des Bildes und damit auch das Druckergebnis verändert würde. Man sollte daher darauf achten, dass alle Bilder von vornherein im Farbraum CMYK vorliegen. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 34
39 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Stylesheet-Erstellung Anders als bei der Generierung der Website ist der Satzprozess zur Erzeugung des PDFs in zwei Verarbeitungsschritte unterteilt. Im ersten Schritt erzeugt ein XSLT-Prozessor aus XML-Daten und einem Stylesheet ein XSL-FO-Dokument. XSL-FO wird also nicht von Hand geschrieben, sondern durch einen XSLT-Prozessor generiert. Dieser Vorgang entspricht dem Generieren der Website. Anstelle von HTML-Strukturen werden hier XSL-FO-Konstrukte erzeugt. Das resultierende XSL-FO-Dokument wird von einem FO-Prozessor verarbeitet und als Dokument ausgegeben, beispielsweise als PDF. Beide Verarbeitungsschritte werden in der Regel von nur einer Software durchgeführt, die als XSL-Formatierer bezeichnet wird. Dabei läuft der erste Verarbeitungsschritt meist im Hintergrund ab und das Ergebnis wird sofort weiterverarbeitet. XSL-FO Eine XSL-FO-Datei hat ein festgelegtes Grundgerüst. Sie beginnt mit dem Wurzelelement <fo:root>, dessen Kindelemente sind <fo:layout-master-set>, mindestens ein <fo:page-sequence>-element und optional das Element <fo:declarations>. Im <fo:layout-master-set> werden Seitenvorlagen definiert, also etwa die Seitengröße, Ränder, Kopf- und Fußzeilen festgelegt. Im <fo:declarations>-element können Farbprofile abgelegt werden. Bisher unterstützt jedoch keiner der verfügbaren XSL-Formatierer dieses Element. Die <fo:page-sequence>-elemente füllen die im <fo:layout -master-set> definierten Seitenvorlagen mit Inhalten. Das folgende Beispiel soll den Seitenaufbau einer XSL-FO-Datei demonstrieren: <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo=" <fo:layout-master-set> <fo:simple-page-master master-name="beispiel-seite" page-height="263mm" page-width="176mm" margin="0mm 0mm 0mm 0mm"> <fo:region-before extend="10mm"> <fo:region-body/> <fo:region-after extend="10mm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="beispiel-seite"> <fo:flow flow-name="xsl-region-body"> <fo:block>hier steht ein Beispiel-Text</fo:block> </fo:flow> </fo:page-sequence> </fo:root> Single Source Publishing mit XML/XSL am Beispiel von BMEcat 35
40 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Die im Beispiel mit dem Element <layout-master-set> definierten Bereiche der Vorlageseite verdeutlicht die folgende Abbildung. Abbildung 10: links der Aufbau einer Seite, rechts der Aufbau des Druckbereichs Die Seitengröße wir durch die Attribute page-height und page-width festgelegt. Mit den margin-attributen können optional Seitenränder definiert werden. Mit den Elementen <fo:region-before>, <fo:region-after>, <fo:region-start> und <fo:region-end> kann der Druckbereich weiter unterteilt werden, etwa um eine Kopf- oder Fußzeile einzurichten. Die Größe der Bereiche definiert das Attribut extend. Stylesheet-Aufbau Das Stylesheet zur Generierung des XSL-FO-Dokuments und letztlich des PDFs gliedert sich in folgende Bereiche: Kopf Parameter Text Seitenlayout-Vorlagen Seitenfolgen-Vorlagen Page-Sequence Single Source Publishing mit XML/XSL am Beispiel von BMEcat 36
41 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Kopf Nach der XML-Deklaration folgt das einleitende stylesheet-element, in dem die XSLT-Version und die verwendeten Namensräume angegeben werden. Neben den Namensräumen für XSLT und XSL-FO muss, wie bereits beim Website-Stylesheet, zusätzlich ein selbst definierter Namensraum und ein Präfix für die BMEcat-Elemente notiert werden. Darüberhinaus wird noch der ebenfalls selbst definierte Namensraum vars notiert, der später für die Definition der Farbwerte in Variablen benötigt wird. Parameter In Kapitel wird als Vorgabe genannt, alle Parameter, die das Layout der Zieldokumente beeinflussen, möglichst zentral abzulegen. Bei der Generierung der Website werden dazu sämtliche Layout-Angaben in eine CSS-Datei ausgelagert. Dies ist beim Generieren des PDFs nicht möglich. Daher werden alle Layout-Attributwerte am Anfang des Stylesheets abgelegt. Einzelne Werte werden mit dem Element <xsl:param> definiert: <xsl:param name="papierhoehe">263mm</xsl:param> <xsl:param name="papierbreite">176mm</xsl:param> Auf diese Weise werden neben der Seitengröße auch die Werte für Abstände und Ränder definiert. Außerdem wird mit <xsl:param> auch der Dateipfad zum Speicherort der Produktabbildungen an zentraler Stelle abgelegt: <xsl:param name="mime-root" select="bme:bmecat/bme:header/ bme:catalog/bme:mime_root"/> Besitzt ein Element mehrere Layout-Attribute, so werden diese als so genannte Attribut-Bündelung im Parameter-Bereich hinterlegt. Die Namen der Layout-Attribute in XSL sind häufig identisch mit denen in CSS: <xsl:attribute-set name="artikel"> <xsl:attribute name="font-family">metaplusnormal-roman </xsl:attribute> <xsl:attribute name="color"> <xsl:value-of = 'Schwarz']"/> </xsl:attribute> <xsl:attribute name="margin-top">8mm</xsl:attribute> <xsl:attribute name="border-style">solid</xsl:attribute> <xsl:attribute name="border-width">0mm</xsl:attribute> <xsl:attribute name="keep-together.within-page">always </xsl:attribute> </xsl:attribute-set> Die Attribut-Bündelung wird einem FO-Element mit xsl:use-attribute-sets zugewiesen: <fo:block xsl:use-attribute-sets="artikel"> Single Source Publishing mit XML/XSL am Beispiel von BMEcat 37
42 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Neben den einzelnen Werten und den Attribut-Bündelungen gibt es noch eine dritte Gruppe im Bereich der Parameter: die Farbwerte. Im Layout wurde für jede Kategorie eine Farbe mit zwei Farbwerten definiert (Halb- und Vollton). Da alle Kategorieseiten und die dazugehörigen Produktseiten von derselben Schleifen-Konstruktion erzeugt werden, muss bei jedem Schleifendurchlauf festgelegt werden, welche Kategoriefarbe gerade verwendet werden soll und ob sie als Voll- oder Halbton genutzt wird. Mit XSL ist es nicht möglich, auf den Inhalt einer Variablen durch einen zusammengesetzten (konkatenierten) Namen zuzugreifen. Enthält die Variable group_name beispielsweise den Kategorienamen Internet-Gateways und man möchte auf den Inhalt der Variablen Voll_Internet-Gateways zugreifen, ist es nicht möglich, dafür $Voll_$group_name zu schreiben. Da die Farbe also nicht über eine Kombination aus dem aktuellen Kategorienamen und dem Zusatz Voll- oder Halbton festgelegt werden kann, muss ein anderer Weg gefunden werden. Die Lösung besteht darin, sämtliche Farbwerte in einer selbst definierten Elementstruktur abzulegen. Der Farbwert wird durch die XSL-Funktion rgb-icc bestimmt. Der vierte Parameter der Funktion dient eigentlich dazu, ein im Element <fo:declarations> abgelegtes ICC-Profil zu referenzieren. Der zur Generierung des PDFs verwendete XSL Formatter nutzt diesen Parameter jedoch zur Unterscheidung, ob die folgenden Parameter einen Vierfarb- oder Graustufen-Wert definieren. Die ersten drei Parameter legen einen Wert aus dem srgb-farbraum fest. Dieser wird immer dann verwendet, wenn ein angegebenes ICC-Profil nicht gefunden wird. Da ICC-Profile vom verwendeten XSL-Formatierer ohnehin nicht unterstützt werden, kann man diese drei Werte aber vernachlässigen. <vars:farben> <Farbe-Voll name="internet-gateways"> rgb-icc(21,104,177,#cmyk,100%,50%,0%,0%) </Farbe-Voll> <Farbe-Halb name="internet-gateways"> rgb-icc(146,168,214,#cmyk,50%,25%,0%,0%) </Farbe-Halb>... <Farbe-Voll name="tuerkis"> rgb-icc(0,141,172,#cmyk,100%,10%,25%,10%) </Farbe-Voll> </vars:farben> Die Elemente innerhalb von <vars:farben> werden anschließend mit der XSL-Funktion document der Variablen Farbwerte zugewiesen. Diese Funktion wird häufig verwendet um Inhalte aus anderen XML-Dokumenten als dem Standard-Quelldokument im Stylesheet verarbeiten zu können. Hier werden der Funktion jedoch keine Parameter übergeben. Sie bezieht sich also auf das Stylesheet selbst: <xsl:param name="farbwerte" select="document('')/*/vars:farben"/> Single Source Publishing mit XML/XSL am Beispiel von BMEcat 38
43 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Die Zuweisung eines Farbwertes, etwa als Hintergrundfarbe des Bereichs region-after, sieht wie folgt aus: <fo:region-after = $group_name]}"/> Als Hintergrundfarbe wird der Inhalt des Elements Farbe-Voll gewählt, bei dem das name-attribut den aktuellen Kategorienamen (group_name) enthält. Text Da der Text der Begrüßungsseite kein Bestandteil des BMEcat-Katalogs ist, wird er mit xsl:param an zentraler Stelle im Stylesheet abgelegt. Seitenlayout-Vorlagen Wie bereits erwähnt, werden im <fo:layout-master-set> Seitenlayout-Vorlagen definiert. Für jedes unterschiedliche Seitenlayout wird eine Vorlage erstellt. Da sich die Kategorien untereinander nur durch die Farbe unterscheiden, die drei Seitentypen (Übersichts-, linke und rechte Produktseite) aber in jeder Kategorie dasselbe Layout besitzen, können diese drei Seitenlayout-Vorlagen durch eine Schleife generiert werden. Zusammen mit den Vorlagen für die Titelseite, die Begrüßungsseite, das Inhaltsverzeichnis und die Rückseite werden also insgesamt sieben Vorlagen erstellt. Die vier statischen Vorlagen erhalten jeweils einen festen Namen, über den sie später bei der Seitenfüllung angesprochen werden. Die Hintergrundfarben der verschieden Seitenbereiche werden ebenfalls statisch, über den in den Farbelementen festgelegten Namen, eingebunden. Alle weiteren Attribut-Werte wie Seitengröße, Abstände oder Bereichsgrößen werden über die am Anfang des Stylesheets definierten Parameter eingebunden: <fo:simple-page-master master-name="verzeichnis" margin="{$seiten-rand}" page-height="{$papierhoehe}" page-width="{$papierbreite}"> <fo:region-before background-color="{$farbwerte/ = 'Tuerkis']}" extent="{$bereich-kopf}"/> <fo:region-body [...] margin="{$body-rand-verzeichnis}"/> <fo:region-after [...] extent="{$bereich-fuss}"/> </fo:simple-page-master> Single Source Publishing mit XML/XSL am Beispiel von BMEcat 39
44 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Die Vorlagen für die Seiten einer Produktkategorie werden durch eine Schleife erzeugt. Dabei wird für jede Kategorie jeweils eine Vorlage für die erste Seite einer Kategorie, für die linken und für die rechten Produktseiten erzeugt. Diese Vorlagen unterscheiden sich von den statischen Vorlagen unter anderem dadurch, dass ihre Namen und die der Hintergrundfarben dynamisch aus dem jeweils aktuellen Kategorienamen erzeugt werden: <xsl:for-each select="[...]bme:catalog_structure[bme:parent_id=1]"> <xsl:variable name="group_name"> <xsl:value-of select="bme:group_name"/> </xsl:variable> <fo:simple-page-master master-name="links_{$group_name}" margin="{$seiten-rand}" page-height="{$papierhoehe}" page-width="{$papierbreite}"> <fo:region-after region-name="links-after" = $group_name]}" [...]/>... </fo:simple-page-master> </xsl:for-each> Anders als bei den statisch erzeugten Vorlagen besitzen die Seitenbereiche der Kategorieseiten-Vorlagen das Attribut region-name. Das liegt daran, dass auf diesen Seiten in die Seitenbereiche region-before und region-after (Kopf- und Fußzeile) die Seitenzahl und der jeweilige Kategoriename eingefügt werden sollen. Der Seitenbereich wird später über den hier definierten Namen ausgewählt. Seitenfolgen-Vorlagen Im Katalog sollen die Seiten einer Produktkategorie in einer festgelegten Reihenfolge angeordnet werden. Durch eine Schleife wird daher für jede Produktkategorie mit <fo:page-sequence-master> eine Seitenfolgen-Vorlage definiert. Die Seitenlayout-Vorlagen, die innerhalb dieser Seitenfolge verwendet werden sollen, werden mit dem Element <fo:conditional-page-master-reference> eingebunden. Mit Attributwerten werden Bedingungen definiert, wann und an welcher Stelle eine Seitenvorlage verwendet werden soll. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 40
45 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Jede Produktkategorie soll immer auf einer geraden (also linken) Seite mit der Kategorieübersicht beginnen. Dazu wird die Layout-Vorlage der Kategorieseite über ihren Namen (Kategorie_{$group_name}) eingebunden und erhält die Attributwerte odd-or-even="even" und page-postion="first". Anschließend (page-position="rest") sollen im Wechsel rechte und linke Produktseiten folgen, je nachdem, ob es sich um eine gerade oder ungerade Seite handelt: <fo:page-sequence-master master-name="inhalt_{$group_name}"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-reference="kategorie_{$group_name}" page-position="first" odd-or-even="even"/> <fo:conditional-page-master-reference master-reference="rechts_{$group_name}" page-position="rest" odd-or-even="odd"/> <fo:conditional-page-master-reference master-reference="links_{$group_name}" page-position="rest" odd-or-even="even"/> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master> Seitenfüllung Nachdem die Seitenlayout-Vorlagen und die Seitenfolgen-Vorlagen definiert sind, werden sie mit dem Element <page-sequence> mit Inhalten aus dem BMEcat- Katalog gefüllt. Eine Vorlage wird über ihren master-name mit dem Attribut master-reference angesprochen. Anschließend werden die Inhalte in die verschiedenen Seitenbereiche eingefügt. Einer der Seitenbereiche einer Vorlage, meist der Hauptbereich <fo:region-body>, kann mit dem Element <fo:flow> gefüllt werden. Inhalte innerhalb dieses Elements fließen in den Seitenbereich ein und werden auf die nächste Seite umgebrochen, sobald der Bereich gefüllt ist: <fo:page-sequence master-reference="verzeichnis"> <fo:flow flow-name="xsl-region-body"> <fo:block [...]> <xsl:text>inhaltsverzeichnis</xsl:text> </fo:block>... </fo:flow> </fo:page-sequence> Single Source Publishing mit XML/XSL am Beispiel von BMEcat 41
46 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Auf die gleiche Weise kann auch eine Seitenfolgen-Vorlage mit Inhalten gefüllt werden. Obwohl eine Seitenfolgen-Vorlage aus mehreren Seitenlayout-Vorlagen besteht, von denen jede einen <fo:region-body>-bereich besitzt, darf auch hier nur ein Seitenbereich mit <fo:flow> gefüllt werden. Dass die Inhalte trotzdem in den Seitenbereich <fo:region-body> der linken und der rechten Seitenlayout-Vorlage fließen liegt daran, dass für diesen Bereich in XSL-FO der vordefinierte Name xsl-region-body existiert. Wird der Bereich über diesen Namen angesprochen, fließt der Inhalt in alle <fo:region-body>-bereiche innerhalb der Seitenfolgen- Vorlage, für die kein eigener Name angegeben wurde. Die restlichen Bereiche können mit dem Element <fo:static-content> gefüllt werden. Hier werden die Inhalte allerdings nicht auf die nächste Seite umgebrochen. Der zu füllende Bereich wird über seinen innerhalb der Seitenlayout-Vorlage definierten Namen mit dem Attribut flow-name angesprochen: <fo:static-content flow-name="links-after"> <fo:block xsl:use-attribute-sets="seitenzahl"> <fo:page-number/> </fo:block> </fo:static-content> In den beiden zuletzt abgebildeten Stylesheet-Quelltexten taucht das Element <fo:block> auf. Blöcke sind eines der zentralen Konzepte von XSL-FO. Sie dienen dazu, die verschiedensten Elemente wie Absätze, Bilder, Tabellen oder Listen in rechteckigen Bereichen auf einer Seite anzuordnen. Durch die Aneinanderreihung von Blöcken wird eine Seite gefüllt. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 42
47 Entwicklung der Katalog-Anwendung» Transformation zum Print-Katalog Der folgende Screenshot der Vorschau-Ansicht in XSL Formatter soll die Anordnung der Seiteninhalte in Blöcken veranschaulichen. Die roten Linien umranden nicht nur den Block selbst, sondern auch den darin enthaltenen Text. Dadurch werden die definierten Abstände sichtbar. Abbildung 11: Anordnung der Seiteninhalte in Blöcken Blöcke können beliebig ineinander verschachtelt werden, etwa um sie zu einer Gruppe zusammenzufassen. Innerhalb einer Blockhierarchie werden Layout-Attribute an untergeordnete Blöcke vererbt. Die gewählte Schriftgröße braucht so nur im obersten Block definiert zu werden. Alle untergeordneten Blöcke verwenden diese Schriftgröße dann automatisch. Single Source Publishing mit XML/XSL am Beispiel von BMEcat 43
Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.
Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung
MehrHTML Programmierung. Aufgaben
HTML Programmierung Dr. Leander Brandl BRG Keplerstraße - A-8020 Graz Universität Graz - Institut für Experimentalphysik Fachdidaktik der Physik http://w4.brgkepler.asn-graz.ac.at 1. Die erste Web-Seite
MehrHTML5. Wie funktioniert HTML5? Tags: Attribute:
HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,
Mehr12. Dokumente Speichern und Drucken
12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten
MehrWEBSEITEN 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
MehrCL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand 30.01.2012. Ihre HTK-Filiale Michelstadt
64720 email : Info@KM-EDV.de Stand 30.01.2012 CL-Mini-ABF Inhaltsverzeichnis Kurzbeschreibung... 1 Installation und Vorbereitung...1 ODBC-Zugriff... 2 ODBC-Einrichtung unter Windows XP...2 ODBC-Einrichtung
MehrErzherzog Johann Jahr 2009
Erzherzog Johann Jahr 2009 Der Erzherzog Johann Tag an der FH JOANNEUM in Kapfenberg Was wird zur Erstellung einer Webseite benötigt? Um eine Webseite zu erstellen, sind die folgenden Dinge nötig: 1. Ein
MehrVorabversion. Schulung am 06.08.13. www.winterhoff.de. Homepage Administration und Pflege
Vorabversion Schulung am 06.08.13 www.winterhoff.de Homepage Administration und Pflege 1. Anmeldung auf der Homepage Die Anmeldung auf der Homepage erfolgt über den nachfolgenden Link durch Eingabe des
MehrBedienungsanleitung Anlassteilnehmer (Vereinslisten)
Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrTEAMWORK-Uploader. Dokumentenaustausch mit dem PC
TEAMWORK-Uploader Dokumentenaustausch mit dem PC Inhalt 1. Upload Ordner einrichten... 3 2. TEAMWORK mit lokalem Ordner verknüpfen... 3 3. Verwendung der Dokumentenarten... 5 3.1 Standarddokumente...5
MehrFrames oder Rahmen im Browserfenster
In dieser Ausbildungseinheit zeigen wir Ihnen, wie Frames oder auch Rahmen im Browserfenster erstellt werden. Dabei möchten wir anmerken, dass zu Frames bereits sehr viel Gegensätzliches geschrieben wurde.
MehrIhr CMS für die eigene Facebook Page - 1
Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das
MehrEinkaufslisten verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle
MehrAbamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER
Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit
MehrWas ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
MehrTypo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen
Typo3 - Inhalte 1. Gestaltung des Inhaltsbereichs Das Layout der neuen TVA Website sieht neben dem grafischen Rahmen und den Navigations-Elementen oben und links einen grossen Inhaltsbereich (graue Fläche)
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrBeispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis www.wir-lieben-shops.de 1
Beispiel Shop-Eintrag Ladenlokal & Online-Shop. Als Händler haben Sie beim Shop-Verzeichnis wir-lieben-shops.de die Möglichkeit einen oder mehrere Shop- Einträge zu erstellen. Es gibt 3 verschiedene Typen
MehrNetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets
Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen
MehrOutlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT
Outlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT LADEN DER VORLAGE 2 Öffnen Sie Outlook 2 Klicken Sie auf EXTRAS >> OPTIONEN 2 Im Optionenfeld von Outlook folgend Sie den Schritten 2 Fenster
MehrQuick-Guide Web Shop. Kurzanleitung für die Benutzer des Bernd Kraft Webshops
Quick-Guide Web Shop Kurzanleitung für die Benutzer des Bernd Kraft Webshops Inhaltsverzeichnis Inhaltsverzeichnis Start und Übersicht... 2 Erweiterte Such- und Filterfunktionen... 3 Artikel-Detailansicht...
MehrArtikel Schnittstelle über CSV
Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte
MehrGrafiksatz fertige Buttons blue
Grafiksatz fertige Buttons blue im iphone Design Einleitung Die Pakete fertige Buttons im iphone Design beinhalten alles was man benötigt, um schnell und einfach optisch professionelle iphone Visu/Pocket
MehrÜberprüfung der digital signierten E-Rechnung
Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,
MehrFAQ. Hilfe und Antworten zu häufig gestellten Fragen
FAQ Hilfe und Antworten zu häufig gestellten Fragen Ich kann mich nicht einloggen 2 Wie kann ich die hinterlegte E-Mail Adresse in meinem Account ändern 2 Wie funktioniert die Bestellung 2 Wo kann ich
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrCSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung
Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten
MehrMit 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
MehrTipps und Tricks zu den Updates
Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn
MehrKennen, 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
MehrLeitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
MehrAnleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz
Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Diese Anleitung soll als Kurzreferenz und Schnellanleitung dienen um einfach und schnell Berichte auf der Homepage www.dav-koblenz.de
MehrEinbinden von iframes in eine Facebook Fan Page
Eine kostenlose Ergänzung zum Buch: Facebook Fan Pages von Boris Pfeiffer 2011, Smiling Cat Publishing GmbH Einbinden von iframes in eine Facebook Fan Page Facebook hat mit der Einführung der neuen Fan
MehrAnleitung zur Verwendung der VVW-Word-Vorlagen
Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-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
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrBarrierefreie Webseiten erstellen mit TYPO3
Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute
MehrEs gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen.
Windows Säubern: Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen. Internetdateien: Öffnen Sie den Internet Explorer (blaues e ). Öffnen
MehrHilfe 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...
MehrKapitel 3 Frames Seite 1
Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den
MehrHinweise 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
MehrEin PDF erstellen. aus Adobe InDesign CC. Langner Marketing Unternehmensplanung Metzgerstraße 59 72764 Reutlingen
aus Adobe InDesign CC Langner Marketing Unternehmensplanung Metzgerstraße 59 72764 Reutlingen T 0 71 21 / 2 03 89-0 F 0 71 21 / 2 03 89-20 www.langner-beratung.de info@langner-beratung.de Über Datei >
MehrGrafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen
Grafikbausatz Overlays Profi für iphone/pocket Visu & PC Visualisierungen Einleitung Mit dem Grafikbausatz Overlays können Sie sich selbst aus diesen verschiedensten Vorlagen Grafiken so kombinieren wie
MehrBenutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.
Benutzerhandbuch Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. 1 Startseite Wenn Sie die Anwendung starten, können Sie zwischen zwei Möglichkeiten wählen 1) Sie können eine Datei für
MehrAnleitung zur Nutzung der OFML Daten von Cascando in pcon.planner
Anleitung zur Nutzung der OFML Daten von Cascando in pcon.planner In dieser Anleitung wird die Nutzung von OFML-Daten von Cascando in pcon.planner Schritt für Schritt erläutert. 1. Cascando Produkte in
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrWeiterverarbeitung Leseranfragen
Weiterverarbeitung Leseranfragen Schulungsunterlage Inhaltsverzeichnis Thema Seite 1. Einführung 2 2. Weiterverarbeitung Vorbereitungen 2 3. Weiterverarbeitung Excel-Datei mit dem Seriendokument verbinden
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
MehrAllgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte
Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte Wir von Textprovider, Anbieter von produktbeschreibung.eu möchten Ihnen mit diesem Infoblatt Basisinformationen an die Hand geben, wie
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
MehrErstellen 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
MehrSerien-eMail mit oder ohne Anhang
Serien-eMail mit oder ohne Anhang Sie können im WohnungsManager sowohl objektübergreifend als auch in einem Objekt Serien-eMails versenden. Die Serien-eMail ist für SMTP (Short Message Tranfer Protocol)
MehrDie 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
MehrAnleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH
Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:
MehrTreppensoftware Programme. Hilfe - 3D Plus Online. konstruieren/präsentieren
Treppensoftware Programme Hilfe - 3D Plus Online konstruieren/präsentieren INHALT 1. Allgemeines... 3 2. Arbeitsbereich im Internet aufrufen... 4 3. Firmendaten im Internet hinterlegen... 5 4. Verwaltung
Mehr1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können.
Produktvarianten und Downloads erstellen Produktvarianten eignen sich um Artikel mit verschiedenen Optionen wie bspw. ein Herrenhemd in den Farben blau, grün und rot sowie in den Größen S, M und L zu verkaufen.
MehrAdobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost
Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................
MehrXSL Templates. Mit Templates arbeiten. XSL Templates
XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder
MehrInformationen 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
MehrWeb-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter
Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................
MehrAnleitung BFV-Widget-Generator
Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden
MehrARAkoll 2013 Dokumentation. Datum: 21.11.2012
ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen
MehrEinfügen von Bildern innerhalb eines Beitrages
Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de
MehrSie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?
Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung
MehrTechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung
Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.
MehrOnline-Publishing mit HTML und CSS für Einsteigerinnen
mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript
MehrBedienungsanleitung für den SecureCourier
Bedienungsanleitung für den SecureCourier Wo kann ich den SecureCourier nach der Installation auf meinem Computer finden? Den SecureCourier finden Sie dort, wo Sie mit Dateien umgehen und arbeiten. Bei
MehrDokumentation zum Spielserver der Software Challenge
Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...
MehrAnbieter auf dem Foto-Marktplatz werden
Wie kann ich meine Fotos auf dem Marktplatz anbieten? Anbieter auf dem Foto-Marktplatz werden Um Ihre Bilder auf dem Marktplatz präsentieren zu können benötigen Sie persönliche Zugangsdaten, damit Sie
MehrBilder zum Upload verkleinern
Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr
MehrEmaileinrichtung in den kaufmännischen Programmen der WISO Reihe
Emaileinrichtung in den kaufmännischen Programmen der WISO Reihe Voraussetzung für die Einrichtung eine Emailanbindung in den kaufmännischen Produkten der WISO Reihe ist ein auf dem System als Standardmailclient
MehrVB.net Programmierung und Beispielprogramm für GSV
VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2
MehrInhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5
Inhalt Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5 Dieses Dokument gibt ist eine Anleitung zur sicheren und einfachen
MehrNach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:
Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrNetzwerk einrichten unter Windows
Netzwerk einrichten unter Windows Schnell und einfach ein Netzwerk einrichten unter Windows. Kaum ein Rechner kommt heute mehr ohne Netzwerkverbindungen aus. In jedem Rechner den man heute kauft ist eine
MehrDurchführung der Datenübernahme nach Reisekosten 2011
Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,
Mehr1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software
1. Software installieren 2. Software starten Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software 3. Auswahl 1. Neues Fotobuch erstellen oder 2. ein erstelltes, gespeichertes Fotobuch laden und bearbeiten.
Mehr1 Dokumentenmanagement
1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise
MehrDie aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.
Technische Dokumentation Hier finden Sie die technische Dokumentation für die Einbindung des Bestseller-Widgets. Die Dokumentation soll als Hilfestellung dienen und kann keinen Anspruch auf Vollständigkeit
MehrErstellen eines Wordpress-Blogs
Erstellen eines Wordpress-Blogs Inhalt 1 Einen Wordpress-Blog erstellen... 3 2 Wordpress konfigurieren... 5 2.1 Wordpress-Anmeldung... 5 2.2 Sprache einstellen... 7 2.3 Einen neuen Artikel verfassen...
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrSchritt 1 - Registrierung und Anmeldung
Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten
MehrAnmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen
Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen Vorbemerkung Häufig besteht die Notwendigkeit pdf-formulare Kunden, Mitarbeitern etc. zur Verfügung
MehrWie 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,
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrEine Einführung in die Installation und Nutzung von cygwin
Eine Einführung in die Installation und Nutzung von cygwin 1 1. Woher bekomme ich cygwin? Cygwin ist im Internet auf http://www.cygwin.com/ zu finden. Dort lädt man sich die setup.exe in ein beliebiges
MehrSichern der persönlichen Daten auf einem Windows Computer
Sichern der persönlichen Daten auf einem Windows Computer DIRECTION DES SERVICES IT SERVICE DIT-MI DIREKTION DER IT-DIENSTE DIENSTSTELLE DIT-MI 1/9 1 Inhaltsverzeichnis 2 Einleitung... 3 3 Outlook Daten...
MehrUnsere Wurst. online. Eigene Produktblätter für. erstellen und anpassen Handbuch
Unsere Wurst online Eigene Produktblätter für Unsere Wurst erstellen und anpassen Handbuch 2 INHALT Begriffserklärung... 3 Übersicht der wichtigsten funktionen... 4 Produktübersicht... 4 eigenes Produktblatt
MehrKleines Handbuch zur Fotogalerie der Pixel AG
1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link
MehrAnleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten
Anleitung zum Login über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Stand: 18.Dezember 2013 1. Was ist der Mediteam-Login? Alle Mediteam-Mitglieder können kostenfrei einen Login beantragen.
MehrBeschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System
Beschaffung mit Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System Stand: 31. Oktober 2014 Inhaltsverzeichnis 1 Erste Schritte im UniKat-System... 2 1.1 Aufruf des Systems... 2 1.2 Personalisierung...
MehrAnleitung für den Euroweb-Newsletter
1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf
MehrÜber die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.
Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten
MehrKurzanleitung GigaMove
Kurzanleitung GigaMove Dezember 2014 Inhalt Kurzerklärung... 1 Erstellen eines neuen Benutzerkontos... 2 Login... 5 Datei bereitstellen... 6 Bereitgestellte Datei herunterladen... 6 Datei anfordern...
MehrErstellung von Präsentationspostern
Erstellung von Präsentationspostern Grundlagen der Gestaltung Für die Gestaltung gibt es einige grundsätzliche Dinge. Ein Präsentationsposter ist etwas ganz Anderes als ein gedrucktes Erzeugnis das ich
MehrOutlook. 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
MehrEinfache Datenpflege mit typo3
Einfache Datenpflege mit typo3 Stand Mai 2008 Autor: Dubravko Hohnjec Design und Business Innovationen Franz-Liszt-Weg 7 70794 Filderstadt www.dubidesign.de Datenpflege mit typo3 Seite 14 1. Inhaltsverzeichnis
MehrAnleitung ü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