App-schema can't find types defined in imported schemas

Description

In order to create feature type mappings upon data store initialization, the app-schema extension parses the XML schemas listed in the mapping configuration file and builds a registry of all attribute, element and types defined there.

Normally, elements and types defined in imported schemas are automatically resolved and added to the registry; however, if a schema defines no element / type and thus makes no reference to the imported schemas other than the import itself (i.e. it is just a collector), the imported schemas are not resolved and the elements / types defined there are not added to the registry, which results in "element XXX not found" exceptions.

This problem has been reported by a user trying to map ELF addresses, and I personally experienced it trying to build a mapping based on GeoSciML 3.2 schemas (pointing to the main geosciml.xsd file, which imports all other schemas).

A test case demonstrating the issue can be found here.

Environment

None

Assignee

Stefano Costa

Reporter

Stefano Costa

Triage

None

Components

Fix versions

Priority

Medium
Configure