Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.1.0
-
None
-
None
Description
In TDML, and most of our test files, tdml:defineSchema is used, and by default, for backward compatibility with earlier-authored tests, it creates a schema with elementFormDefault="qualified" and xmlns='http://example.com' as a default namespace, which is what the useDefaultNamespace attribute (which defaults to true) means.
Both of those are inverted from what they should be.
The preferred style for schemas is elementFormDefault 'unqualified', and to NOT assume any default namespaces (xmlns="....") unless it is explicitly setup by the test author on the tdml:testSuite or other element.
The use of default namespaces causes many subtle interactions that can make namespace-sensitive testing hard to debug.
Changing the defaults here will break several tests. At one point changing just useDefaultNamespace to 'false' was measured as causing 81 test failures, though they are concentrated in just a few test files.