[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt [JS] XSL-Datei laden - Komme nicht weiter!

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

[JS] XSL-Datei laden - Komme nicht weiter!

madoho
Beiträge gesamt: 143

22. Jul 2009, 11:24
Beitrag # 1 von 12
Bewertung:
(12236 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Long time no see! :)

ich hab ein kleines Problemchen. Ich automatisiere die Befüllung eines Master-Dokuments mit Inhalten aus einer XML, welche von einem Online-Portal generiert wird. Wenn ich das ganze manuell mache funktioniert alles ohne Probleme. Nur den einen Schritt, das XSL-File zu laden, kriege ich nicht hin.

Hier mein JS-Skript (ist-Stand):

Code
#target InDesign 

//Globale Variablen

var myFile;
var myMaster;
var myXML;
var myXSL;

main();
exit();

function main(){

//Master auswählen

myFile = File.openDialog("Region-Master auswählen:", "*.indd", false);
myMaster = app.open(File(myFile));

//XML auswählen
myXML = File.openDialog("Gesellschafter-XML-Datei auswählen:", "*.xml", false);

//XSL auswählen
myXSL = File.openDialog("XSL-Datei auswählen:", "*.xsl", false);

//XML-Import-Präferenzen setzen wie gewünscht

myMaster.xmlImportPreferences.importToSelected = true;
myMaster.xmlImportPreferences.createLinkToXML = false;
myMaster.xmlImportPreferences.transformFilename= myXSL;
myMaster.xmlImportPreferences.repeatTextElements = true;
myMaster.xmlImportPreferences.ignoreUnmatchedIncoming = false;
myMaster.xmlImportPreferences.importTextIntoTables = true;
myMaster.xmlImportPreferences.ignoreWhitespace = false;
myMaster.xmlImportPreferences.removeUnmatchedExisting = false;
myMaster.xmlImportPreferences.importCALSTables = true;

myMaster.importXML(File(myXML));

}


Damit kriege ich dann die Fehlermeldung siehe Screenshot.

Bitte um schnelle Hilfe!

Vielen Dank im Voraus!
Der Manu

Anhang:
Bild 1.png (48.6 KB)
X

[JS] XSL-Datei laden - Komme nicht weiter!

Neil77
Beiträge gesamt: 287

22. Jul 2009, 14:04
Beitrag # 2 von 12
Beitrag ID: #402805
Bewertung:
(12178 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

hab's gerade ausprobiert, bei mir (Windows, CS3) funktionert dein Skript problemlos und importiert die xml unter Berücksichtigung der xsl-Transformation - am Skript liegt's also wohl nicht.

Ist deine xsl-Datei evtl. einfach fehlerhaft? Oder ein Problem mit Zugriffsrechten?

Grüße
Martin


als Antwort auf: [#402770]

[JS] XSL-Datei laden - Komme nicht weiter!

madoho
Beiträge gesamt: 143

22. Jul 2009, 16:10
Beitrag # 3 von 12
Beitrag ID: #402822
Bewertung:
(12151 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hmm… bei mir tut's um's ver***en net! :-/ ich hab jetzt den workaround geschaffen, dass ich das sxsl-stylesheet schon in der xml-datei oben referenziere. und dann mit…

Code
myMaster.xmlImportPreferences.transformFilename = XMLTransformFile.STYLESHEET_IN_XML; 


…das aus der xml nutze.

komisch, aber tut! vlt fällt ja jemand noch was ein, warum das bei mir net tut.

danke vielmals, vorallem auch an den tester über mir! :-)

gruß manu


als Antwort auf: [#402805]

[JS] XSL-Datei laden - Komme nicht weiter!

srakete
Beiträge gesamt: 2

12. Aug 2009, 10:41
Beitrag # 4 von 12
Beitrag ID: #404712
Bewertung:
(12016 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist ein InDesign CS3 Mac Bug. Wurde irgendwann mal von Olav Kvern im Adobe Scripting Forum bestätigt.
Stefan


als Antwort auf: [#402770]

[JS] XSL-Datei laden - Komme nicht weiter!

madoho
Beiträge gesamt: 143

12. Aug 2009, 20:41
Beitrag # 5 von 12
Beitrag ID: #404847
Bewertung:
(11979 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
vielen dank für die info!

das schiebt dann die selbstzweifel auf die seite! :oD

ist aber kein grund mir nen pc zu kaufen ;o)


als Antwort auf: [#404712]

[JS] XSL-Datei laden - Komme nicht weiter!

oli_lu
Beiträge gesamt: 29

29. Sep 2009, 12:24
Beitrag # 6 von 12
Beitrag ID: #409630
Bewertung:
(11737 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

kann es sein, dass dieser Fehler mit ID CS4 unter OSX 10.5.8 auch noch ist. Ich versuche nämlich die ganze Zeit einen Pfad zur XSL zu definieren und der setzt mir immer noch einen weiteren Pfad vorne dran.
Code
var myXSLPath = "/Laufwerk/Ordner1/Ordner2/"; 
var myXSLFile ="FM%20to%20ID2.xsl";
...
file_open(myXSLFile, myXSLPath, myRZvorlage, xmlBatchNr, myXMLFilePath);
function file_open(myXSLFile,myXSLPath, myRZvorlage, xmlBatchNr, myXMLFilePath) {
//Pfadeinstellung XML-Dateien
var myDocument = app.activeDocument;
//alert(myDocumentPath + myRZvorlage);
var myXMLImportPreferences = myDocument.xmlImportPreferences;
var myXSLDocument = myXSLPath+myXSLFile;
myXMLImportPreferences.importStyle = XMLImportStyles.mergeImport;
alert(myXSLDocument);
myXMLImportPreferences.transformFilename = myXSLDocument;
myXMLImportPreferences.allowTransform = true;
myXMLImportPreferences.createLinkToXML = false;
myXMLImportPreferences.ignoreUnmatchedIncoming = true;
myXMLImportPreferences.ignoreWhitespace = true;
myXMLImportPreferences.importCALSTables = false;
myXMLImportPreferences.importTextIntoTables = false;
myXMLImportPreferences.removeUnmatchedExisting = false;
myXMLImportPreferences.repeatTextElements = false;
var myXMLElement = myDocument.xmlElements.item(0).xmlElements.item(0);
//alert(myXMLElement);
var myXMLFile = myXMLFilePath + "batch_" + xmlBatchNr + ".xml";
myDocument.select(myXMLElement);
myXMLImportPreferences.importToSelected = true;
myXMLElement.importXML(File(myXMLFile));
}


Als Meldung kommt:
"In der XSLT-Verarbeitungsanweisung angegebenes Stylesheet "/Applications/ Adobe Indesign CS4/Scripts/XHTML For Digital Editions/:Laufwerk:Ordner1:Ordner2:FM%20to%20ID2.xsl" kann nicht gefunden werden. Datei wurde ohne Transformation importiert.

Viele Grüße
oli_lu


als Antwort auf: [#404847]
(Dieser Beitrag wurde von oli_lu am 29. Sep 2009, 12:29 geändert)

[JS] XSL-Datei laden - Komme nicht weiter!

j.per
Beiträge gesamt: 8

17. Okt 2009, 17:16
Beitrag # 7 von 12
Beitrag ID: #411597
Bewertung:
(11608 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ oli_lu ]
Code
... 
var myXSLFile ="FM%20to%20ID2.xsl";
...


oli_lu


Hallo, etwas spät, aber versuchs mal mit der Escape-Sequenz "\ " für die Leerzeichen:

Code
... 
var myXSLFile ="FM\ to\ ID2.xsl";
...



als Antwort auf: [#409630]

[JS] XSL-Datei laden - Komme nicht weiter!

oli_lu
Beiträge gesamt: 29

17. Okt 2009, 21:25
Beitrag # 8 von 12
Beitrag ID: #411606
Bewertung:
(11588 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, muss ich bei Zeiten mal ausprobieren. Ich habe mir zwischenzeitlich durch eine manuelle Eingabe per dialog am Anfang des Scripts geholfen. Dann ist es gelaufen.

Grüße
oli_lu


als Antwort auf: [#411597]

[JS] XSL-Datei laden - Komme nicht weiter!

bernd.richter
Beiträge gesamt: 44

16. Mär 2010, 09:29
Beitrag # 9 von 12
Beitrag ID: #436600
Bewertung:
(11116 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!

Ich habe in meinem Script genau das gleiche Problem mit dem automatischem Import der XSLT Datei.
http://www.hilfdirselbst.ch/...;;page=unread#unread
Um es zu Umgehen, habe ich die XSLT Datei in den von InDesign verlangten Ordner (XHTML For Digital Editions) kopiert und die XSLT ohne Pfadangabe im Script verknüpft.
Rufe ich das Script jetzt zweimal aus Indesign heraus aus auf, klappt alles ohne Probleme.
Beim ersten Aufrufen wird anscheined nur die XML ohne Transformation importiert, nach einem weiteren ausführen des Scripts, funktioniert die XSLT Transformation und meine Tags werden befüllt.
Ist zwar etwas unschön, im Script-Fenster ist auch ein Fehlersymbol zu sehen, aber immerhin funktionierts!
Wohlgemerkt nur unter CS4...

Grüße,

Bernd


als Antwort auf: [#411606]

[JS] XSL-Datei laden - Komme nicht weiter!

oli_lu
Beiträge gesamt: 29

16. Mär 2010, 10:09
Beitrag # 10 von 12
Beitrag ID: #436607
Bewertung:
(11101 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Bernd,

witzige Lösung, die einem aber nicht wirklich weiterhilft. Ich habe das jetzt so bewerkstelligt, dass ich bei Script am Anfang einmal manuell auf das XSL zeige. Das emrkt es sich dann und ich alle andere Routinen ablaufen lassen.

Viele Grüße
Oliver


als Antwort auf: [#436600]

[JS] XSL-Datei laden - Komme nicht weiter!

bernd.richter
Beiträge gesamt: 44

16. Mär 2010, 10:47
Beitrag # 11 von 12
Beitrag ID: #436610
Bewertung:
(11081 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Oliver,

interessehalber habe ich nun deine Lösung mit einer Dialog-Abfrage nach der XSLT im Script unter CS3 probiert.
Leider ohne Erfolg.
Ich gebe das XSLT richtig an, es passiert jedoch nichts, das XML wird unverändert importiert. Beim zweiten ausführen, werde ich wieder nach der XSLT gefragt. Disemal kommt jedoch die bekannte Fehlermeldung, dass die XSLT nicht gefunden werden kann, obwohl ich sie per Dialog vorher zweimal ausgewählt hatte.

Naja, dann gehts bei mir mit CS3 nur per Hand...

Viele Grüße,

Bernd


als Antwort auf: [#436607]

[JS] XSL-Datei laden - Komme nicht weiter!

pixxxelschubser
Beiträge gesamt: 1694

16. Mär 2010, 21:22
Beitrag # 12 von 12
Beitrag ID: #436708
Bewertung:
(11043 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde in Pfadangaben generell auf Leerzeichen (und Sonderzeichen) verzichten. Benutze dafür lieber einen Unterstrich.


als Antwort auf: [#436610]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/