2017-11-30 5 views
0

Ich entwickle eine Electron-Anwendung, die etwas hinter der Szene XML-Manipulation durch XSLT erfordert.Wie integriere ich einen XSLT-Prozessor in meine Electron.js-Anwendung?

Das erste, was ich tat, war, npm und github zu schlagen, aber es wurde sehr schnell kompliziert (ich muss zugeben, ich bin neu im Programmieren, es ist meistens ein Hobby für mich). So ziemlich jede Bibliothek erfordert Kompilierung und mehrere Optionen, die ich nicht einmal verstehe (statische Kompilierung, ECC, ECC) und ich kann nicht sehen, wie dies mir helfen kann plattformübergreifende Anwendungen zu liefern, wenn so viele Plattformen die erforderlichen Abhängigkeiten haben oder nicht wie libxml2 oder libxslt.

Vielleicht sollte ich den XML-Prozessor von Chrom verwenden? Fühlt sich irgendwie eingeschränkt an, da es nur XSLT 1 unterstützen sollte und ich hörte, dass Chrome Probleme mit der XSLT-Verarbeitung hat. Eine andere Alternative, an die ich dachte, war, das XML anders zu manipulieren, mit einer Art Bibliothek, die Xml-Dokumente wie zum Beispiel cheerio parsen kann (im Grunde serverseitige Jquery), dies würde einen viel komplizierteren Ansatz für die XML-Manipulation erfordern als mit XSLT-Stylesheets.

Letzte Sache, die ich dachte, war, dies zu handhaben, indem Sie die XML auf einen Server hochladen und die Umwandlung hier behandeln (also der xslt-Prozess ist nicht clientseitig) und dann die XML zurück an den Benutzer senden, aber dies würde unvorhersehbare Mengen erfordern der Arbeit und eine potentiell schmerzhafte Erfahrung für den Benutzer (was ist, wenn der Server mehrere 100mb Konvertierungen verarbeiten muss, die jeweils 4 Stunden dauern?).

Antwort

0

Auf welchen Plattformen müssen Sie laufen?

Saxon-JS wird derzeit im Browser ausgeführt, aber es kann mit ein wenig Optimierung auf Node.js ausgeführt werden (der Hauptgrund, warum wir es nicht fördern, ist das Fehlen von nützlichen Dingen wie XML-Parsing und Serialisierung, die im Browser nicht benötigt werden, sowie fehlendes Testen).

Die Hauptbeschränkung ist, dass Saxon-JS nur eine XSLT-Laufzeit ist; Dazu müssen die Stylesheets unter dem Produkt Saxon-EE auf dem Server kompiliert werden.

+0

OSX-Linux-Windows. Das ist der Grund, warum ich Electron in erster Linie wähle. Wie bei Saxon scheint es, dass es nicht etwas ist, das ich wirklich in jeder Client-Installation integrieren konnte und würde auf Internet-Verbindung zu einem zentralen Server verlassen. Plus, es scheint wie ein bezahltes Produkt. Habe nichts gegen bezahlte Produkte (Ich entwickle selbst eine), aber scheint eine Überdehnung für das, was ich brauche (im Grunde die gleichen xml-Dateien mit der gleichen xslt jedes Mal verarbeiten). – Aquazi

+0

Eigentlich ist es ziemlich gut für das Szenario "verarbeite die gleichen XML-Dateien mit demselben xslt jedes Mal", da du nur für die Entwicklungslizenz bezahlst (oder es kommt kostenlos mit oXygen), und sobald du das Stylesheet kompiliert hast Sie können es ohne weitere Kosten beliebig weit einsetzen. –

+0

Ich verstehe nicht, wo ist die xslt-Verarbeitung erfolgt, auf dem Server oder auf dem Client? – Aquazi

Verwandte Themen