Message

Value MUST be part of code list 'Currency codes (ISO 4217)'.

Context
/ubl:Order/cac:OrderLine/cac:LineItem/cac:Price/cac:AllowanceCharge/cbc:Amount
Test
not(@currencyID) or (some $code in $clISO4217 satisfies $code = @currencyID)
Code lists
Currency codes (ISO 4217)
Usage
/ ubl:Order / cac:OrderLine / cac:LineItem / cac:Price / cac:AllowanceCharge / cbc:Amount / @currencyID