Bug #5408
closed
Test case message-0312 fails (with either compiler)
Applies to JS Branch:
2, Trunk
Fix Committed on JS Branch:
2, Trunk
Description
This test case outputs a message, which is a sequence of
(a) a variable reference (whose value is a document node)
(b) a call on xsl:document
to construct another document node
The final message contains the result of (a) but not of (b).
The problem seems to be in ComplexContentOutputter.append()
, which sends the first document node direct to the next Receiver
without unwrapping it. The result is that an end document event finds its way to the DOM builder, which it's expecting to be the last event that happens.
- Status changed from New to In Progress
- Priority changed from Low to Normal
Fixed in Expr["message"]
, by adding calls on ComplexContentOutputter.startDoc()
and .endDoc()
around the call that pushes the message content. This forces the CCO to have level==1, and a document node emitted at level 1 gets replaced by its children, as required.
Note we also had to change the test case assertion, which was using assert-xml on a non-well-formed XML tree; this is strongly discouraged.
- Status changed from In Progress to Resolved
- Applies to JS Branch 2, Trunk added
- Fix Committed on JS Branch 2, Trunk added
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in JS Release set to SaxonJS 2.4
Bug fix applied in the SaxonJS 2.4 maintenance release.
Please register to edit this issue
Also available in: Atom
PDF
Tracking page