Meditor XML-Export: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
 
** Link zum .m-File
 
** Link zum .m-File
 
** Zeilennummern ???
 
** Zeilennummern ???
* Angabe des Zielfilenamens bei Verwendung als Anwendung
 
   
 
=Struktur=
 
=Struktur=
Zeile 51: Zeile 50:
   
 
===Verwendung als Anwendung===
 
===Verwendung als Anwendung===
Als Parameter ist dem Programm der Filename des zu exportierenden .m Files anzugeben. Dieser wird auch (bis auf die Endung) als Name des XML-Files verwendet.
+
Als Parameter ist dem Programm der Filename des zu exportierenden .m Files anzugeben. Als zweiten, optionalen Parameter kann man den Namen des Output-Files angeben. Wenn das nicht geschieht, wird der Name des Matlab-Files verwendet, wobei die Dateiendung von .m auf .xml geändert wird. Bei Angabe von Pfaden beim Ausgabefile ist zu beachten, dass diese relativ zum (evtl. im Konfigurationsfile angegebenen) Ausgabeverzeichnis liegen.
   
 
Weiters sollte an der spezifizierten Stelle ein Properties-XML File befinden, falls von den Default-Werten abweichende Einstellungen vorgenommen werden sollen.
 
Weiters sollte an der spezifizierten Stelle ein Properties-XML File befinden, falls von den Default-Werten abweichende Einstellungen vorgenommen werden sollen.

Version vom 2. April 2006, 19:03 Uhr

Es soll möglich sein "von außen" dem MLTutor ein Matlab-File zu übergeben, woraufhin er dieses partitioniert und diese Information in einem XML-File speichert.

Für dieses File sind Transformationen für html und tex zu schreiben.

Was geht

  • Aufruf von außen für ein File
  • Export des aktuellen Files aus dem MLTutor heraus
  • Konfiguration über XML-File
  • Erzeugen eines XML-Files
    enthält:
    • Partitionierung
    • Den Originalcode
  • Schema existiert
  • Transformation in HTML
    • XSL File
    • php-Skript für serverseitige Transformation

Was fehlt / Ideen

  • Im XML-Format:
    • Tags für Metadaten
      • Filename
      • Autor ???
      •  ???
  • Im erzeugten HTML-File:
    • Link zum .m-File
    • Zeilennummern ???

Struktur

Die Klasse XMLExporter

public class XMLExporter {
    /** keys and default values for the properties */
    private final static String PROPERTYFILE      = "XML_export_properties.xml";
    public  final static String CONFIGFILEDIR_KEY = "CONFIGFILEDIR";
    private final static String CONFIGFILEDIR_DEF = "./";
    public  final static String OUTPUTDIR_KEY     = "OUTPUTDIR";
    private final static String OUTPUTDIR_DEF     = "./";
    public  final static String SCHEMAFILE_KEY    = "SCHEMAFILE";
    private final static String SCHEMAFILE_DEF    = "schema.xsd";

    // Definitionen der XML-Tags
    ...

    public static void main(String[] args) {}
    public static void writeToFile(String output, String outputFilePath) 
            throws FileNotFoundException, UnsupportedEncodingException, IOException {}
    public static String export(IDocument document, Properties properties) {}
    ...
}

Der Funktion export(...) kann man über das Properties Objekt den Namen des Schema-Files mitteilen (mehr wird nicht verwendet). Passt dessen Default-Wert, so kann null übergeben werden.

Verwendung als Anwendung

Als Parameter ist dem Programm der Filename des zu exportierenden .m Files anzugeben. Als zweiten, optionalen Parameter kann man den Namen des Output-Files angeben. Wenn das nicht geschieht, wird der Name des Matlab-Files verwendet, wobei die Dateiendung von .m auf .xml geändert wird. Bei Angabe von Pfaden beim Ausgabefile ist zu beachten, dass diese relativ zum (evtl. im Konfigurationsfile angegebenen) Ausgabeverzeichnis liegen.

Weiters sollte an der spezifizierten Stelle ein Properties-XML File befinden, falls von den Default-Werten abweichende Einstellungen vorgenommen werden sollen.

Und natürlich müssen die benötigten Eclipse Klassen irgendwie zugänglich gemacht werden (Package org.eclipse.jface.text)

Export aus dem MLTutor heraus

Dafür ist in gewohnter Manier die Klasse

public class MatlabExportAction extends MatlabAction implements IEditorActionDelegate{
...
}

zuständig.

Beim Aufruf von "File->Export as XML" wird ein File-Speichern Dialog generiert, in welchem man den Namen des Zielfiles angeben kann. Die Quelle ist stets der im Editor angezeigte Text, d.h. das File muss nicht gespeichert sein. Als kleine Erleichterung wird das letzte verwendete Verzeichnis im PreferenceStore gespeichert und als Ausgangspunkt für den nächsten Aufruf des Dialogs verwendet.