ACordes
I'm new here

DomEditor – Tabellen importieren (Script)

Hallo Community,

ich schreibe momentan ein Import-Script für Datenquellen-Einträge. Ich habe eine XML-Datei, in der die Einträge stehen. Dieses lese ich aus und speichere die Werte entsprechend. Das klappt mittlerweile auch, jetzt stoße ich aber auf ein Problem mit HTML-Markup.

Und zwar enthält ein Element im XML HTML-Markup, darunter auch Tabellen. Damit kommt FirstSpirit scheinbar nicht klar, denn wenn ich mir den Datenquellen-Eintrag anschaue, bekomme ich immer folgenden Fehler:

domeditor.view.ElementView cannot be cast to domeditor.table.TableRow

Folgendermaßen setze ich das Feld im Script:

FormField<DomElement> textField = (FormField<DomElement>) formData.get(lang, "cs_text");

textField.set(StringEscapeUtils.unescapeHtml4(item.getBody()));

Was macht FirstSpirit da im Hintergrund? Es scheint ja das Tabellen-Markup irgendwie für den Tabellen-Editor "zugänglich zu machen", was nicht funktioniert.

Hat jemand eine Idee?

0 Kudos
3 Replies
tklein
I'm new here

Hallo,

für das Befüllen von EIngabekomponenten via Api gibts in unserer ApiDoc auch Beispiele. Zum Beispiel dies hier für inline-Tabellen im DOM

http://www.e-spirit.com/odfs42/access/examples/de/espirit/firstspirit/access/editor/DomEditorValueEx...

Das heißt, ich muss in meinem Script die Tabellen aus dem HTML-Markup mit dieser Methode nachbasteln? Oh mann, es wird nicht besser.

Danke für die Antwort.

0 Kudos

Hallo Herr Cordes,

FirstSpirit speichert alle Daten in einem formatneutral, sie können also in keine Eingabekomponente einfach HTML einfügen. Nur so können Sie später die Daten in jedem beliebigen Ausgabeformat generieren, ohne komplexe Transformationslogik zu programmieren. Mit FirstSpirit können Sie ja auch PDF, XML, RTF, OpenOffice-Dokumente und jedes andere Format erzeugen.

Ihr Importer muss also das HTML parsen und auf die entsprechenden Formatvorlagen in ihrem FirstSpirit-Projekt mappen. Je nach Qualität und Menge des zu importierenden Inhalts ist für ihr Projekt vielleicht auch die In|Motion-Lösung interessant.

Viele Grüße

Christoph Feddersen

0 Kudos