Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign InDesign: XML-Import und CDATA-Abschnitte

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

InDesign: XML-Import und CDATA-Abschnitte

Peter Sauseng
Beiträge gesamt: 483

11. Jan 2019, 14:49
Beitrag # 1 von 6
Bewertung:
(4794 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Ich konvertiere per XSLT XML-Daten so, dass sie in InDesign wie gewünscht ankommen, das betrifft verschiedene Element-Zuordnungen, Behandlung des Weißraums u.v.a.
Das funktioniert bei diesen Projekten schon jahrelang sehr gut.

Nun erhalte ich aber XML-Daten mit CDATA-Abschnitten.
In diesen CDATA-Abschnitten sind verschiedene HTML-Befehle wie <ul>,<li>,<a> u.a. eingefügt.

CDATA-Abschnitte werden bei der Konvertierung nicht analysiert und unverändert in die neue XML-Datei eingefügt. Damit diese Abschnitte in InDesign richtig ankommen, wäre einiges zu verändern.

Weiß jemand, wie man per XSLT doch auf diese CDATA-Abschnitte zugreifen kann, um diverse Konvertierungen (z.B. die Entfernung von Einrückungen) durchzuführen?

Mir fällt jetzt nur einmal ein, dass ich nach der ersten Konvertierung eine weitere Konvertierung starte, die auf diese Elemente eingeht, die nach der ersten Konvertierung ja keine CDATA-Elemente mehr sind.

Gruß, Peter
X

InDesign: XML-Import und CDATA-Abschnitte / GREP-Problem

Peter Sauseng
Beiträge gesamt: 483

25. Jan 2019, 10:49
Beitrag # 2 von 6
Beitrag ID: #568701
Bewertung:
(4560 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Problem mit dem Weißraum bei diesen CDATA-Texten kann man mit normalize-space ganz gut lösen. Ich füge dann nur dort einen Zeilenumbruch mit &#10; ein, wo es notwendig ist.

Ein neues Problem habe ich aber mit Listen.
Ich würde gerne zwischen Hauptlisten und Unterlisten unterscheiden.

Z.B. bei Unterlisten <li2> statt <li> einfügen, damit ich in InDesign eine andere Formatierung zuweisen kann.

Leider habe ich keine passenden Regular Expressions gefunden.

Beispiel:
Code
<ul> 
<li>Hauptliste: Punkt 1</li>
<li>Hauptliste: Punkt 2
<ul>
<li>Unterliste: Punkt 1</li>
<li>Unterliste: Punkt 2</li>
</ul>
</li>
<li>Hauptliste: Punkt 3</li>
<li>Hauptliste: Punkt 4
<ul>
<li>Unterliste 2: Punkt 1</li>
<li>Unterliste 2: Punkt 1</li>
</ul>
</li>
<li>Hauptliste: Punkt 5</li>
</ul>


Ich würde gerne alle <li> von Unterlisten durch <li2> ersetzen.

Nach der Entfernung aller Leerzeichen zwischen den HTML-Befehlen habe ich folgendes GREP ausprobiert:

(<li>.+?<ul>.*?)<li>(.+?</ul></li>) ersetze durch: $1<li2>$2

Das würde auch funktionieren, wenn man es mehrmals ausführt und es immer nur eine Unterliste gibt.

Da es aber auch mehrere Unterlisten geben kann, wird auch das <li> in der Hauptliste gefunden, da es auch vor diesem <li> vorher ein <li>.+?<ul> und nacher ein </ul></li> gibt.

Dass diese gefundenen <ul> und </ul> nicht von der gleichen Liste stammen, ist der Suche natürlich egal.

Weiß jemand, ob man das irgendwie umgehen könnte.

Gruß, Peter


als Antwort auf: [#568446]
(Dieser Beitrag wurde von Peter Sauseng am 25. Jan 2019, 10:56 geändert)

InDesign: XML-Import und CDATA-Abschnitte / GREP-Problem

Thomas Richard
Beiträge gesamt: 19327

25. Jan 2019, 11:44
Beitrag # 3 von 6
Beitrag ID: #568704
Bewertung:
(4540 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab noch nicht kapiert wo du jetzt womit eigentlich suchst ...


aber wenn du alle <li> gefolgt von "Unterliste" gefolgt von optional "LeerzeichenZiffer" gegen <liZiffer> ersetzt, muss dann nicht auch das schliessende Tag gegen</liZiffer> ersetzt werden?


als Antwort auf: [#568701]

InDesign: XML-Import und CDATA-Abschnitte / GREP-Problem

Peter Sauseng
Beiträge gesamt: 483

25. Jan 2019, 12:59
Beitrag # 4 von 6
Beitrag ID: #568707
Bewertung:
(4528 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas!

Ja, sicher, das schließende Tag müsste dann auch ersetzt werden.

Jetzt suche ich nach einem <li>, vor dem ein <li>, beliebiger Text, <ul> und optional beliebiger Text steht.
Nachher muss </ul></li> vorhanden sein, damit <li> ersetzt wird.


Gruß, Peter


als Antwort auf: [#568704]

InDesign: XML-Import und CDATA-Abschnitte / GREP-Problem

Peter Sauseng
Beiträge gesamt: 483

25. Jan 2019, 13:26
Beitrag # 5 von 6
Beitrag ID: #568709
Bewertung:
(4520 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich werde es jetzt so machen, dass ich Marker für Beginn und Ende einer Unterliste erstelle (diese Bereiche sind ja eindeutig) und dann in InDesign per Skript nur die Bereiche zwischen diesen Markern suche und dort die Formatierung "LISTE 2" zuweise.

Gruß, Peter


als Antwort auf: [#568707]

InDesign: XML-Import und CDATA-Abschnitte / GREP-Problem

Thomas Richard
Beiträge gesamt: 19327

28. Jan 2019, 12:29
Beitrag # 6 von 6
Beitrag ID: #568728
Bewertung:
(4244 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dein Eingangsposting hab ich nicht wirklich kapiert, aber das letzte jetzt schon. Von daher: Guter Plan 20on20


als Antwort auf: [#568709]
X