forked from apache/daffodil
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use targetNamespace when resolving global references without a namesp…
…ace prefix or default namespace When resolving global references (e.g. global element declaration, complex types, DFDL variables, DFDL formats), if the QName does not have a prefix then we currently use the default namespace (i.e. xmlns="...") when resolving the reference. And if the schema does not define a default namespace then we just assume NoNamespace. This works fine except when a schema with a targetNamespace includes a schema with no targetNamespace and default namespace. In that case, resolving global references in the included schema must use the targetNamespace of the including schema because all the global components have been chameleoned into a different namespace. To fix this, we now pass around targetNamespace to a number of places where resolving a global reference might be done (which is a lot of places), and use that targetNamespace when resolving a QName without a prefix and no default namespace. Note that the logic to resolve defineFormat references already did something similar using its custom "adjustNamespace" logic. This is removed so all global references use the same logic when resolving references--no post-resolution adjustment is needed. A number of functions were refactored a bit to make the logic and style more consistent, making it easier to see where logic differed. Some unused functions were discovered and removed. DAFFODIL-2916
- Loading branch information
1 parent
97ea8f7
commit 2590f54
Showing
33 changed files
with
434 additions
and
173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.