renet
I'm new here

Word/HTML Formatierungen -> DOM-Editor

Hallo zusammen,

in folgendem Beitrag ist eine Problem beschrieben, dass wir aktuell mit der Übernahme von Formatierungen aus Word/HTML in den DOM-Editor haben: https://community.e-spirit.com/message/6133#6133 Leider wird auf diese Diskussion nicht mehr geantwortet, weil dieser bereits "als beantwortet angenommen" wurde, was wir nicht rückgängig machen können. Daher hier eine neue Diskussion.

Zu dem Problem habe ich ein HelpDesk-Ticket eröffnet gehabt. Mittlerweile sind wir soweit gekommen, dass die Übernahme von Formatierungen teilweise Funktioniert (fett formatierte Texte und auf bestimmte Art formatierte Aufzählungen werden übernommen). Leider funktioniert das Übernehmen von Aufzählungen noch nicht gänzlich. Ich habe eine Test-Word-Datei angehängt, bei der nur die letzten beiden Aufzählungen korrekt umgewandelt werden. Die ersten beiden Aufzählungen werden im DOM-Editor nur als Text eingefügt und nicht als Aufzählungen.

Nun wollte ich gerne wissen, wie die in der verlinkten Diskussion gepostete Regelsatz-Konfiguration erweitert werden muss, um beliebig formatierte Aufzählungen aus Word zu erkennen. Kann mir dabei jemand weiterhelfen?

Vielen lieben Dank im Voraus! Smiley Happy

LG

René Schubert

0 Kudos
3 Replies
rusch
I'm new here

Hallo Herr Schubert!

Vielen Dank für Ihren Beitrag.

Das Office-Modul ordnet anhand von definierbaren Regelsätzen Meta-Informationen aus dem Word-Dokument Format- und Verweisvorlagen in FirstSpirit zu.

Als Dokumentenaustauschformat wird HTML verwendet, welches das Standarddokumentaustauschformat für MS Office-Anwendungen ist.

Die Ursache für das abweichende Übernahmeergebnis bei den ersten beiden Listen ist erkennbar, wenn das Word-Dokument als HTML-Dokument gespeichert wird.

Bei den intakten Listen (Listen ohne zusätzliche Formatierungen) verwendet MS Office ol- und ul-Tags:

<ol style='margin-top:0cm' start=1 type=1>

<li style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'><span

     style='mso-spacerun:yes'> </span>test1<o:p></o:p></li>

<li style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>test2<o:p></o:p></li>

<li style='mso-list:l3 level1 lfo3;tab-stops:list 36.0pt'>test3<o:p></o:p></li>

</ol>

Werden in Listen zusätzliche Formatierungen verwendet, so stellt MS Office diese anscheinend als Paragraphen in der Zwischenablage zur Verfügung:

<p class="Listenabsatz1CxSpFirst" style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span

style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:

Symbol'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>       

</span></span></span><![endif]>auch Aufzählungszeichen<o:p></o:p></p>

Dadurch wird bei der Übernahme die Regel für p und nicht ol bzw. ul angewendet.

Viele Grüße,

Sascha Rusch

0 Kudos

Hallo Herr Rusch,

ja, dass die Elemente im HTML-Format nicht als li-Elemente ausgegeben werden, habe ich auch bereits auf Hinweis des HelpDesk herausgefunden. Seltsam ist nur: Ich habe das ursprüngliche Dokument mit den ersten beiden Aufzählungen in Office 2010 komplett neu erstellt und keinerlei Anpassungen vorgenommen, außer für die Aufzählungen auf das Icon für die Aufzählungsformatierung zu klicken. Daher müsste es sich um absolutes Standard-Word-Format handeln.

Zudem kann ich dem Kunden nicht zumuten, alle vorhandenen Word-Dokumente in bestimmter Weise neu zu formatieren, bevor ein Import in FirstSpirit möglich wird. Können Sie mir dabei helfen, den Regelsatz so zu erweitern, dass auch das obige Beispiel einer Aufzählung ohne li-Elemente korrekt erkannt und importiert wird?

Besten Dank und viele Grüße

René Schubert

0 Kudos

Hallo Herr Schubert,

vielen Dank für die Antwort.

Es scheint so zu sein, dass Microsoft Word bereits eine Liste (<ul> / <ol>) in Paragraphen (<p>) umwandelt, wenn der Listentyp gewechselt wird.

Der HTML-Inhalt lässt sich betrachten, indem das Word-Dokument als HTML-Seite gespeichert wird (Datei / Speichern unter / Dateityp: Webseite (*.htm;*.html)).

Die Umwandlung von Listen in Paragraphen konnte ich mit Microsoft Word 2010 beobachten.

Mit Microsoft Word 2003 scheinen die Listen auch in den genannten Fällen als <ul>- / <ol>-Tags gespeichert zu werden.

Eine Konvertierungsregel für die Paragraphen-Listen habe ich bislang nicht formulieren können.

Das abstrakte Problem besteht darin, dass beim ersten <p>-Element in einer Ebene ein öffnendes <ul>-Tag und beim letzten <p>-Element ein schließendes <ul>-Tag durch den Regelsatz ergänzt werden müsste.

Es ist jedoch möglich, die drei Listenklassen - im Beispieldokument: Listenabsatz1CxSpFirst, Listenabsatz1CxSpMiddle und Listenabsatz1CxSpLast - auf jeweils eine entsprechende Formatvorlage zu mappen:

    <element class="Listenabsatz1CxSpFirst" inherit="HTML.paragraph" maptag="list_first" tag="p">

        <element handler="skip" tag="span"/>

    </element>

    <element class="Listenabsatz1CxSpMiddle" inherit="HTML.paragraph" maptag="list_middle" tag="p">

        <element handler="skip" tag="span"/>

    </element>

    <element class="Listenabsatz1CxSpLast" inherit="HTML.paragraph" maptag="list_last" tag="p">

        <element handler="skip" tag="span"/>

    </element>

In den drei anzulegenden Formatvorlagen list_first, list_middle und list_last kann dann die Liste HTML-konform ausgegeben werden.

list_first

<ul>

    <li>$CMS_VALUE(#content)$</li>

list_middle

    <li>$CMS_VALUE(#content)$</li>

list_last

    <li>$CMS_VALUE(#content)$</li>

</ul>

Leider ist diese Lösung nicht nutzbar, wenn in Microsoft Word alle Paragraphen-Elemente die gleiche Klasse verwenden.

Auch erfolgt keine Unterscheidung zwischen nummerierten und nicht nummerierten Listen.

In der Eingabekomponente CMS_INPUT_DOM werden die Listenelemente leider auch bei dieser Lösung weiterhin als Paragraphen behandelt.

Viele Grüße,

Sascha Rusch

0 Kudos