I have XML files that use an "outer" namespace which in turn imports an "inner" namespace.
If the "inner" namespace is declared as the default namespace via xmlns="...", code completion works fine in the "outer" and the "inner" part, e.g.:

However if the "inner" namespace is declared with a namespace prefix via xmlns:edm="...", code completion for constructs in the "outer" namespace also shows top-level elements from the "inner" namespace that are not allowed by the "outer" XSD in that place:

This effect only shows on "level 1", i.e. directly below the root element of the "outer" namespace, where no elements of the "inner" namespace are allowed at all.
On "level 2", i.e. within children of the root element, code completion works fine and only shows allowed elements.
Test project is attached: vscode-xml-catalog-test.zip
examples/mini-catalog.xml works as expected
examples/mini-catalog-prefix.xml has the above strange behavior in one place.
I have XML files that use an "outer" namespace which in turn imports an "inner" namespace.
If the "inner" namespace is declared as the default namespace via

xmlns="...", code completion works fine in the "outer" and the "inner" part, e.g.:However if the "inner" namespace is declared with a namespace prefix via

xmlns:edm="...", code completion for constructs in the "outer" namespace also shows top-level elements from the "inner" namespace that are not allowed by the "outer" XSD in that place:This effect only shows on "level 1", i.e. directly below the root element of the "outer" namespace, where no elements of the "inner" namespace are allowed at all.
On "level 2", i.e. within children of the root element, code completion works fine and only shows allowed elements.
Test project is attached: vscode-xml-catalog-test.zip
examples/mini-catalog.xmlworks as expectedexamples/mini-catalog-prefix.xmlhas the above strange behavior in one place.