[GastForen Programme Print/Bildbearbeitung Adobe InDesign aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

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

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

15. Jun 2007, 15:09
Beitrag # 1 von 12
Bewertung:
(4860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Meine 3 Frage zum Thema XML in diesem Forum. ;)

Problem: Ich importiere und platziere eine XML Datei mit einer Tabelle. Die und deren Zellen verfügen über diverse Attribute.

Extern werden Änderungen an der XML Datei vorgenommen - z.B. das Hinzufügen einer Zeile. Aktualisiere ich nun die Verknüpfung in InDesign behällt das Programm die alte Attributstruktur bei und verschiebt Inhalte in die falsche Zelle. Das betrifft das hinzufügen einer einzelnen Zelle, wie auch das hinzufügen einer ganzen Zeile (z.B. mit aid:ccols="2").

Hat jemand eine Ahnung warum das so ist? Mein Fehler oder ein Bug?


Ausschnitt aus dem XML:

<de xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" mlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:trows="538" aid:table="table" aid:tcols="2">
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Best.-Nr.:</Zelle>
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Beschreibung</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="2">Chassis, Rammer und Karosseriebefestigung 10</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis 3mm</Zelle>

Sollte sich dieses Problem nicht beheben lassen, wäre ich doch schon sehr entäuscht von InDesign. Für immer wiederkehrende Listenaktualisierungen wäre der XML Import dann wohl mehr als umständlich und ich könnte auch weiterhin past and copy machen.

Es wäre schön, wenn hier jeamand einen Lösungsvorschlag hat.

Danke im Voraus!
X

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 08:34
Beitrag # 2 von 12
Beitrag ID: #297314
Bewertung:
(4823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Wüstenhund,

wenn ich deinen eingesetzten Namespace richtig deute arbeitest du schon mit ID CS3. Ab dieser Version ermöglicht ID den Einsatz von Cals-Tabellen. Wäre das nicht eine Alternative für dein Projekt. Ich denke Cals-Tabellen sind deutlich einfacher vom Handling. Ansonsten müsstest du einen Weg über ein XSLT-Script wählen das die Anzahl der Spalten und Reihen ermittelt und dann in das Tabellenformat von ID einträgt.

Viele Grüße

Jürgen


als Antwort auf: [#297132]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

18. Jun 2007, 10:35
Beitrag # 3 von 12
Beitrag ID: #297344
Bewertung:
(4811 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

danke für die Antwort. Ja, ich arbeite mit CS3 bzw. ich teste es gerade.

Deine beiden Vorschläge klingen gut, allerdings muss ich gestehen noch nie mit Cals Tabellen oder XSLT Scripten gearbeitet zu haben. Hast Du einen Tipp wo ich mich darüber gut informieren kann und ob es möglich ist normale XML-Tabellen in die Cals-Tag-Struktur zu übersetzen?

Viele Grüße
sven


als Antwort auf: [#297314]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 11:43
Beitrag # 4 von 12
Beitrag ID: #297366
Bewertung:
(4798 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

das Cals-Tabellenmodell wird im Docbook definiert. Docbook ist ein offener Standard der zur Beschreibung strukturierter Daten benutzt wird. Eine der namhaften Suchmaschinen helfen da gerne weiter.:-)
Hab mal ein kleines Cals-Tabellenmuster angehängt:
Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Root><table frame="none">
<tgroup cols="2">
<colspec colname="c1" colwidth="60pt">
</colspec>
<colspec colname="c2" colwidth="48pt">
</colspec>
<thead>
<row>
<entry align="left" valign="top">Kopf 1</entry>
<entry align="left" valign="top">Kopf 2</entry>
</row>
</thead>
<tfoot>
<row>
<entry align="left" valign="top">Fuß 1</entry>
<entry align="left" valign="top">Fuß 2</entry>
</row>
</tfoot>
<tbody>
<row>
<entry align="left" valign="top">Zeile 1 Spalte 1</entry>
<entry align="left" valign="top">Zeile 1 Spalte 2</entry>
</row>
<row>
<entry align="left" valign="top">Zeile 2 Spalte 1</entry>
<entry align="left" valign="top">Zeile 2 Spalte 2</entry>
</row>
</tbody>
</tgroup>
</table></Root>


Für xslt brauchst du einen xslt-Prozessor wie z.B. Saxon. Da ich auf Windows arbeite kann ich zu kostenlosen MAC-Varianten leider nichts sagen. ID CS3 hat auch einen xslt-Prozessor eingebaut. Wie gut der funktioniert konnte ich noch nicht testen.

Infos zu xslt-Befehlen findest du z.B. unter
http://de.selfhtml.org/. Dort nach xslt suchen.

Grüße
Jürgen


als Antwort auf: [#297344]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

18. Jun 2007, 12:02
Beitrag # 5 von 12
Beitrag ID: #297372
Bewertung:
(4789 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

ich habe mal einschlägige Websiten besucht und auch mit Altova XMLspy versucht die Tabellen zu übersetzen, war aber bislang mäßig erfolgreich. Auf der Docbook-Seite war ich auch schon - hilfe, ich bin (windows usender) Designer und kein Coder ;)

Betreffend dem XSLT Prozessor in InDesign spielst Du bestimmt auf die Möglichkeit an diesen beim Import zu definieren, indem ich eine XSLT Datei auswähle? Hast Du einen Tipp wie eine solche Datei ausschauen sollte? Letztenendes ist sie ja dann nur ein Parser zur Re-Interpretation und müsste selbst nur ein Übersetzungsmuster enthalten.

Ich bin im Scripten leider überhaupt nicht firm, deshalb muss ich diese Fragen stellen...

vielen Dank
sven


als Antwort auf: [#297366]
(Dieser Beitrag wurde von Wüstenhund am 18. Jun 2007, 12:02 geändert)

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 12:20
Beitrag # 6 von 12
Beitrag ID: #297378
Bewertung:
(4780 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

jetzt müsste man natürlich deinen Workflow kennen. Wie sind die Daten den aufbereitet?

Eine andere Überlegung. Kann man beim Export aus ID nicht auch Cals-Tabellen exportieren? Wenn sie importierbar sind sollten Sie ja auch exportierbar sein. :-? Somit können beim Datenexport die Tabellen in die übersichtlichere Cals-Struktur exportiert werden. Vielleicht ist dann das Problem schon behoben?

Viele Grüße
Jürgen


als Antwort auf: [#297372]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 13:05
Beitrag # 7 von 12
Beitrag ID: #297388
Bewertung:
(4767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

jetzt hab ich mir dein Beispiel doch nochmal richtig angesehen. Sollte man halt immer machen bevor man schreibt.:-)

Das Problem ist der Eintrag aid:ccols="2". Dies erzeugt in der ID-Tabelle ein column spanning. Dadurch gerät die Struktur durcheinander. Für leere Einträge musst du ein leeres Zellenelement einfügen und das ccols auf 1 lassen.. Also so:
Code
<de xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:trows="538" aid:table="table" aid:tcols="2"> 

<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Best.-Nr.:</Zelle>

<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Beschreibung</Zelle>

<Zelle aid:table="cell" aid:crows="1" aid:ccols="1"></Zelle>

<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis, Rammer und Karosseriebefestigung 10</Zelle>

<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>

<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis 3mm</Zelle>


Viele Grüße
Jürgen


als Antwort auf: [#297132]
(Dieser Beitrag wurde von Jürgen Althaus am 18. Jun 2007, 13:07 geändert)

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

18. Jun 2007, 13:38
Beitrag # 8 von 12
Beitrag ID: #297398
Bewertung:
(4758 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

schau Dir mal bitte hier das jpg an. http://www.orangeart.de/...kt/xml-problem01.jpg
Ich glaube darauf wird mein Problem recht gut sichtbar.

Beim ersten Import wird die Tabelle absolut korrekt widergegeben. Nehmen wir aber mal an es handelt sich um eine Preisliste, die um ein Produkt ergänzt wird. Das XML mit der ergänzten Zeile wird neu aktalisiert und schon stimmt die Tabellen-Einträge nicht mehr mit der Tabellen-Form überein - obwohl die auch in der XML Datei geändert wurden!

Vorher:
Code
<xb8ec_spareparts_de> 
<de xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:trows="538" aid:table="table" aid:tcols="2">
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Best.-Nr.:</Zelle>
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Beschreibung</Zelle>
[b]<Zelle aid:table="cell" aid:crows="1" aid:ccols="2">Chassis, Rammer und Karosseriebefestigung 15</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="2">Chassis, Rammer und Karosseriebefestigung 15</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis 3mm</Zelle>
<Zelle aid:table="cell" aid:crows="1" id:ccols="1">351100</Zelle>



Nachher:
Code
<xb8ec_spareparts_de> 
<de xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:trows="538" aid:table="table" aid:tcols="2">
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Best.-Nr.:</Zelle>
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Beschreibung</Zelle>
[b]<Zelle aid:table="cell" aid:crows="1" aid:ccols="2">Chassis, Rammer und Karosseriebefestigung 15</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis 3mm</Zelle>
<Zelle aid:table="cell" aid:crows="1" id:ccols="1">351100</Zelle>


Ich verstehe einfach nicht, dass so etwas "einfaches" in InDesign auch nicht einfach funktionieren kann. ;)=


als Antwort auf: [#297388]
(Dieser Beitrag wurde von Wüstenhund am 18. Jun 2007, 13:40 geändert)

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 14:01
Beitrag # 9 von 12
Beitrag ID: #297404
Bewertung:
(4749 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

ändere den Code wie folgt:
Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<de xmlns:aid="http://ns.adobe.com/AdobeInDesign/4.0/" xmlns:aid5="http://ns.adobe.com/AdobeInDesign/5.0/" aid:trows="10" aid:table="table" aid:tcols="2">
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Best.-Nr.:</Zelle>
<Zelle aid:table="cell" aid:theader="" aid:crows="1" aid:ccols="1" aid5:cellstyle="Sparepart head">Beschreibung</Zelle>
[b]<Zelle aid:table="cell" aid:crows="1" aid:ccols="1"></Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis, Rammer und Karosseriebefestigung 15</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">Chassis 3mm</Zelle>
<Zelle aid:table="cell" aid:crows="1" aid:ccols="1">351100</Zelle>
</de>


Danach sollte es auch funktionieren.
Siehe bitte auch meinen vorherigen Beitrag.

Viele Grüße
Jürgen


als Antwort auf: [#297398]
(Dieser Beitrag wurde von Jürgen Althaus am 18. Jun 2007, 14:02 geändert)

Anhang:
Beispiel.jpg (73.5 KB)

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

18. Jun 2007, 14:09
Beitrag # 10 von 12
Beitrag ID: #297408
Bewertung:
(4745 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

danke für den Tipp. Ich kann aber leider einer Datenbank nicht beibringen bei jeder Aktualisierung die vorige Zelle durch einen Leertag zu ersetzen und mir dann die Arbeit machen in InDesign alles manuel nachzukorrigieren. Dann kann ich auch gleich alles neu importieren und neu formatieren. Das muss automatisch gehen... :(=

Viele Grüße
sven


als Antwort auf: [#297404]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Jürgen Althaus
Beiträge gesamt: 102

18. Jun 2007, 15:38
Beitrag # 11 von 12
Beitrag ID: #297436
Bewertung:
(4727 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

du hast recht ID schreibt die Tabelle bei erneutem Import nicht neu. Das ist sehr schade, denn die Funktionalität leidet darunter. Hab mal in die ID CS3 Demo reingeschaut. Der Cals-Import scheint da doch die Änderungen zu übernehmen. Wahrscheinlich weil hier die Tabelle beim Import neu geschrieben wird. Wie werden dort aber die Cellstyles mit übergeben:-?
Da müsste wahrscheinlich mit den neuen xmlrules gearbeitet werden.

Viele Grüße und trotzdem viel Erfolg mit deinem Projekt.
Jürgen


als Antwort auf: [#297408]

aid: Attribute werden beim aktualisieren von XML Dateien nicht mitaktualsiert

Wüstenhund
Beiträge gesamt: 10

18. Jun 2007, 15:47
Beitrag # 12 von 12
Beitrag ID: #297442
Bewertung:
(4723 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

ja, das ist verdammt ärgerlich. Wenn ich wüsste wie ich aus den bestehenden Daten via XSLT eine Cals Tabelle erzeuge wäre das schon einfacher. Aber selbst das wird wohl nicht ohne weiteres funktionieren, weil diese Funktionalität nur beim Neuimport und nicht bei neu-verknüpfen zur Verfügung steht.

Um den Fehler einzugrenzen habe ich mal folgendes ausprobiert: Nach dem ich die Tabelle aktualisiert habe und sich im Layout nichts tat, habe ich das XML aus InDesign wieder heraus exportiert. Dabei ist aufgefallen, dass ID tatsächlich die Inhalte, aber nicht die Tag-Attribute aktualisiert.

Um den Bug zu beheben müsste man (vermute) ich eine Verarbeitungsanweisung erzeugen, die beim Import/Aktualisieren die Tag-Attribute ebenfalls mit lädt und trotzdem die Formatierungen/Styles beibehällt. Aber ich habe nun wirklich überhaupt keine Ahnung wie ich das anstellen sollte :(

Viele Grüße zurück und danke
sven


als Antwort auf: [#297436]
X