I have an xsd-based DITA map and a schematron file with rules evaluating the class attribute. So, obviously, the default attributes need to be expanded before validation.

To validate a single topic I have to enable the option "Use Saxon EE (schema aware) ...". Otherwise my rules don't hit anything.

When validating the whole DITA map (using the "Validate and Check for Completeness" from the Map Manager) using the same schematron file and with the same options I get errors for invalid content within my topics - probably because Saxon uses the map schema instead of the schema assigned to the topic.

When validating the map after disabling the option "Use Saxon EE (schema aware) ..." it works fine - probably in this case the attribute defaults are already expanded by the xml reader.

Is there any way to do both validations without having to change the options?

I have this problem with oXygen 18.1. (Didn't install 19.0, yet)

BTW: Expanding the attribute defaults by the xml reader for single file validation would possibly be a good solution. This might also solve another issue that the automatic validation sometimes reports schema errors after switching files due to using thw wrong schema from chache.

Just to update this forum thread, when using a Schematron schema in the "Validate and check for completeness" action with the checkbox Use Saxon EE for xslt2/xslt3 query language binding checked in the Oxygen Preferences, if the DITA maps and topics referred to XML Schemas, the first encountered XML Schema was cached in the Schematron error reporter and it triggered invalid errors to be reported for the other topics referenced in the DITA Map.This will probably be fixed in Oxygen 19.1 (Autumn 2017).