Holla liebe StageTwo'ler,
ich hoffe das mir jemand ein wenig unter die Arme greifen kann da ich noch bis Freitag mein letztes Testat für die Prüfungsvorleistung brauche im Fach Internettechnologien.
Es geht bei der letzten Aufgabe darum XML mit XSL Stylesheets in andere Formate zu portieren, quasi um den netten Mitarbeitern die Möglichkeit zu geben das alles ausßerhalb des Browsers oder aufm Stick anzuzeigen.
XML -> PDF, PF, HTML klappt alles soweit über Batch Dateien bzw. der Console mit FOP und Saxon.
Weiter geht es nun damit das diese Umwandlungen über ein Perl Script automatisiert werden sollen, dazu auch Screen vom Fehler in der Console mit dem ich rein garnichts anfangen kann und dem Vervollständigten Perl Script ( wir bekommen die immer teilweise fertig, aber da das einfach nicht prüfungsrelevant ist, kann ich es nicht und verstehe es auch nicht), hier würde ich dann um eure Hilfe/Rat etc bitten !
- #!"C:\xampp\perl\bin\perl.exe"
- #
- # Praktikum Internet-Technologien Aufgabe 2
- # Script zur automatischen Transformation von XML-Quelldateien in
- # verschiedene Formate
- #
- # Verwendet als Eingangsinformationen (parameter): Quelldatei Ausgabeformat
- use File::Temp qw/ tempfile tempdir /;
- use File::Basename;
- use strict;
- # Pfad zu Saxon-Transform.exe
- my $saxon = "c:/saxon/bin/Transform.exe";
- # Pfad zur FOP.bat
- my $fop = "c:/fop/fop.bat";
- # Ausgabeverzeichnis
- my $output_dir = "C:\xampp\htdocs\Aufgabe6\Teil_B\Ausgabe"; #TODO
- # wird an Dateinamen angehängt
- my $outputfile_suffix = "_out";
- # XSL-Sheet für Transformation nach HMTL
- my $xsl4html = "C:\xampp\htdocs\Aufgabe6\Teil_A\A1\SAXON\tohtml_vorlage.xsl"; #TODO
- # XSL-Sheet für die Transformation nach XML-FO
- my $xsl4fo = "C:\xampp\htdocs\Aufgabe6\Teil_A\A1\FOP\tofo.xsl"; #TODO
- # Initialisieren der Variablen
- # für eingabeparameter
- my $inputfile = "";
- my $output_format = "";
- # Dateiname der Zieldatei (inkl. Pfad)
- my $outputfile = "";
- # Temporäre Datei für die XML->XML-FO->PDF/PS Transformation
- my $temp_fo = "";
- # Dateiname der Zieldatei(exkl. Pfad und Typ)
- my $prefix = "";
- # Eilesen der Kommadozeilenparameter
- $inputfile = $ARGV[0];
- $output_format = $ARGV[1];
- # Ausgabedateiname generieren - Zum Extrahieren des Dateinamens aus $inputfile
- # folgenden Ausdruck verwenden: fileparse($inputfile, qr/\.[^.]*/)
- $outputfile = "$prefix" . "$outputfile_suffix"; #TODO
- ## Ausgabeformat: xhtml ##
- if ($output_format eq "xhtml") {
- # $outputfile Dateinamen mit Endung versehen
- open filehandle, '>', '$output_dir\$outputfile.$output_format';
- #Saxon aufrufen
- print filehandle = qx($saxon $inputfile $xsl4html);
- close (filehandle);
- } #if
- ##Ausgabeformat: pdf ##
- elsif ($output_format eq "pdf") {
- # $outputfile Dateinamen mit Endung versehen
- open filehandle, '>', '&output_dir\$outputfile.$output_format';
- # Erstellen der temporären Datei für die fop-Umwandlung
- my ($fh, $tempfilename) = tempfile();
- # Saxon aufrufen
- $temp_fo = qx($saxon $inputfile $xsl4html);
- # Saxon-Ausgabe in Temp-Datei schreiben
- print $fh $temp_fo;
- # FOP aufrufen
- print filehandle = qx ($fop -fo $tempfilename -pdf $outputfile );
- close (filehandle);
- } #elsif
- ## Ausgabeformat: ps ###
- elsif ($output_format eq "ps") { #TODO
- # $outputfile Dateinamen mit Endung versehen
- open filehandle, '>', '&output_dir\$outputfile.$output_format';
- # Erstellen der temporären Datei für die fop-Umwandlung
- my ($fh, $tempfilename) = tempfile();
- # Saxon aufrufen
- $temp_fo = qx($saxon $inputfile $xsl4html);
- # Saxon-Ausgabe in Temp-Datei schreiben
- print $fh $temp_fo;
- # FOP aufrufen
- print filehandle = qx ($fop -fo $tempfilename -ps $outputfile );
- close (filehandle);
- } #elsif
- #EOF
Hier noch der Fehler des Compilers:
Unbenannt.PNG
Gruß und vielen Dank für Links/Rat und Lösungen !