The schematron business rules require some optional elements to be present when a different element assumes a particular value. For example, in rack, azimuth is optional (minOccurs="0") but is required when rack_type='fixed_tilt'. Element documentation should explain when an element is conditionally required.