java使用fop处理xml中的html标记
我有一个被转换成SAXSource的对象,然后用FOP转换成PDF。但是,一些数据在XML标记中是HTML格式的。我想让样式表将这些HTML标记解析为实际元素,这意味着要以其未转换的格式读取它,但我不知道如何做到这一点。我在样式表中设置了disable-output-escaping
,但我认为XML中的数据在到达样式表并进行处理之前已经被解析为“转义”
下面是转换的代码
FOUserAgent foUserAgent = getUserAgent();
PDFRenderer pdfrenderer = new PDFRenderer();
pdfrenderer.setUserAgent(foUserAgent);
foUserAgent.setRendererOverride(pdfrenderer);
URIResolver resolver = myWebContext.getResolver();
foUserAgent.setURIResolver(resolver);
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] b = null;
try {
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
//transformer.setOutputProperty("disable-output-escaping", "yes");
// kicks back error --- invalid property
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
Source xsl = resolver.resolve(xslFilename, null);
transformer = factory.newTransformer(xsl);
res = new SAXResult(fop.getDefaultHandler());
transformer.transform(xmlSrc, res);
b = out.toByteArray();
共 (0) 个答案