Bug 479683
Summary: | fop fails when using indexterm in a varlistentry | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Murray Cumming <murrayc> | ||||||||||
Component: | docbook-style-xsl | Assignee: | Ondrej Vasik <ovasik> | ||||||||||
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||
Severity: | medium | Docs Contact: | |||||||||||
Priority: | low | ||||||||||||
Version: | 10 | CC: | fitzsim, kdudka, langel, omajid, ovasik, veillard | ||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | All | ||||||||||||
OS: | Linux | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | docbook-style-xsl-1.74.0-5.fc10 | Doc Type: | Bug Fix | ||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2009-02-17 16:02:05 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Attachments: |
|
Description
Murray Cumming
2009-01-12 14:11:35 UTC
Created attachment 328740 [details]
test.fo
Hi Murray, Thanks for reporting the bug. I can confirm the issue. However, fop is correct in reporting the error message. The test.fo (an XML FO) file produced by xstlproc contains two elements with the same id (id2757015). This is forbidden by the XSL standard [1]. It seems that xsltproc generates an incorrect XML FO file. I am trying to find out why this happens. [1] http://www.w3.org/TR/xsl/#id Created attachment 329611 [details]
Stepping through xsltproc in gdb
This is a bug in xsltproc. As the gdb log shows, xsltproc returns the same value for two calls to generate-id(). Perhaps Daniel can shed some light on this? If it's not xsltproc he can at least tell us why not. Maybe it's not that simple. This is what xsltproc on Fedora 10 produces in that part of the .fo: <fo:wrapper id="id2757015"><!--Producer--></fo:wrapper> Producer </fo:inline></fo:block></fo:list-item-label><fo:list-item-body start-indent="body-start()"><fo:block><fo:inline> <fo:wrapper id="id2757015"><!--Producer--></fo:wrapper> Producer </fo:inline> But this is what xsltproc on Ubuntu Intrepid produces: <fo:wrapper id="id2935385"><!--Producer--></fo:wrapper> Producer </fo:inline> I find it strange that the whole fo:wrapper node seems to be duplicated. If it's really a problem with generate-id, then maybe Daniel would like a simpler test case, maybe using a simple test XML and XSL file. Here's what happens when trying out the test case with saxon: saxon -o test.fo test.xml http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl produces <fo:list-item-label end-indent="label-end()" text-align="start"> <fo:block> <fo:inline> <fo:wrapper id="d0e60"><!--Producer--></fo:wrapper> Producer </fo:inline> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block> <fo:block> A producer only produces stream data. </fo:block> </fo:block> </fo:list-item-body> and saxon -o test.fo test.xml /usr/share/sgml/docbook/xsl-stylesheets/fo/docbook.xsl <fo:list-item-label end-indent="label-end()" text-align="start"> <fo:block> <fo:inline> <fo:wrapper id="d0e60"><!--Producer--></fo:wrapper> Producer </fo:inline> </fo:block> </fo:list-item-label> <fo:list-item-body start-indent="body-start()"> <fo:block> <fo:inline> <fo:wrapper id="d0e60"><!--Producer--></fo:wrapper> Producer </fo:inline> <fo:block> A producer only produces stream data. </fo:block> </fo:block> </fo:list-item-body> So it looks like the local stylesheet is the one causing problems :( Created attachment 331319 [details]
strace of xsltproc
xsltproc cant handle http:// and falls back to local stylesheets in /usr/share/sgml/docbook/xsl-stylesheets-1.74.0/
(In reply to comment #8) > Created an attachment (id=331319) [details] > strace of xsltproc > > xsltproc cant handle http:// and falls back to local stylesheets in > /usr/share/sgml/docbook/xsl-stylesheets-1.74.0/ Err... scratch that. xsltproc looks for local stylesheets first and only then uses http. So a workaround would be to remove the docbook-style-xsl package. I also tried reverting to 1.73.2-9.fc9 which seemed to solve this particular problem (but probably has other bugs) If I rebuild docbook-style-xsl-1.74.0-4.fc10 without patch5 (docbook-xsl-list-item-body.patch) then the xsltproc and saxon both work fine, and fop can produce a pdf Thanks for report - it is really typo in that patch. Fixed and built as docbook-style-xsl-1.74.0-7.fc11 and docbook-style-xsl-1.74.0-5.fc10. |