Saxon supports Conditional Type Assignment, with the exception of the subsumption rules that check whether one type that uses CTA is a valid restriction of another type that uses CTA.
The full syntax of XPath 2.0 can be used.
Next