Created attachment 742064 [details]
Description of problem:
XML Entities that are used in CDATA blocks are being resolved and replaced. Since CDATA is meant to be unparsed content, these should not be resolved and should be left as is. I've tested this with the following XML Entities, though I imagine it would happen with any entities:
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create a book with a <programlisting> that contains a CDATA element.
2. Build the book.
3. Inspect the <programlisting> code.
The XML Entities in the CDATA element are being resolved and replaced.
The XML Entities should not be resolved and replaced.
When putting XML Entities into CDATA, ensure that the ampersand of the entity is replaced with &. Eg &qout; would become &quot;
I've attached a simple book that contains a single chapter with a <para> and a <programlisting> that contains some CDATA with an XML Entity.
Forgot to mention I've tested this on RHEL 6.4 and Fedora 18 (using the builds in the testing repo), using the latest updates available at the time of submitting this bug.
A better workaround is to follow the instructions on using the extras directory at http://jfearn.fedorapeople.org/en-US/Publican/3.0/html/Users_Guide/chap-Users_Guide-Creating_a_document.html#sect-Users_Guide-Adding_code_samples
Modified XML::TreeBuilder to support cdata, pushed upstream.
Updated Publican to support new XML::TreeBuilder functionality. Bumped XML::TreeBuilder dep to version 4.2.
de69890..783564d HEAD -> devel
HSS-QE has reviewed and declined this request. QE for this bug will be handled by IED.
Seems to work:
$ rpm -q publican
rendered after build as:
The fix for this bug has been shipped in publican 3.2.0