You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Michael Beckerle (JIRA)" <ji...@apache.org> on 2019/06/04 21:52:00 UTC
[jira] [Closed] (DAFFODIL-2141) namespace prefix definitions wrong
in parse result infoset
[ https://issues.apache.org/jira/browse/DAFFODIL-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Beckerle closed DAFFODIL-2141.
--------------------------------------
Resolution: Not A Bug
I thought I was running Daffodil, but I was running the IBM Cross test rig. The bug is theirs, not ours.
> namespace prefix definitions wrong in parse result infoset
> ----------------------------------------------------------
>
> Key: DAFFODIL-2141
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2141
> Project: Daffodil
> Issue Type: Bug
> Components: Back End
> Affects Versions: 2.4.0
> Reporter: Michael Beckerle
> Priority: Major
> Fix For: 2.4.0
>
>
> If you run the CSV example, the Infoset XML from parse looks like:
>
> {code:java}
> <file xmlns="http://example.com">
> <header xmlns="">
> <title>last</title>
> <title>first</title>
> <title>middle</title>
> <title>DOB</title>
> </header>
> <record>
> <item>smith</item>
> <item>robert</item>
> <item>brandon</item>
> <item>1988-03-24</item>
> </record>
> <record>
> <item>johnson</item>
> <item>john</item>
> <item>henry</item>
> <item>1986-01-23</item>
> </record>
> <record>
> <item>jones</item>
> <item>arya</item>
> <item>cat</item>
> <item>1986-02-19</item>
> </record>
> </file>
> {code}
> The above is simply wrong, because the elementFormDefault is 'unqualified', so the record element is a local element declaration in no namespace. The above sets the default no-prefix namespace to the example namespace, and that definition applies not to the header element, which overrides it, but to all the record elements and their children.
>
> This is simply incorrect. Every record element needs the same xmlns="" on it as well as the header element.
> A better output infoset would reuse the "ex" prefix definition from the CSV.dfdl.xsd schema and output this:
>
> {code:java}
> <ex:file xmlns:ex="http://example.com">
> <header>
> <title>last</title>
> <title>first</title>
> <title>middle</title>
> <title>DOB</title>
> </header>
> <record>
> <item>smith</item>
> <item>robert</item>
> <item>brandon</item>
> <item>1988-03-24</item>
> </record>
> <record>
> <item>johnson</item>
> <item>john</item>
> <item>henry</item>
> <item>1986-01-23</item>
> </record>
> <record>
> <item>jones</item>
> <item>arya</item>
> <item>cat</item>
> <item>1986-02-19</item>
> </record>
> </ex:file>
> {code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)