2013-07-17 3 views
0

Я создал шаблон XSL-FO с использованием надстройки Oracle BI Publisher для Microsoft Word, и я хотел бы преобразовать ее с помощью FOP и экспортировать в файл PDF.Apache FOP и проблема совместимости с шаблонами Oracle BI Publisher

Transform действия терпит неудачу после того, как пятнистость первого тега из пространства имен Oracle, и сообщения об ошибке говорит:

(Location of error unknown)org.apache.fop.fo.ValidationException: Invalid property encountered on "fo:root": xdofo:nf-separator (No context info available) 

Вот код:

FopFactory fopFactory = FopFactory.newInstance(); 
out = new BufferedOutputStream(new FileOutputStream(new File("result.pdf"))); 
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out); 

StreamSource source = new StreamSource(generateOrderInvoiceXml(orderId)); 
StreamSource transformSource = new StreamSource(new File("template.xsl")); 

TransformerFactory factory = TransformerFactory.newInstance(); 

Transformer transformer = factory.newTransformer(transformSource); 
Result res = new SAXResult(fop.getDefaultHandler()); 
transformer.transform(source, res); 

Есть ли способ, чтобы преобразовать такой шаблон с использованием FOP ?

+0

Вы не можете использовать свойства, специфичные для Oracle. Все, что имеет префикс типа 'xdofo:', неизвестно FOP и должно быть удалено из template.xsl. – mzjn

+0

Отключение строгой проверки может помочь: 'fopFactory.setStrictValidation (false);'. См. Http://xmlgraphics.apache.org/fop/1.1/embedding.html#fop-factory. – mzjn

ответ

Смежные вопросы