![]() |
DEUTSCHE VERSION |
|
![]() |
Links | | | Forums | | | Comments | | | Report news |
![]() |
Chat | | | Polls | | | Newsticker | | | Archive |
![]() |
amiga-news.de Forum > Programmierung > AmigaGuide Präprozessor | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2005-11-24, 21:00 h Mazze Posts: 263 User |
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. ] [ - Answer - Quote - Direct link - ] |
2005-11-25, 12:59 h Holger Posts: 8116 User |
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. [ - Answer - Quote - Direct link - ] |
2005-11-28, 11:46 h Kaesebroetchen Posts: 643 User |
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/ [ - Answer - Quote - Direct link - ] |
2005-11-28, 15:53 h Holger Posts: 8116 User |
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. [ - Answer - Quote - Direct link - ] |
2005-11-28, 16:12 h Mazze Posts: 263 User |
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 [ - Answer - Quote - Direct link - ] |
2005-11-28, 18:34 h Holger Posts: 8116 User |
@Mazze: Versuchs mal mit normalize-space(). mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Answer - Quote - Direct link - ] |
2005-11-29, 01:47 h Mazze Posts: 263 User |
Zitat: Danke, hat geklappt. -- Meine Homepage [ - Answer - Quote - Direct link - ] |
2005-12-01, 23:33 h Mazze Posts: 263 User |
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 [ - Answer - Quote - Direct link - ] |
2005-12-02, 13:34 h Holger Posts: 8116 User |
@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. [ - Answer - Quote - Direct link - ] |
2005-12-02, 13:39 h Holger Posts: 8116 User |
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. [ - Answer - Quote - Direct link - ] |
2005-12-04, 17:14 h Mazze Posts: 263 User |
@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 [ - Answer - Quote - Direct link - ] |
2005-12-04, 22:38 h Holger Posts: 8116 User |
@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. [ - Answer - Quote - Direct link - ] |
2005-12-04, 22:40 h Holger Posts: 8116 User |
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. ] [ - Answer - Quote - Direct link - ] |
2005-12-05, 01:02 h Mazze Posts: 263 User |
Zitat: Danke, jetzt klappt es. Zitat: Genial ![]() -- Meine Homepage [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > AmigaGuide Präprozessor | [ - Search - New posts - Register - Login - ] |
![]() |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2025 by amiga-news.de - all rights reserved. |
![]() |