Bug #1727
closedReferences to standard XHTML entities in stylesheet not cached
100%
Description
When a stylesheet module references external entities, for example xhtml-lat1.ent in order to enable use of XHTML character entity references in the stylesheet, Saxon goes to the W3C web site to fetch the external entity rather than resolving it to its own local copy.
A patch to Configuration.getStyleParser() is being committed.
Updated by Michael Kay over 11 years ago
Brian Tusi wrote:
Is this fix included in 9.5.0.1?
Yes it is. Somehow the database isn't quite flexible enough to record that the issue is closed for the 9.5 branch but remains open for 9.4 until we get another maintenance release out.
Updated by Brian Tusi over 11 years ago
I've tested 9.5.0.1, and it's an improvement over the previous version. However, I've found that while it catches the entity reference in the primary XSL stylesheet, any further stylesheets brought in with <xsl:import /> don't seem to take advantage of StandardEntityResolver.
Updated by Michael Kay over 11 years ago
Confirmed. In fact, it's not failing only on include and import, but on all uses of the stylesheet parser after the first (within the life of a Configuration). The stylesheet parser gets cached and reused, and on being returned to the pool, the EntityResolver is reset to null to avoid adverse garbage collection implications. I've now patched it on both the 9.4 and 9.5 branches to remove this, so it should now work OK.
Updated by O'Neil Delpratt over 11 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in version set to 9.4.0.8
Bug now closed. Successfully applied to the Saxon 9.4.0.8 maintenance release.
Please register to edit this issue