Home › Forums › General XMetaL Discussion › XMetaL Author 8.0 Error with XML declaration in external entity › Reply To: XMetaL Author 8.0 Error with XML declaration in external entity
Reply to: XMetaL Author 8.0 Error with XML declaration in external entityNovember 12, 2013 at 11:39 pm
Yes, this is a bug that affects XMetaL Author Essential 8.0 and XMetaL Author Enterprise 8.0, which share the same validation engine.
It was introduced when we tightened the XML validation engine to flag processing instructions containing the string “xml” as being invalid (which is correct behaviour). Unfortunately, that code does not differentiate between a regular PI (where it is invalid) and the PI contained in the XML file's Prolog (the “XML Declaration”). When you reference an external parsed entity (aka: file entity) it is expanded in place inside the referencing file. The XML Declaration PI is included in that expansion and then incorrectly indicated as being an illegal PI because it now appears inside the referencing document outside that document's own Prolog.
The solution in your case is to revert to the old behaviour by setting the following INI variable:
enable_pi_validation = false
Setting that INI variable will also stop the validation engine from catching “regular” PIs that contain the string “xml” which is the new behaviour implemented that causes your particular issue.