MX Message Rule Example

An example of the MX message rule is provided for your reference.

<MESSAGE TYPE="setr.001.001.04" NAME="RedemptionBulkOrderV04">
<RULE NAME="C3" EXPRESSION="ActiveCurrencyRule()" XPATH="//*/@Ccy | //ReqdSttlmCcy"
ERRORTEXT="Invalid currency code" ERRORCODE="D00005"/>
<RULE NAME="C4" EXPRESSION="ActiveOrHistoricCurrencyRule()" XPATH="//*/@Ccy | //UnitCcy |
//ReqdNAVCcy | //QtdCcy" ERRORTEXT="Invalid currency code" ERRORCODE="D00006"/>
<RULE NAME="C5" EXPRESSION="AnyBICRule()" XPATH="//BICOrBEI | //Pty" ERRORTEXT="Invalid
BIC" ERRORCODE="D00008"/>
<RULE NAME="C6" EXPRESSION="BICFIRule()" XPATH="//BICFI" ERRORTEXT="Invalid FI BIC."
ERRORCODE="D00001"/>
<RULE NAME="C8" EXPRESSION="CountryRule()" XPATH="//Ctry | //DmstIdSrc" ERRORTEXT="Invalid
Country Code" ERRORCODE="D00004"/>
<RULE NAME="C9" EXPRESSION="CurrencyAmountRule()" XPATH="//*/@Ccy" ERRORTEXT="Invalid
currency code or too many decimal digits" ERRORCODE="D00007"/>
<RULE NAME="C10" EXPRESSION="CurrencyAmountRule()" XPATH="//*/@Ccy" ERRORTEXT="Invalid
currency code or too many decimal digits" ERRORCODE="D00007"/>
<RULE NAME="C12" EXPRESSION="spec2016.DeliverersIntermediary1DetailsRule()"
ERRORTEXT="DeliverersIntermediary1Details must be present." ERRORCODE="X00395">
<PARAM NAME="Parent" XPATH="//DlvrgSdDtls"/>
<PARAM NAME="DlvrrsIntrmy1Dtls" XPATH="//DlvrrsIntrmy1Dtls"/>
<PARAM NAME="DlvrrsIntrmy2Dtls" XPATH="//DlvrrsIntrmy2Dtls"/>
</RULE>
<RULE NAME="C13" EXPRESSION="spec2017.DiscountElementRule()" ERRORTEXT="Amount Or Rate Or
Basis must be present." ERRORCODE="X00410">
<PARAM NAME="Parent" XPATH="//DscntDtls"/>
<PARAM NAME="Amt" XPATH="//Amt"/>
<PARAM NAME="Rate" XPATH="//Rate"/>
<PARAM NAME="Bsis" XPATH="//Bsis"/>
</RULE>
<RULE NAME="C17" EXPRESSION="IBANRule()" XPATH="//IBAN" ERRORTEXT="Invalid IBAN format or
invalid check digits" ERRORCODE="D00003"/>
<RULE NAME="C23" EXPRESSION="spec2017.PhysicalDeliveryDetails1Rule()"
ERRORTEXT="PhysicalDeliveryDetails is not allowed." ERRORCODE=" X00396">
<PARAM NAME="Parent" XPATH="//IndvOrdrDtls"/>
<PARAM NAME="PhysDlvryInd" XPATH="//PhysDlvryInd"/>
<PARAM NAME="PhysDlvryDtls" XPATH="//PhysDlvryDtls"/>
</RULE>
<RULE NAME="C24" EXPRESSION="spec2017.PhysicalDeliveryDetails2Rule()"
ERRORTEXT="PhysicalDeliveryDetails must be present." ERRORCODE="X00397">
<PARAM NAME="Parent" XPATH="//IndvOrdrDtls"/>
<PARAM NAME="PhysDlvryInd" XPATH="//PhysDlvryInd"/>
<PARAM NAME="PhysDlvryDtls" XPATH="//PhysDlvryDtls"/>
</RULE>
<RULE NAME="C26" EXPRESSION="spec2016.ReceiversIntermediary1DetailsRule()"
ERRORTEXT="ReceiversIntermediary1Details must be present." ERRORCODE="X00378">
<PARAM NAME="Parent" XPATH="//RcvgSdDtls"/>
<PARAM NAME="RcvrsIntrmy1Dtls" XPATH="//RcvrsIntrmy1Dtls"/>
<PARAM NAME="RcvrsIntrmy2Dtls" XPATH="//RcvrsIntrmy2Dtls"/>
</RULE>
</MESSAGE>