Export in XML

Liebe PA-Kenner,

ich suche in PA nach einer Möglichkeit, einen möglichst XML-konformen Export zu erzeugen. Für ein E-Book-Projekt benötige ich folgende Funktionalitäten:

  • Auszeichnung einzelner Wörter zwecks Hinterlegung von Hyperlinks auf individuelle Medien- (Ton-) Dateien.

  • Als Spezialfall davon: Integration von Hyperlinks auf individuelle Mediendateien über spezielle, im finalen Ausgabeformat zu visualisierende Buttons (keine Satzbestandteile wie Wörter etc.).

  • Integration der verwendeten Formatvorlagen und der Standard-Schriftformatierungen (fett, kursiv) als Auszeichnungen zwecks Weiterverarbeitung.

Grundsätzlich würde der Export in ein XML-Format (bitte nicht Microsoft-XML :wink: ) hier helfen. Gibt es bereits eine solche Möglichkeit, die ich nur nicht gefunden habe?

Besten Dank für Eure Hilfe!

Um was für ein eBook-Format geht’s denn genauer?

Papyrus kann da schon Einiges. ePub geht sowieso und wird auch noch weiter ausgebaut und konfigurierbarer, als es jetzt schon ist.

Amazons Kindle-Format kommt auch bald.

RTF geht auch. XML ist eigentlich längerfristige Planung, als Erweiterung von RTF.

HTML geht auch, was mit eigenen Tags erweiterbar ist, das wird allerdings irgendwann, wenn man viele eigene, bisher von uns nicht vorgesehene Tags nutzt, irgendwann etwas unkomfortabel, noch.

Dazu gibt’s PDF, auch mit Links (OK OK, hat nix mit XML zu tun), sowie auch die Möglichkeit, das Papyrus-Format selbst als Hypertext zu benutzen und den Empfängern das kostenlose Papyrus ViEW als Anzeige- und Druckprogramm mit auf den Weg zu geben.

UND wir lauschen natürlich auch, was sonst so gebraucht wird, und legen ggf. nach, sofern breiteres Interesse für ein bestimmtes Format besteht.

Bei dem Zielformat handelt es sich um kein Standardformat wie RTF, PDF bzw. keine XML-Standardanwendung wie EPUB, Docbook, DITA o. ä. Vielmehr ist es eine XML-Anwendung mit einigen Entlehnungen aus HTML (Fettungen etc.).

Dargestellt wird das Endprodukt nicht im Web, sondern in einer mobilen App. Aufgrund der einfachen Transformation XML2XML ist der Export von XML aus PA als Ausgangsformat dafür natürlich ideal.

Ich bin kein RTF und EPUB-Profi, aber die Transformation von RTF in ein XML-Format scheint mir nicht sinnvoll. Zusätzlich werden ja die Medienlinks benötigt. Das mag auch das Problem bei EPUB sein, da die Verweise zum einen in PA angelegt, zum anderen verarbeitbar ausgegeben werden müssen.

XML schätze ich wegen seiner enormen Flexibilität für die Zielformate. Natürlich will man aus PA keinen XML-Editor machen. Aber der Export in ein einfach strukturiertes XML-Format, verbunden mit der Möglichkeit “custom tags” einzufügen, ist nicht nur reizvoll, sondern eröffnet Möglichkeiten.

OK - wir evaluieren mal, wie viel Arbeit das wäre.

…besten Dank vorab für die Mühen!

Kann das Papyrus-Team zu diesem Thema bereits Info geben, wie groß der Aufwand ist?

Werden wir wohl vorerst nicht realisieren, spezielle XML-Varianten konfigurierbar zu gestalten - der Aufwand ist erst einmal zu groß (und das Interesse zu gering, bisher).

Hm, schade eigentlich.

Das Thema ist zwar sicher auf keiner “lang” gehegten Wunsch- oder ToDo-Liste, doch im Kontext neuer, mobiler Medien und der zeitnahen Publikation in verschiendene Kanäle bzw. Formate bekommt dies zunehmend Bedeutung. Ich arbeite selbst in einem Verlag und dort an dem Thema single source publishing, weiß also ein wenig von den aktuellen “Nöten”.

Unabhängig davon bezog sich meine Anfrage jedoch auf (m)ein individuelles Anliegen. :cool:

Der Thread bleibt offen - wenn wir mehr Anfragen (hier oder per Mail) nach konfigurierbarem XML bekommen, denken wir natürlich erneut nach.

Der Wunsch nach konfigurierbarem HTML/XML (im Prinzip geht es ja in beiden Fällen um Tags) ist bei mir nach wie vor risieg groß.

Meine Kunden und profitieren sehr vom hervorragenden HTML-Output, ich wünsche mir jedoch eine größere individuelle Anpassbarkeit, die über die Möglichkeiten der _HTML.PAP hinausgeht und den Nachbearbeitungsaufwand in Fremdprogrammen verringert.

Im Formatvorlagen-Register “HTML” sind ja schon ein paar Einträge “Benutzerdefiniert” vorhanden, da wurde sicher schon etwas vorbereitet. :slight_smile:

Papyrus exportiert so sauber wie kaum ein anderes Programm. Aufbauend auf diesen Grundlagen wäre es sicher möglich, jede gewünschte XML-Struktur zu erzeugen.

Ich denke auch nach wie vor, dass eine stärkere Konfigurierbarkeit in Bezug auf HTML/XML den Kundenkreis von Papyrus stark erweitern würde. Ich denke da an die technischen Autoren und Redakteure, die sich allesamt mit verschiedenen XML-Outputs herumschlagen müssen.

Hm … OK …

Dann baut Ihr (Ihr beiden und alle, die mitmachen wollen) doch mal eine “To-Do”-Liste, bitte.

Was konkret müsste Papyrus Autor für gutes XML können?

Letztlich stimmt’s schon, man müsste “nur” (ich höre schon das Stöhnen, wenn ich das meinen Jungs sage ;)) den ePub-Export umbauen - ePub ist ja quasi schon eine Art XML.

Als simple, aber ungemein flexible Lösung würde es meiner Ansicht nach schon genügen, wenn man Folgendes festlegen könnte:

a.) Anfang und Ende des Dokuments

(Ob HTML- oder XML-Header, welches Wurzelelement, welche DTDs, welcher Zeichensatz, welche CSS-Datei man einbindet usw. kann dann jeder individuell einpflegen. Wer XML »spricht«, bringt ja auch die nötigen Kenntnisse dafür mit.)

b.) den Zeichensatz (iso-8859-1, utf-8, windows usw.)

(Dann müssen auch Umlaute und Sonderzeichen nicht mehr in die entsprechenden Entitäten umgewandelt werden. Es kostet mich immer Zeit, am Ende den ganzen ü- und ß-Kram in »normale« Zeichen umzuwandeln und die Textdatei selber nach UTF-8 zu konvertieren.)

c.) Tags und Code-Snippets

Dann müsste man nur noch frei festlegen können, welche Tags welchen Formaten zugeordnet werden. Bis jetzt kann man ja praktisch schon jeder Vorlage ein Tagpaar zuweisen, allerdings nur aus einem Standard-Vorrat von HTML.

Man muss das einfach nur erweitern auf »jedes gewünschte Tagpaar« oder vielmehr »jeden gewünschten Codeabschnitt« (Code-Snippet). Dabei wäre wichtig, dass man Start- und Endtag bzw. Start- und Endcode komplett frei festlegen könnte! Auf diese Art und Weise könnte man im Starttag auch bestimmte Stilklassen oder Attribute unterbringen und hätte so das passende HTML- bzw. XML-Pendant zur Papyrus-Stilklasse.

Diese Geschichte mit Start- und Endcodeabschnitt ließe sich auch beispielsweise zum Einbinden von Bildern nutzen. Man schreibt einen Text in Papyrus, z.B. herbstlaub.png. Den formatiert man mit der Vorlage »Bild«. Der wiederum weist beim Export die beiden Code-Teile zu.

Und zack – schon entsteht im Endeffekt ein Link zu einem Bild!

Die Bilder hält man separat vor, um die Umwandlung müsste sich Papyrus gar nicht kümmern. Dadurch wäre man flexibler.

Gespeichert wird das Ganze dann – wie bisher schon gehandhabt – im Dokument, das man zu einer Vorlage machen kann. Man wäre das klasse!

Format »XCode« erzeugen (Name ist nur ein Vorschlag)

Eine weitere Idee: Man erstellt ein Format, welches Papyrus anweist, Codeabschnitte unverändert zu übernehmen. Nennen wir es mal »XCode«. So könnte man z.B. einschaltende und ausschaltende DIVs oder spezielle XML-Wurzelelemente in ein Papyrus-Dokument einfügen, ohne dass Papyrus das kennen, prüfen und/oder weiterverarbeiten muss. Das, was mit »XCode« formatiert wird, bleibt einfach unverändert, auch beim Export. Damit können Profis noch viel mehr anfangen, selbst spezielle Skripte mitten in das Dokument einfügen!

Unsichtbares »UCode«-Format erzeugen. (Name nur Vorschlag)

Und noch eine Idee: Desweiteren könnte man UCode erfinden, unsichtbare Codeabschnitte, die an bestimmten Stellen im Dokument geparkt werden und Code beinhalten. Dadurch würde der Anwender nicht verwirrt. Ähnlich wie XCode, aber eben nicht sichtbar und schon vorbereitet.

Anwendungsbeispiel:

Website-Autoren erstellen ihre Texte in Papyrus und müssen eine bestimmte Vorlage verwenden. Die in Papyrus sichtbaren Eigenschaften bilden ungefähr das ab, was später auf der Website entstehen soll. Dadurch entsteht sauberer Quellcode, der exakt auf die Gegebenheiten der Website abgestimmt ist und perfekt in die CI passt. Fehlformatierungen werden dadurch ausgeschlossen und der Website-Text entsteht direkt in Papyrus.

Verlage, die mit XML arbeiten, können ihre eigenen Vorlagen einsetzen und Autoren anweisen, mit diesen Vorlagen zu arbeiten.

Mit fällt sicher noch viel mehr ein …

So etwas bietet m.E. kein anderes Programm!

Ich sehe den Sinn nicht. Mit XSLT bekommt man praktisch jedes Export-Format, sofern die Ausgangsinformationen im Eingangsformat irgendwie enthalten sind.

Ich habe mir gestern mal den HTML-Export bei PA angesehen. Johanns Vorschlag scheint mir gut in die bereits vorhandene Systematik zu passen und bietet zudem eine enorme Flexibilität.

a) Header / Wurzelelement: Dies “eröffnet” im wahren Sinne des Wortes die Flexibilität, gefällt mir gut.

b) Zeichensatzdefinition: Dies hat eine zentrale Bedeutung, da Zeichencodierungen bei XML immer wieder zu Stolpersteinen und zeitaufändigen Zwischenschritten führen. Wenn möglich, würde ich neben den genannten und UTF-8 auch UTF-16 implementieren.

c) Tagzuordnung und Codesnippets: Damit ließe sich sehr gut auch mein oben beschriebenes Anliegen abbilden (und man hat noch mehr Flexibilität…).

d) XCode: Erinnert mich an CDATA-Bereiche. Dies richtet sich dann eher an technische Autoren / Redakteure denn an “normale” Autoren, ist aber reizvoll.

e) UCode: In Verbindung mit Vorlagen für “normale” Autoren sicher hilfreich, da diese meist nur mit Word-Funktionalitäten umgehen können.

Mit der XML-Erweiterung erhält Papyrus zwei neue Anwendungsszenarien: Man macht es “fit(ter)” für die Verwertung der Autorentexte in neuen Medien (mein primäres Anliegen) und spricht zusätzlich technische Autoren und auch Verlage an. Klingt verlockend…

Für einen ersten Schritt in Richtung XML-Kompatibilität würde mir das absolut ausreichen.

#ePub-Export: Ich weiß zwar nicht, wie Papyrus intern arbeitet, aber ist die “Erweiterung” des HTML-Handlings nicht besser?

In den Formatvorlagen ist mir im Reiter “HTML” aufgefallen, dass die Drop Down “Logischen HTML-Textstil zuordnen” immer inaktiv ist. Wann ist sie aktiv bzw. was kann ich hier auswählen?