Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.5.0, 3.6.0
-
None
-
None
Description
We've updated from Daffodil 3.4 to 3.5. Following the update, one of our Smooks examples started failing. It appears that the distinguished root node set from the processor factory is now being ignored. The same behaviour occurs on Daffodil 3.6. I've created a test case which reproduces the unexpected behaviour here: https://github.com/claudemamo/smooks-dfdl-cartridge/tree/daffodil-distinguishedRootNode-issue. Running the following will give you an error:
mvn clean test -Dtest=org.smooks.cartridges.dfdl.FunctionalTestCase#testSmooksConfigGivenDistinguishedRootNode
The error is:
Unparse Error: Expected element start event for ex:{http://example.com}file, but received element start event for (invalid) {http://example.com}record
The expected start event should actually be http://example.com:record because this is what the distinguished root node is set to. The distinguished root node is set in this line of code: https://github.com/claudemamo/smooks-dfdl-cartridge/blob/daffodil-distinguishedRootNode-issue/src/main/java/org/smooks/cartridges/dfdl/DfdlSchema.java#L154. I've checked the release notes for Daffodil 3.5 and nothing stands out. The test case passes on Daffodil 3.4. Any advice on what the problem could be?