Even if it is used at lower levels, DocBook and Schema namespaces need to be declared at article level. This is linked to the fact that the first part of the generation program is reorganizing information based on XPath selections made from the top level. Therefore, it needs to understand these namespaces.
For now, local elements are not managed. Even if this is a serious limitation, it is a huge amount of work fore being able to manage it properly: graphics, IDs and documentation.
Namespace identification
As first element of sd:schemaDef, there is a need to declare all namespaces prefixes used within the documentation. This is an actual limitation of SchemaDoc: it enables to facilitate reference solving algorithms.