2017-08-30 2 views
0

caste ich habe eine Frage: Können wir net.sf.saxon.jaxp.TemplatesImpl-Objekt serialisieren. mein Problem: Ich bin nicht in der Lage, meine net.sf.saxon.jaxp.TemplatesImpl-Instanz, serialisieren kann mir helfen, wie mein Objekt zu serialisieren. bekam ich die Ausnahme wie unten:Konnte die net.sf.saxon.jaxp.TemplatesImpl nicht zu serializable

java.lang.ClassCastException: net.sf.saxon.jaxp.TemplatesImpl kann nicht auf java.io.Serializable werfen

ich folgende depedencies verwende:

<!-- https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE --> 
<dependency> 
<groupId>net.sf.saxon</groupId> 
<artifactId>Saxon-HE</artifactId> 
<version>9.8.0-4</version> 
</dependency> 

und javax.xml api ich benutze um zu transformieren.

Antwort

1

Einmal haben wir versucht, Ihnen die Verwendung der Java-Serialisierung zu ermöglichen, um eine persistente Kopie eines kompilierten Stylesheets zu erstellen. Es hat überhaupt nicht gut funktioniert. Es gab viele Probleme. Beispielsweise. Das kompilierte Stylesheet enthält Verweise auf einige Java-Klassen, die nicht serialisierbar sind (wie RuleBasedCollator). Außerdem war die Größe des serialisierten Formulars so groß, dass es häufig schneller war, aus Quell-XSLT neu zu kompilieren als das kompilierte Formular zu deserialisieren. Importierte Schemas waren ebenfalls ein Problem. Ich vergesse jetzt, was alle Probleme waren, aber wir haben schließlich beschlossen, diese Einrichtung zu verschrotten.

Stattdessen hat Saxon-EE nun die Möglichkeit, ein kompiliertes Stylesheet in eine Saxon-definierte XML-Repräsentation (Stylesheet Export File oder SEF) zu exportieren, die auf demselben oder einem anderen Rechner neu geladen werden kann. Dies ist auch die Grundlage von Saxon-JS, mit der das exportierte Stylesheet im Browser ausgeführt werden kann.

Verwandte Themen