projects
/
gpl
/
argeo-suite.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use Saxon instead of Xalan
[gpl/argeo-suite.git]
/
org.argeo.app.servlet.publish
/
src
/
org
/
argeo
/
app
/
servlet
/
publish
/
FopServlet.java
diff --git
a/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FopServlet.java
b/org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FopServlet.java
index 1ee19f0f58f23688c4b50d1d64dadb5ecf9a1a38..b0c2f636d5f63ae39e86112690b98e8ebe3990bb 100644
(file)
--- a/
org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FopServlet.java
+++ b/
org.argeo.app.servlet.publish/src/org/argeo/app/servlet/publish/FopServlet.java
@@
-35,7
+35,6
@@
import org.apache.fop.apps.FOPException;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.FopFactoryBuilder;
-import org.apache.xalan.processor.TransformerFactoryImpl;
import org.apache.xmlgraphics.io.Resource;
import org.apache.xmlgraphics.io.ResourceResolver;
import org.argeo.api.acr.Content;
import org.apache.xmlgraphics.io.Resource;
import org.apache.xmlgraphics.io.ResourceResolver;
import org.argeo.api.acr.Content;
@@
-51,6
+50,8
@@
import org.geotools.data.collection.ListFeatureCollection;
import org.geotools.data.simple.SimpleFeatureCollection;
import org.opengis.feature.simple.SimpleFeature;
import org.geotools.data.simple.SimpleFeatureCollection;
import org.opengis.feature.simple.SimpleFeature;
+import net.sf.saxon.BasicTransformerFactory;
+
/**
* A servlet transforming an XML view of the data to either FOP or PDF.
*/
/**
* A servlet transforming an XML view of the data to either FOP or PDF.
*/
@@
-80,7
+81,7
@@
public class FopServlet extends HttpServlet {
Content content = session.get(path);
// dev only
Content content = session.get(path);
// dev only
- final boolean DEV =
fals
e;
+ final boolean DEV =
tru
e;
if (DEV) {
try (InputStream in = xslUrl.openStream()) {
Source xslSource = new StreamSource(in);
if (DEV) {
try (InputStream in = xslUrl.openStream()) {
Source xslSource = new StreamSource(in);
@@
-92,7
+93,7
@@
public class FopServlet extends HttpServlet {
}
Source xmlInput = content.adapt(Source.class);
}
Source xmlInput = content.adapt(Source.class);
- XmlNormalizer.print(xmlInput,0);
+ XmlNormalizer.print(xmlInput,
0);
}
Source xmlInput = content.adapt(Source.class);
}
Source xmlInput = content.adapt(Source.class);
@@
-131,6
+132,7
@@
public class FopServlet extends HttpServlet {
}
String p = href.startsWith("/") ? href : path + '/' + href;
}
String p = href.startsWith("/") ? href : path + '/' + href;
+ p = URLDecoder.decode(p, StandardCharsets.UTF_8);
Content subContent = session.get(p);
return subContent.adapt(Source.class);
};
Content subContent = session.get(p);
return subContent.adapt(Source.class);
};
@@
-191,9
+193,7
@@
public class FopServlet extends HttpServlet {
documentBuilderFactory.setXIncludeAware(true);
documentBuilderFactory.setNamespaceAware(true);
documentBuilderFactory.setXIncludeAware(true);
documentBuilderFactory.setNamespaceAware(true);
- // We must explicitly use the non-XSLTC transformer, as XSLTC is not working
- // with DocBook stylesheets
- transformerFactory = new TransformerFactoryImpl();
+ transformerFactory = new BasicTransformerFactory();
// transformerFactory = TransformerFactory.newDefaultInstance();
try {
String xslStr = LangUtils.get(properties, PROP_ARGEO_FO_XSL);
// transformerFactory = TransformerFactory.newDefaultInstance();
try {
String xslStr = LangUtils.get(properties, PROP_ARGEO_FO_XSL);