Constant dmntk_examples::DMN_3_0014

source ·
pub const DMN_3_0014: &str = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<definitions namespace=\"https://github.com/dmn-tck/tck\"\n             name=\"compliance-level-3-test-0014\"\n             id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719\"\n             xmlns=\"https://www.omg.org/spec/DMN/20191111/MODEL/\"\n             xmlns:di=\"http://www.omg.org/spec/DMN/20180521/DI/\"\n             xmlns:dmndi=\"https://www.omg.org/spec/DMN/20191111/DMNDI/\"\n             xmlns:dc=\"http://www.omg.org/spec/DMN/20180521/DC/\">\n    <itemDefinition name=\"tLoanProduct\" label=\"tLoanProduct\">\n        <itemComponent name=\"lenderName\" id=\"_e4e050fd-9198-4b62-8f99-15cb2a0a2373\">\n            <typeRef>string</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rate\" id=\"_dc34919e-c7d1-4aab-b6d1-4be1174f6fd2\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"points\" id=\"_9ca2f88a-3845-4b8d-864f-b86718eaa54d\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"fee\" id=\"_5b870440-9692-4e81-959f-f2347c1768c9\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n    </itemDefinition>\n    <itemDefinition isCollection=\"true\" name=\"tLoanTable\" label=\"tLoanTable\">\n        <typeRef>tLoanProduct</typeRef>\n    </itemDefinition>\n    <itemDefinition name=\"tMetric\" label=\"tMetric\">\n        <itemComponent name=\"lenderName\" id=\"_59994d58-3220-4cc6-8d91-783a008ac472\">\n            <typeRef>string</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rate\" id=\"_63d8c69d-2431-43f5-bfa3-a014a6d2363e\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"points\" id=\"_be9eaeb3-8d52-4d99-9d0a-325c15fa6b74\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"fee\" id=\"_2a9fe07c-d72b-4f8b-9995-e1b194dd5aa9\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"loanAmt\" id=\"_333f9092-d8a7-4e75-973d-82f30569e432\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"downPmtAmt\" id=\"_790093df-4886-405a-8ad6-34de25812bdc\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"paymentAmt\" id=\"_8f37cdc9-ff7a-4b8c-8849-c0b6a6cbb960\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n        <itemComponent name=\"equity36moPct\" id=\"_3f4568e7-be52-4ce2-8704-be14aa6cd1d5\">\n            <typeRef>number</typeRef>\n        </itemComponent>\n    </itemDefinition>\n    <itemDefinition isCollection=\"true\" name=\"tMetrics\" label=\"tMetrics\">\n        <typeRef>tMetric</typeRef>\n    </itemDefinition>\n    <itemDefinition name=\"tRankedProducts\" label=\"tRankedProducts\">\n        <itemComponent name=\"metricsTable\" id=\"_0ee333d1-03fc-4a77-8798-d0b351a19a36\">\n            <typeRef>tMetrics</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rankByRate\" id=\"_f0790a52-d95d-466a-bc51-5766c046c717\">\n            <typeRef>tMetrics</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rankByDownPmt\" id=\"_d54127c6-8418-45df-89da-2f84bedae37c\">\n            <typeRef>tMetrics</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rankByMonthlyPmt\" id=\"_7f98fed9-552a-4b57-99de-495cb96e8484\">\n            <typeRef>tMetrics</typeRef>\n        </itemComponent>\n        <itemComponent name=\"rankByEquityPct\" id=\"_897183a6-2ca8-4437-b21d-8ba90555a9e0\">\n            <typeRef>tMetrics</typeRef>\n        </itemComponent>\n    </itemDefinition>\n    <decision name=\"Bankrates\" id=\"_c5dd7a17-b588-4daf-8c9b-677e65ce87be\">\n        <variable typeRef=\"tLoanTable\" name=\"Bankrates\"/>\n        <relation>\n            <column name=\"lenderName\" typeRef=\"string\" id=\"_23af7b70-cc60-4d84-8e5f-60d5a4ebfe86\"/>\n            <column name=\"rate\" typeRef=\"number\" id=\"_11fb4b39-53a6-4670-90c7-7f1b21bf3936\"/>\n            <column name=\"points\" typeRef=\"number\" id=\"_505d19fa-b5b3-4adc-8aca-5ecc1b58d4f5\"/>\n            <column name=\"fee\" typeRef=\"number\" id=\"_e9ed23a8-88c6-4cb0-a1f3-2a895999ef06\"/>\n            <row id=\"_bc21b674-23cc-440d-b505-32d5f799e281\">\n                <literalExpression>\n                    <text>\"Oceans Capital\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03500</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0</text>\n                </literalExpression>\n            </row>\n            <row id=\"_6f3eb485-dddc-40f0-a153-8c989dc4b68d\">\n                <literalExpression>\n                    <text>\"eClick Lending\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03200</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>2700</text>\n                </literalExpression>\n            </row>\n            <row id=\"_36362bb9-5cd1-4b55-8ce2-a8cf02f6bed0\">\n                <literalExpression>\n                    <text>\"eClickLending\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03375</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1200</text>\n                </literalExpression>\n            </row>\n            <row id=\"_922a8c6b-2bf0-4453-b1d2-1242c5527dce\">\n                <literalExpression>\n                    <text>\"AimLoan\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03000</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>3966</text>\n                </literalExpression>\n            </row>\n            <row id=\"_72d72621-d6aa-4c78-a6ee-b0086b27ea3a\">\n                <literalExpression>\n                    <text>\"Home Loans Today\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03125</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>285</text>\n                </literalExpression>\n            </row>\n            <row id=\"_4fd60510-7767-4cd9-9f5e-9783b9e6f688\">\n                <literalExpression>\n                    <text>\"Sebonic\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03125</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>4028</text>\n                </literalExpression>\n            </row>\n            <row id=\"_4a2aca46-7331-445b-b378-beb0a4b7064f\">\n                <literalExpression>\n                    <text>\"AimLoan\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03125</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>4317</text>\n                </literalExpression>\n            </row>\n            <row id=\"_3b1b71e2-7084-4869-bb08-52d5ad2bcf1e\">\n                <literalExpression>\n                    <text>\"eRates Mortgage\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03125</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>2518</text>\n                </literalExpression>\n            </row>\n            <row id=\"_d0e4ef04-9127-4931-b802-a0d4128a78c9\">\n                <literalExpression>\n                    <text>\"Home Loans Today\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03250</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0.1</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>822</text>\n                </literalExpression>\n            </row>\n            <row id=\"_a254dd15-1c62-4f4f-9ce2-83f6bfbcb487\">\n                <literalExpression>\n                    <text>\"AimLoan\"</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>.03250</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>0</text>\n                </literalExpression>\n                <literalExpression>\n                    <text>1995</text>\n                </literalExpression>\n            </row>\n        </relation>\n    </decision>\n    <inputData name=\"RequestedAmt\" id=\"_67c50a4c-3002-4d0a-9acf-4c76cb0364fa\">\n        <variable typeRef=\"number\" name=\"RequestedAmt\"/>\n    </inputData>\n    <decision name=\"RankedProducts\" id=\"_715940be-0f5d-4701-8155-fcba85874aa1\">\n        <variable typeRef=\"tRankedProducts\" name=\"RankedProducts\"/>\n        <informationRequirement id=\"_43e49786-488c-468a-8fdf-c89b86a3df7b\">\n            <requiredInput href=\"#_67c50a4c-3002-4d0a-9acf-4c76cb0364fa\"/>\n        </informationRequirement>\n        <informationRequirement id=\"b8cf7372-c655-4529-9e27-c9c67cfd61c9\">\n            <requiredDecision href=\"#_c5dd7a17-b588-4daf-8c9b-677e65ce87be\"/>\n        </informationRequirement>\n        <knowledgeRequirement id=\"_111fdf59-f689-4263-8684-f4f1443bce48\">\n            <requiredKnowledge href=\"#_83059f2e-2862-45a9-97a7-71ffaa860586\"/>\n        </knowledgeRequirement>\n        <context>\n            <contextEntry>\n                <variable typeRef=\"tMetrics\" name=\"metricsTable\"/>\n                <literalExpression>\n                    <text>for i in Bankrates return FinancialMetrics(i,RequestedAmt)</text>\n                </literalExpression>\n            </contextEntry>\n            <contextEntry>\n                <variable typeRef=\"tMetrics\" name=\"rankByRate\"/>\n                <literalExpression>\n                    <text>sort(metricsTable, function(x,y) x.rate&lt;y.rate)</text>\n                </literalExpression>\n            </contextEntry>\n            <contextEntry>\n                <variable typeRef=\"tMetrics\" name=\"rankByDownPmt\"/>\n                <literalExpression>\n                    <text>sort(metricsTable, function(x,y) x.downPmtAmt&lt;y.downPmtAmt)</text>\n                </literalExpression>\n            </contextEntry>\n            <contextEntry>\n                <variable typeRef=\"tMetrics\" name=\"rankByMonthlyPmt\"/>\n                <literalExpression>\n                    <text>sort(metricsTable, function(x,y) x.paymentAmt&lt;y.paymentAmt)</text>\n                </literalExpression>\n            </contextEntry>\n            <contextEntry>\n                <variable typeRef=\"tMetrics\" name=\"rankByEquityPct\"/>\n                <literalExpression>\n                    <text>sort(metricsTable, function(x,y) x.equity36moPct&gt;y.equity36moPct)</text>\n                </literalExpression>\n            </contextEntry>\n        </context>\n    </decision>\n    <businessKnowledgeModel name=\"FinancialMetrics\" id=\"_83059f2e-2862-45a9-97a7-71ffaa860586\">\n        <variable typeRef=\"tMetric\" name=\"FinancialMetrics\"/>\n        <encapsulatedLogic>\n            <formalParameter typeRef=\"tLoanProduct\" name=\"product\"/>\n            <formalParameter typeRef=\"number\" name=\"requestedAmt\"/>\n            <context typeRef=\"tMetric\">\n                <contextEntry>\n                    <variable typeRef=\"string\" name=\"lenderName\"/>\n                    <literalExpression>\n                        <text>product.lenderName</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"rate\"/>\n                    <literalExpression>\n                        <text>product.rate</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"points\"/>\n                    <literalExpression>\n                        <text>product.points</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"fee\"/>\n                    <literalExpression>\n                        <text>product.fee</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"loanAmt\"/>\n                    <literalExpression>\n                        <text>requestedAmt*(1+points/100)+fee</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"downPmtAmt\"/>\n                    <literalExpression>\n                        <text>0.2*loanAmt</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"paymentAmt\"/>\n                    <literalExpression>\n                        <text>monthlyPayment(loanAmt,rate,360)</text>\n                    </literalExpression>\n                </contextEntry>\n                <contextEntry>\n                    <variable typeRef=\"number\" name=\"equity36moPct\"/>\n                    <literalExpression>\n                        <text>1 - equity36Mo(loanAmt,rate,36,paymentAmt)/requestedAmt*0.8</text>\n                    </literalExpression>\n                </contextEntry>\n            </context>\n        </encapsulatedLogic>\n        <knowledgeRequirement id=\"_8467995b-a9f6-4bad-b3ba-f242d29754d3\">\n            <requiredKnowledge href=\"#_8702e1b6-213b-4f75-bf56-99ac3835cde7\"/>\n        </knowledgeRequirement>\n        <knowledgeRequirement id=\"_2db0c116-2a9e-4360-9f2c-2bdfe2ef69c3\">\n            <requiredKnowledge href=\"#_daec318a-135b-4d54-9e7f-85af3aa662f7\"/>\n        </knowledgeRequirement>\n    </businessKnowledgeModel>\n    <businessKnowledgeModel name=\"monthlyPayment\" id=\"_8702e1b6-213b-4f75-bf56-99ac3835cde7\">\n        <variable typeRef=\"number\" name=\"monthlyPayment\"/>\n        <encapsulatedLogic>\n            <formalParameter typeRef=\"number\" name=\"p\"/>\n            <formalParameter typeRef=\"number\" name=\"r\"/>\n            <formalParameter typeRef=\"number\" name=\"n\"/>\n            <literalExpression typeRef=\"number\">\n                <text>p*r/12/(1-(1+r/12)**-n)</text>\n            </literalExpression>\n        </encapsulatedLogic>\n    </businessKnowledgeModel>\n    <businessKnowledgeModel name=\"equity36Mo\" id=\"_daec318a-135b-4d54-9e7f-85af3aa662f7\">\n        <variable typeRef=\"number\" name=\"equity36Mo\"/>\n        <encapsulatedLogic>\n            <formalParameter typeRef=\"number\" name=\"p\"/>\n            <formalParameter typeRef=\"number\" name=\"r\"/>\n            <formalParameter typeRef=\"number\" name=\"n\"/>\n            <formalParameter typeRef=\"number\" name=\"pmt\"/>\n            <literalExpression typeRef=\"number\">\n                <text>p*(1+r/12)**n - pmt*(-1+(1+r/12)**n)/r</text>\n            </literalExpression>\n        </encapsulatedLogic>\n    </businessKnowledgeModel>\n    <dmndi:DMNDI>\n        <dmndi:DMNDiagram id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_D1\">\n            <dmndi:Size height=\"723.0\" width=\"881.0\"/>\n            <dmndi:DMNShape dmnElementRef=\"_c5dd7a17-b588-4daf-8c9b-677e65ce87be\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s1\">\n                <dc:Bounds height=\"61.0\" width=\"154.0\" x=\"150.0\" y=\"331.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNShape dmnElementRef=\"_67c50a4c-3002-4d0a-9acf-4c76cb0364fa\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s2\">\n                <dc:Bounds height=\"60.0\" width=\"153.0\" x=\"578.0\" y=\"331.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNShape dmnElementRef=\"_715940be-0f5d-4701-8155-fcba85874aa1\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s3\">\n                <dc:Bounds height=\"61.0\" width=\"154.0\" x=\"364.0\" y=\"150.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNShape dmnElementRef=\"_83059f2e-2862-45a9-97a7-71ffaa860586\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s4\">\n                <dc:Bounds height=\"61.0\" width=\"154.0\" x=\"364.0\" y=\"331.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNShape dmnElementRef=\"_8702e1b6-213b-4f75-bf56-99ac3835cde7\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s5\">\n                <dc:Bounds height=\"61.0\" width=\"154.0\" x=\"257.0\" y=\"512.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNShape dmnElementRef=\"_daec318a-135b-4d54-9e7f-85af3aa662f7\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_s6\">\n                <dc:Bounds height=\"61.0\" width=\"154.0\" x=\"471.0\" y=\"512.0\"/>\n            </dmndi:DMNShape>\n            <dmndi:DMNEdge dmnElementRef=\"_111fdf59-f689-4263-8684-f4f1443bce48\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_e1\">\n                <di:waypoint x=\"441.0\" y=\"331.0\"/>\n                <di:waypoint x=\"441.0\" y=\"211.0\"/>\n            </dmndi:DMNEdge>\n            <dmndi:DMNEdge dmnElementRef=\"_43e49786-488c-468a-8fdf-c89b86a3df7b\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_e2\">\n                <di:waypoint x=\"654.0\" y=\"331.0\"/>\n                <di:waypoint x=\"441.0\" y=\"211.0\"/>\n            </dmndi:DMNEdge>\n            <dmndi:DMNEdge dmnElementRef=\"b8cf7372-c655-4529-9e27-c9c67cfd61c9\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_e3\">\n                <di:waypoint x=\"227.0\" y=\"331.0\"/>\n                <di:waypoint x=\"441.0\" y=\"211.0\"/>\n            </dmndi:DMNEdge>\n            <dmndi:DMNEdge dmnElementRef=\"_8467995b-a9f6-4bad-b3ba-f242d29754d3\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_e4\">\n                <di:waypoint x=\"334.0\" y=\"512.0\"/>\n                <di:waypoint x=\"441.0\" y=\"392.0\"/>\n            </dmndi:DMNEdge>\n            <dmndi:DMNEdge dmnElementRef=\"_2db0c116-2a9e-4360-9f2c-2bdfe2ef69c3\" id=\"_56c7d4a5-e6db-4bba-ac5f-dc082a16f719_e5\">\n                <di:waypoint x=\"548.0\" y=\"512.0\"/>\n                <di:waypoint x=\"441.0\" y=\"392.0\"/>\n            </dmndi:DMNEdge>\n        </dmndi:DMNDiagram>\n    </dmndi:DMNDI>\n</definitions>";