Message

If both delivery period start date and delivery period end date are given then the end date SHALL be later or equal to the start date.

Context
cac:PromisedDeliveryPeriod | cac:OrderLine/cac:LineItem/cac:PromisedDeliveryPeriod
Test
(exists(cbc:EndDate) and exists(cbc:StartDate) and (cbc:EndDate) >= (cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate))
Usage
/ ubl:OrderResponse / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:StartDate
/ ubl:OrderResponse / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:EndDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:StartDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:EndDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Price / cbc:PriceAmount / @currencyID
/ ubl:OrderResponse / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:StartDate
/ ubl:OrderResponse / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:EndDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:StartDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Delivery / cac:PromisedDeliveryPeriod / cbc:EndDate
/ ubl:OrderResponse / cac:OrderLine / cac:LineItem / cac:Price / cbc:PriceAmount / @currencyID