Details
-
Bug
-
Resolution: Fixed
-
Blocking
-
1.1.0
-
None
Description
Daffodil is too strict about requiring namespace prefixes within DFDL expressions.
This comes up in the NACHA DFDLSchemas schema, where we had to modify it to put namespace prefixes on path steps to get it to work. These prefixes should not be required because there is a default namespace.
If an element has form="qualified", then a path referring to it must have a namespace. But it should be able to infer this namespace from a prefix, or from the default namespace of the schema.
To illustrate: Within an XML Schema, another place where paths appear is in xs:unique constraints. There, the path steps are interpreted relative to the default namespace of the schema file, so prefixes aren't necessarily needed.
(At least according to xmllint - which is a command line version of libxml2)
The attached files show a unique constraint, and the multi-step path within it does not require that there be a prefix when there is a default namespace definition that matches the target namespace.
Daffodil should similarly interpret path steps by taking them as in the default namespace if they are not prefixed. If no default namespace is defined; however, then they don't have a namespace and will only match against an unqualified element name.