ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > AmigaGuide Präprozessor | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
24.11.2005, 21:00 Uhr Mazze Posts: 263 Nutzer |
Ich möchte vermeiden etwas zu erstellen, was es schon gibt. Mir ist folgende Idee gekommen: ein Präprozessor für AmigaGuide-Dateien mit folgenden Möglichkeiten: Anordnung der Nodes in einer Baumstruktur. Dadurch automatische Erstellung von Inhaltsverzeichnis, und beim Klick auf "Inhalt" erfolgt Sprung zur Eltern-Node. Filtern nach Sprache. In der Master-Datei können Nodes für mehrere Sprachen untergebracht werden. Der Präprozesser gibt dann nur die neutralen und die Nodes in einer bestimmten Sprache aus. Kennzeichnung von Begriffen, die im Index landen. evtl. weitere Vorschläge? -- Meine Homepage [ Dieser Beitrag wurde von Mazze am 24.11.2005 um 21:09 Uhr editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
25.11.2005, 12:59 Uhr Holger Posts: 8116 Nutzer |
Ja, schreib einen XSLT-Processor, der XML nach AmigaGuide konvertiert. Dann kannst Du Deine Quellen in einem Format scheiben, daß man sowohl noch AmigaGuide, als auch Html, Pdf und DocBook konvertieren kann. AmigaGuide zu parsen hieße, sich auf diverse von Dritten erfundenen Erweiterung, als auch die Bugs im originalen AmigaGuide-Viewer einzulassen. Außerdem müßtest Du für Dinge wie Kennzeichnung von indexierbaren Begriffen Deine eigene Syntax erfinden. XML bietet all das bereits von Hause aus und ist dafür ausgelegt, von Software verarbeitet zu werden. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
28.11.2005, 11:46 Uhr Kaesebroetchen Posts: 643 Nutzer |
Wenn ich es richtig verstanden habe, dann geht es hier um eine Erweiterung für AmigaGuide bzw. ein neues Hilfeformat ? Vielleicht könnte man sich am CHM Format orientieren. Das ist eigentlich ein ganz ordentliches Format mit Stichwortsuche, Inhaltsverzeichnis, Bildern usw. -- http://amidevcpp.kilu.de/ [ - Antworten - Zitieren - Direktlink - ] |
28.11.2005, 15:53 Uhr Holger Posts: 8116 Nutzer |
Zitat: Nein, es geht um Features, die AmigaGuide (und alle anderen Formate natürlich auch) längst besitzen, wie Inhalts- und Stichwortverzeichnis. Nur muß man die bei AmigaGuide selbst schreiben, obwohl sich automatische Generierung anbietet. Für ein neues Format gibt es keinen Grund. AmigaGuide besticht durch seine Einfachheit und (X)Html besitzt alle Features, die man braucht. Das CHM-Format ist letztendlich auch kein neues Format, sondern nur ein bekanntes Format in einem Archiv. So etwas könnte man auch mittels XAD und amigaguide.lib implementieren. Was fehlt, sind tools für automatische Generierung der Verzeichnisse, eine bessere Suchfunktion und um (X)Html/XML genauso wie amigaguide-Dokumente in eigene online-Hilfen einbetten zu können. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
28.11.2005, 16:12 Uhr Mazze Posts: 263 Nutzer |
Hi, ich kämpfe noch mit XML und besonders mit XSLT herum. Problem ist zum Beispiel, dass Saxon-B <autor>Matthias Rustler</autor> in @autor Matthias Rustler übersetzt. Ich habe noch keinen Weg gefunden, die Zeilenvorschübe heraus zu nehmen. -- Meine Homepage [ - Antworten - Zitieren - Direktlink - ] |
28.11.2005, 18:34 Uhr Holger Posts: 8116 Nutzer |
@Mazze: Versuchs mal mit normalize-space(). mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
29.11.2005, 01:47 Uhr Mazze Posts: 263 Nutzer |
Zitat: Danke, hat geklappt. -- Meine Homepage [ - Antworten - Zitieren - Direktlink - ] |
01.12.2005, 23:33 Uhr Mazze Posts: 263 Nutzer |
Hi, Die erste Zeile meiner DTD-Datei sieht im Moment so aus: <!ELEMENT guide (database, autor?, version?, node*)> Ich habe dann in einer Test-XML-Datei absichtlich Fehler eingebaut (z.B. database nicht an erster Stelle). Beim Übersetzen mit Xalan-C kommt keine Fehlermeldung. Heißt das jetzt, dass die DTD keine Rolle spielt und dass ich durch den Aufbau der XSL-Datei eine bestimmte Reihefolge sicherstellen muss? Oder mache ich irgentwo einen Denkfehler? -- Meine Homepage [ - Antworten - Zitieren - Direktlink - ] |
02.12.2005, 13:34 Uhr Holger Posts: 8116 Nutzer |
@Mazze: Ich würde eher darauf tippen, daß Validieren nicht eingeschaltet war. Oder das Verhalten für den Fehlerfall war so konfiguriert, daß er weitermachen soll. Um mehr zu sagen, braucht man auch mehr Informationen. Jedenfalls ist es nicht die Aufgabe der XSL-Datei, mögliche Fehler zu berücksichtigen, in dem Punkt kann ich Dich beruhigen. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
02.12.2005, 13:39 Uhr Holger Posts: 8116 Nutzer |
Da Du auch noch Vorschlägen für Features gefragt hast: Stichworte definieren zu können, die beim ersten Auftreten im Text automatisch auf die Begriffserklärung verlinkt werden. Was ich bei vergleichbaren Programmen immer vermisst habe, ist eine etwas intelligentere Strategie, ein Stichwort nicht bei jedem Auftreten im Text, sondern nur einmal pro Absatz/Bildschirmseite zu verlinken, da man sonst in Fachtexten zu schnell in Links erstickt. (Vergleiche auch Wikis) mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
04.12.2005, 17:14 Uhr Mazze Posts: 263 Nutzer |
@Holger: Xalan hat in der Tat eine Option zum Validieren. Mit DTD und XSL kann ich aus XML (*) folgendes erzeugen: Guide Problem sind die überflüssigen Zeilenumbrüche. Es fängt gleich mit der ersten Zeile an. Hier müsste '@database' stehen, da sonst der Guide nicht erkannt wird. Wie kann ich die Zeilenumbrüche verhindern? Einige Features wie die Erzeugung von Inhaltsverzeichnissen und Index funktionieren schon ganz gut. * Achtung: manche Webbrowser stellen hier den konvertierten Text dar. -- Meine Homepage [ - Antworten - Zitieren - Direktlink - ] |
04.12.2005, 22:38 Uhr Holger Posts: 8116 Nutzer |
@Mazze: Der Zeilenumbruch steht in Deinem XSLT File, direkt nach dem Tag: <xsl:template match="/guide"> @database "<xsl:value-of select="@database" />" mach daraus: <xsl:template match="/guide">@database "<xsl:value-of select="@database" />" und er ist weg. Wenn die Zeile zu lang wird, ist das einfachste, sie im XML-Tag umzubrechen: <xsl:template match="/guide" >@database "<xsl:value-of select="@database" />" Noch ein anderer Tip: Benutze Entity-Baustein in Deiner DTD, z.B. <!ENTITY % align-attr "align (left|center|right) 'left'"> Dann kannst Du Wiederholungen einsparen. Statt <!ATTLIST p align (left|center|right ) #IMPLIED > schreibst Du dann nur noch: <!ATTLIST p %align-attr;> Ich hab in dem Beispiel schon #IMPLIED durch 'left' als default-Wert ersetzt. Damit ersparst Du Dir die Fallunterscheidung im XSLT-File. Du kannst einfach schreiben: @{j<xsl:value-of select="@align"/>} mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
04.12.2005, 22:40 Uhr Holger Posts: 8116 Nutzer |
Das Forumskript konvertiert wie immer die einfachen Anführungszeichen. Statt ' muß also ' stehen. mfg [ Dieser Beitrag wurde von Holger am 04.12.2005 um 22:40 Uhr editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
05.12.2005, 01:02 Uhr Mazze Posts: 263 Nutzer |
Zitat: Danke, jetzt klappt es. Zitat: Genial -- Meine Homepage [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > AmigaGuide Präprozessor | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |