Message

currencyID MUST be coded using ISO code list 4217 alpha-3

Context
cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount
Test
((not(contains(normalize-space(@currencyID), ' ')) and contains(' AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN BHD BIF BMD BND BOB BOV BRL BSD BTN BWP BYN BZD CAD CDF CHE CHF CHW CLF CLP CNY COP COU CRC CUC CUP CVE CZK DJF DKK DOP DZD EGP ERN ETB EUR FJD FKP GBP GEL GHS GIP GMD GNF GTQ GYD HKD HNL HRK HTG HUF IDR ILS INR IQD IRR ISK JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK LBP LKR LRD LSL LYD MAD MDL MGA MKD MMK MNT MOP MRO MUR MVR MWK MXN MXV MYR MZN NAD NGN NIO NOK NPR NZD OMR PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD SCR SDG SEK SGD SHP SLE SOS SRD SSP STD SVC SYP SZL THB TJS TMT TND TOP TRY TTD TWD TZS UAH UGX USD USN UYI UYU UZS VEF VND VUV WST XAF XAG XAU XBA XBB XBC XBD XCD XDR XOF XPD XPF XPT XSU XTS XUA XXX YER ZAR ZMW ZWL ', concat(' ', normalize-space(@currencyID), ' '))))
Usage
/ ubl:Invoice / cac:AllowanceCharge / cbc:Amount
/ ubl:Invoice / cac:AllowanceCharge / cbc:BaseAmount
/ ubl:Invoice / cac:TaxTotal / cbc:TaxAmount
/ ubl:Invoice / cac:TaxTotal / cac:TaxSubtotal / cbc:TaxableAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:LineExtensionAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:TaxExclusiveAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:TaxInclusiveAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:AllowanceTotalAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:ChargeTotalAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:PrepaidAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:PayableRoundingAmount
/ ubl:Invoice / cac:LegalMonetaryTotal / cbc:PayableAmount
/ ubl:Invoice / cac:InvoiceLine / cbc:LineExtensionAmount
/ ubl:Invoice / cac:InvoiceLine / cac:AllowanceCharge / cbc:Amount
/ ubl:Invoice / cac:InvoiceLine / cac:AllowanceCharge / cbc:BaseAmount
/ ubl:Invoice / cac:InvoiceLine / cac:Price / cbc:PriceAmount
/ ubl:Invoice / cac:InvoiceLine / cac:Price / cac:AllowanceCharge / cbc:Amount / @currencyID
/ ubl:Invoice / cac:InvoiceLine / cac:Price / cac:AllowanceCharge / cbc:BaseAmount
/ ubl:CreditNote / cac:AllowanceCharge / cbc:Amount
/ ubl:CreditNote / cac:AllowanceCharge / cbc:BaseAmount
/ ubl:CreditNote / cac:TaxTotal / cbc:TaxAmount
/ ubl:CreditNote / cac:TaxTotal / cac:TaxSubtotal / cbc:TaxableAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:LineExtensionAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:TaxExclusiveAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:TaxInclusiveAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:AllowanceTotalAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:ChargeTotalAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:PrepaidAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:PayableRoundingAmount
/ ubl:CreditNote / cac:LegalMonetaryTotal / cbc:PayableAmount
/ ubl:CreditNote / cac:CreditNoteLine / cbc:LineExtensionAmount
/ ubl:CreditNote / cac:CreditNoteLine / cac:AllowanceCharge / cbc:Amount
/ ubl:CreditNote / cac:CreditNoteLine / cac:AllowanceCharge / cbc:BaseAmount
/ ubl:CreditNote / cac:CreditNoteLine / cac:Price / cbc:PriceAmount
/ ubl:CreditNote / cac:CreditNoteLine / cac:Price / cac:AllowanceCharge / cbc:Amount / @currencyID
/ ubl:CreditNote / cac:CreditNoteLine / cac:Price / cac:AllowanceCharge / cbc:BaseAmount