XSLT auf DITA-Basis zur Creation Ihrer Website

Für meine Homepage Projekte nutze ich DITA. Es geht um Topic-Orientierung. Man beschreibt ein Thema umfassend, verlinkt es und bringt es in Struktur. So erhält man Eindeutigkeit. Man kann alles formatieren, wie bei Word gewohnt. Listen, Bilder, Links.

Der Clou ist die Navigation. Die Navigation wird über Maps gemacht. Das hat den Vorteil, dass man Content von Navigation trennt. Inhaltsorientierung ist alles.

DITA-OT ist ein öffentliches Toolkit, es hat Alltagstauglichkeit man kann seine Eingänge umtransformieren zu PDF, Word oder HTML. Es ist schnell und einfach anwendbar. Es funktioniert auf Windows und anderen Betriebssystemen.

Mein Toolkit ist Windows-Basiert es transformiert den index und die einzelnen Topics zu einer Homepage um. Sie ist einfach hochladbar. Es sind nur wenige Befehle und wenige Spezialitäten die anzuwenden sind.

Seiten können automatisch erstellt werden. XSLT ist mächtig, beliebige Eingangsformate, ebenfalls beliebige Ausgangsformate. Das ganze ist per Windows-Batch ansteuerbar, so dass auf die üblichen Befehle kompressiert wird.

  • DITA-OT-Transformation, überführt .DITA topics zu .HTML
  • XSLT-Transformation überführt das erzeugte HTML zu einer fertigen Homepage mit Navigation
  • FTP-Upload, den können Sie selbst dürchführen.

Automatische Content-Generierung

Auf dem Weg zu Single-Source kommt man an Crawlern fast nicht vorbei. Es geht um massenweise Content auf den FileServer. Zu jedem Produkt gibt es Dokumente ohne Ende. Ich habe es satt, jede Datei einzeln anzusehen und weiterzuverarbeiten. Deswegen bediene ich mich Maschinen, die durch das Dateisystem rasen und rauspicken was ich gerne habe.

Ein Beispiel ist eine Webseite für ein mittelständisches Unternehmen. Er hat mich mit Fotos und Videos vollgemüllt. Ich habe den Überblick verloren. Dann ging ich her und kategorisierte alles anhand seiner Produktpalette in eine Dateihierarchie. Dort wusste ich zumindest welches Produkt mit welchen Informationen und Bildern ausgestattet ist.

Es ging weiter, es sollte eine Internetpräsenz erstellt werden. Ein Onlineshop für ausgewählte Artikel war ebenfalls im Gespräch, jedoch nur halblebig, weil gewisse Distributoren die Oberhand behalten sollten und sein Hauptvertriebweg bleiben sollten.

Mein Crawler indizierte zu erst den Dateibaum, danach suchte es nach Schlüsselinformation in XML-Form. Diese wurden zu einer hierarchischen Homepage weiterverarbeitet. Eine Preis Information konnte hinzugefügt werden, schon baute der Crawler die entsprechende Shop-Seite.

Auch heute noch ist diese Maschine in abgewandelter Form bei mir in Betrieb. Ich habe sie bisher zweimal kommerziell verkaufen können. Big Data in klein. Ich baue aus Informationen Homepages oder Übersichten. Ich verarbeite jegliche Textform von .TXT-Dateien über .DITA oder auch das verschmähte .DOC-Format. Bilder werden automatisch auf Format gebracht, es gibt automatische Farbanpassungen um dem Homepagestil gerecht zu looken. Und vieles mehr.

Bei Interesse gerne Kontakt und ich schicke Ihnen ein unverbindliches Angebot. Gerne sehe ich mir vorort die Problematiken an und berate unabhängig. Nach 5 Jahren Erfahrungen mit XSLT sollte kein Datenformat ein Problem sein. Single-Source-kommt oben drein, denn aus Zentralinformationen formen wir die benötigten Filialdokumente, die die Prozesse in Firmen repräsentieren. Nichts wird mehr zwei Mal getippt. So sieht Computeren im Jahre 2019 aus.

FPGA-Framework für kollaboratives Arbeiten

Wenn man FPGAs erstellt, stellt jede Implementierung eine Dateninsel dar. Um dem aus dem Wege zu gehen, sollten FPGA die gleichen Sourcen benutzen. Gleiche Sourcen sorgen für gesteigerte Qualität, weil Lerneffekte aus verschiedenen Quellen zusammenfliesen. Aus diesem Grund wurde ein Framework erstellt, um Sourcen zeitgerecht zu pflegen. Bei Einsatz des FPGA-Framework können Varianten und Release mit massiver Zeitersparnis erstellt werden.

Vorteile des Frameworks

Integration von svn

Durch die Übereinanderlegung von Sourcen ist es einfach, die Quellen fachgerecht einzuordnen. Jedes Top-Entity enthält sein eigenes Verzeichnis. Die Build-Dateien wie pinning und constraints werden zu den Implementierungen zugeordnet. So ergibt sich ein sauberes Verzeichnisbild.

Automatische Erstellung vom Projektfile

FPGAs die aus vielen Sourcen bestehen sind schwer zu klonen. Die Sourcen liegen in verschiedenen Verzeichnissen und sind schwer zu fassen. Die Abhängigkeiten zwischen ihnen können nur manuell durch Trial-und-Error bestimmt werden. Das Framework bindet alle erforderlichen Quellen einer Technologie automatisch ein und bildet ein Projekt-File. So dass Lattice Diamond sie einfach öffnen kann.

Screenshot von Lattice-Diamond aufgerufen vom FPGA-Framework

Einfache Erstellung von Varianten

Oft werden Varianten von FPGAs erstellt, manchmal ist es ein veränderter Zuschnitt der Leiterplatte, manchmal ein Redesign der Leiterkarte oder eine Teilbestückung. Mittels einfacher Variablen lässt sich der FPGA mit einfachen Mitteln konfigurieren. In XML-Dateien stehen leserlich Beschreibungen der Konfiguration. Somit können Sie in den FPGA top in die testbench sowie in die Beschreibung fehlerlos einfliessen. Dadurch dass die Konfiguration nur an einer Stelle steht erhält man die Qualität eines Single-Source-Designs.

Alle erforderlichen Aufrufe über einfache Kommandozeilenbefehle

Es gibt unterschiedliche Aufgaben während der Entwicklung eines FPGA. Der wohl wichtigste Schritt ist die Synthese. Davor kommt die Simulation und die Dokumentation. Der Ablauf ist der folgende, man legt eine Variante fest. Dann ruft man den erforderlichen Schritt auf. Die Entwicklungsumgebung Diamond, Active-HDL, die Synthesewerkzeuge werden automatisch aufgerufen. Der letzte Schritt ist das Release. Hierbei können alle gewünschten Daten automatisch an die erforderlichen Stellen kopiert werden. Das Tool erstellt auch die Programmierdateien an unterschiedlichen Dateiorten.

Automatische Erstellung

der Dokumentation

Während bei der konventionellen Entwicklung die Dokumentation parallel erstellt werden muss, erstellt sie das Framework zeitgleich. Dabei fliessen Konfiguration ein, Build-Reports. Die Struktur des FPGA kann durch Beschreibung in der Dokumentensprache DITA nachvollzogen werden, so dass ein hierarchisch gegliedertes HTML-Dokument entsteht, dass die Hierarchie des Designs entspricht. Zeitgleich entsteht auch ein PDF zum schnellen Nachschlagen für die Programmierer.

Aufbau des Frameworks

Grundstruktur im Dateisystem

Dateisystem im FPGA-Framework zum kollaborativen Arbeiten

Das System ist wie folgt gegliedert: In src/ liegen Ihre Entwicklungsdateien. Darin enthalten sind commons/: Das sind allgemeine Dateien, die in mehreren Dateien verwendet werden. In functions/ können funktionorientiert strukturierte Sourcen liegen, das hat den Vorteil, dass man eine bessere Übersicht über implementierte Funktionen bekommen. In specifics/ liegen alle spezifischen Dateien für ein Design wie das top und das testbench.
In cmd/ liegen alle Dateien die das Framework betreffen. Diese Dateien werden geliefert und bedienen das Framework.
In beds/ sind alle Implementierungen nach Artikelnummer der Leiterplatte geordnet. In beds/ bekommt jedes Design sein eigenes Verzeichnis. Dort laufen die Synthese- und Simulationsprogramme ab. Die Endausgabedateien und die Dokumentation wird hierin abgelegt sein.
Andere Verzeichnisse werden nur auf Wunsch im Release-Schritt beschrieben.

Auszeichnungsdateien in XML

Die Magie des Frameworks ist auf die XML-Technolgie zurückzuführen. Durch XML-Dateien wird die Struktur der Sourcen beschrieben. Es kann zu jeder Source bzw. zu jeder Funktion eine eigene Datei erstellt werden. In dieser Datei ist folgendes beschrieben:

  • Name der Source und der evtl. vorhandenen Testbench
  • Konfigurationskonstanten. Diese Konstanten werden im HDL eingebunden und sind auch in der Dokumentation beschrieben.
  • Es können Register beschrieben werden. Z.B. bei RAM Architekturen. Für jedes Register können Adressen und Daten beschrieben werden. Die Daten können 8-64 Bit breit sein. Es können Bitserien und einfache Bits beschrieben werden. Im HDL werden diese Einzelheiten mit vielerlei Konstanten zugänglich gemacht.

    register.xml – Beschreibungsdatei für den kollaborativen Framework für FPGA

Aufruf des Frameworks

Im Verzeichnis cmd/ liegt eine Verknüpfung zu einer DOS-Kommandozeile. Dort wählt man als erstes die zu erstellende Variante aus. Dies funktioniert mit einem einfachen set Befehl. Als nächstes startet man die Arbeit mit einem chore Befehle. Z.B. chore compile synth release. Die Befehle lassen sich nacheinander ausführen, damit zeit-intensive Schritte automatisch nacheinander ausgeführt werden.

Integration des Frameworks

Das Framework ist durchweg dokomentiert. Es ist einfach es zu implementieren. Man beginnt mit dem Erstellen des Dateisystems. Die verwendeten Sourcen müssen alle in src/ eingepflegt werden. Es empfiehlt sich die src nach obigen Schema ordnerorientiert abzulegen. Es gibt funktionsorientierte Sourcen und systemorientierte.

Als nächstes wird eine XML-Struktur eingepflegt, hier werden die Sourcen erfasst und es werden Namen festgelegt, mit denen man sie instanzieren kann.

In specifics/ kommt eine Sonderrolle zu tragen. Jedes top instanziert seine Subfunktionen. Des Weiteren werden hier Dateinamen, Spezialverzeichnisse und sonstige Designspezifische Daten eingetragen.

Bei Fragen zum Framework können Sie sich jederzeit im Kontaktformular eintragen. Ich berate Sie dann gerne individuell und lasse Ihnen ein maßgeschneidertes Angebot zu kommen.

Lattice-Diamond-FPGA-Development-Framework

Unser neueste Dienstleistung für den FPGA-Entwickler:

Das FPGA-Development-Framework für Lattice Diamond.

Es werden die Entwicklungsprozesse kurzfristig und langfristig verbessert.

  • Erstellen sie ein Release ihrer Versionen und Varianten in Minuten statt in Stunden.
  • Nutzen Sie einfache Möglichkeiten mit den immer gleichen Sourcen verschiedene Versionen und Varianten zu erzeugen
  • Entwickeln Sie eine Single-Source-Struktur in einer sauberen Ordnerstruktur mit modularen Source-Files in verilog und vhdl, weiteren Entwicklungsdateien, sowie der Dokumentation in DITA.
  • Pflegen Sie Zusatzinformationen zum Design in XML   nur an einem einzigen Ort, aber dezentralisiert am richtigen Ort
  • Erstellen Sie Synthese und Dokumentation gleichzeitig und befreien Sie sich von Fehlern und doppelten Arbeiten
  • Profitieren Sie von der automatischen Erstellung von Dokumenten und wichtigen Dateien.
  • Legen Sie die Syntheseprodukte mit einem Befehl an Ort und Stelle ab
  • Nutzen Sie die SVN-Integration als sicheres Versionierungssystem

Lassen Sie sich in diesen Techniken beraten und wir erstellen Ihnen ein passendes System für Ihre Bedürfnisse.

Dokumentation – Stellenwert in Unternehmen

Die technische Dokumentation ist ein wichtiger Teil in vielen Unternehmen. Denn der Austausch mit Entwicklern, Anwendern und Kunden verläuft über die Dokumentation. In vielen Tätigkeitsfelder nimmt die Arbeit an Dokumenten den Hauptteil der Arbeit ein, selbst bei technischen Entwicklern.

Dabei erstellt man Dokumente oft sehr zeitaufwendig und es verläuft mit einfachen aber fehlerträchtigen Techniken wie copy-and-paste.

Probleme beim Umgang mit Dokumenten

  • Wiederholen genereller Inhalte
  • unterschiedliche Pflege von generellen und speziellen Inhalten
  • Wiederauffindbarkeit geschriebener Dokumente
  • Aktualisieren alter Dokumente
  • verschiedene Formate z.B. WORD, EXCEL, TXT, HTML
  • unterschiedliche Beschreibungen für verschiedenes Publikum (z.B. Handbuch, Datenblatt, Broschüre)
  • Mehrsprachige Ausgaben

Die Lösung heisst DITA. Nach 3 Jahren Erfahrungen mit DITA, berate ich Unternehmen mit Einführung und Umsetzung.