Submission only takes namespaces from specific elements: instance, model and main document node. So any namespaces declared in between are not included.
It must be possible to ask the document for all namespaces visible at a certain node instead of the specific copying we are doing now.
Created attachment 215118 [details]
"It must be possible to ask the document for all namespaces visible at a certain
node instead of the specific copying we are doing now."
When I wrote the code, I couldn't figure out how to do that. smaug might know more :)
It seems that transformiix does not keep namespaces declarations done at root level, it only dumps namespaces which will be actually used in the resulting XML.
That is a problem when trying to transform schemas, as namespaces which are declared sometimes refer to element declarations like <xsd:element name="foo:bar"/>.
The namespace foo is not used in the markups of the schemas, but it has to be kept in the resulting XML.
As far as I know, the attachment does not even describe the actual behaviour. Other XSLT processors keep the namespaces declared at root level.