ofbiz-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amardeep Singh Jhajj <amardeep.jh...@hotwaxsystems.com>
Subject PDF's missing child block element errors
Date Sat, 04 Jun 2016 07:27:28 GMT
Hi Community,

We have recently seen many issues related to missing child block elements
in PDF, we normally fix it by adding missing elements. Some of the tickets-
OFBIZ-7090 <https://issues.apache.org/jira/browse/OFBIZ-7090>, OFBIZ-6898
<https://issues.apache.org/jira/browse/OFBIZ-6898> etc.

Today, I found this issue again in trunk in accounting trans PDF. Please
refer OFBIZ-7171 <https://issues.apache.org/jira/browse/OFBIZ-7171>

I also checked it in our other releases 13.07 and 14.12, it worked. So it
was the question that what is changed after 14.12 release that causes this

I done some research and found that we have changed the fop jar from
fop-1.1.jar to fop-2.0.jar at -r1691852 in trunk, now change available in
both the 15.12 (cut from trunk after change) and trunk.

In release 14.12, in ApacheFopWorker.java "getFactoryInstance" method, we
have below code snippet


Actually, XSL-FO validation is by default active. By above code, validation
was deactivated.

On looking at commit at -r1691852, we have upgraded to fop-2.0 and removed
the above code which deactivates validation. In 2.0, setStrictValidation
method is not present instead we can use configuration property
"strict-validation" with value "false". This configuration property exists
in both the fop 1.0 and 2.0.

Please refer:


We can disable validation using below code snippet in fop.xconf.


I am able to open PDF using it. We can say, no strict validation of markup
done here.

But, I would prefer validation enabled as it helps us to write correct
markup of XSL-FO. We may see similar kind of issues in future due to strict
validation and we can fix it.

Should we do validation false or not? Please let me know your thoughts.

Thanks and Regards
Amardeep Singh Jhajj

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message