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 issue. 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 fopFactory.setStrictValidation(false); 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: https://xmlgraphics.apache.org/fop/1.0/configuration.html https://xmlgraphics.apache.org/fop/2.0/configuration.html We can disable validation using below code snippet in fop.xconf. <strict-validation>false</strict-validation> 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 www.hotwaxsystems.com
