xmlutils 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README.md +77 -0
  6. data/bin/xmltogdl +88 -0
  7. data/docs/README.txt +20 -0
  8. data/lib/xmlutils/contextlistener.rb +432 -0
  9. data/lib/xmlutils/contextparser.rb +111 -0
  10. data/lib/xmlutils/dumplistener.rb +57 -0
  11. data/lib/xmlutils/gdlcontext.rb +305 -0
  12. data/lib/xmlutils/gdlcontextobjs.rb +286 -0
  13. data/lib/xmlutils/gdldoc.rb +547 -0
  14. data/lib/xmlutils/gdldocbuilder.rb +181 -0
  15. data/lib/xmlutils/gdllistener.rb +265 -0
  16. data/lib/xmlutils/gdltemplate.rb +488 -0
  17. data/lib/xmlutils/lineparser.rb +193 -0
  18. data/lib/xmlutils/listener.rb +459 -0
  19. data/lib/xmlutils/rulelistener.rb +414 -0
  20. data/lib/xmlutils/ruleparser.rb +112 -0
  21. data/lib/xmlutils/varlistener.rb +86 -0
  22. data/lib/xmlutils/version.rb +5 -0
  23. data/lib/xmlutils/xmlrulevisitor.rb +704 -0
  24. data/lib/xmlutils/xmltogdlcontroller.rb +93 -0
  25. data/lib/xmlutils/xmltogdltask.rb +23 -0
  26. data/lib/xmlutils/xmlvisitor.rb +690 -0
  27. data/lib/xmlutils.rb +40 -0
  28. data/rakefile.rb +34 -0
  29. data/unittests/2830.xml +1 -0
  30. data/unittests/chunks.rb +31 -0
  31. data/unittests/curDirTest.rb +2 -0
  32. data/unittests/data/2830-GENERATED.gdl +309 -0
  33. data/unittests/data/2830-GENERATED.xml +1 -0
  34. data/unittests/data/AUGuideline.xml +12 -0
  35. data/unittests/data/AUGuideline.xml.gdl +19190 -0
  36. data/unittests/data/BAKUP.DCTEST1.xml +1 -0
  37. data/unittests/data/DCTEST.xml +1 -0
  38. data/unittests/data/DCTEST1.xml +1 -0
  39. data/unittests/data/DCTEST1.xml.gdl +14890 -0
  40. data/unittests/data/DCTEST1.xml.rename.csv +180 -0
  41. data/unittests/data/DCTEST1wLookups.xml +174 -0
  42. data/unittests/data/DCTEST1wLookups.xml.gdl +127 -0
  43. data/unittests/data/GENERATED.gdl.xml +1 -0
  44. data/unittests/data/Message.xml +1 -0
  45. data/unittests/data/Message.xml.gdl +142 -0
  46. data/unittests/data/Pricing2ndGuideline.xml +1 -0
  47. data/unittests/data/Pricing2ndGuideline.xml.gdl +52670 -0
  48. data/unittests/data/Z-TEMP-Jeff.xml +1 -0
  49. data/unittests/data/Z-TEMP-Jeff.xml.gdl +288 -0
  50. data/unittests/tc_convert_xml_to_gdl.rb +23 -0
  51. data/unittests/ts_allTests.rb +2 -0
  52. data/xmlutils.gemspec +25 -0
  53. metadata +139 -0
@@ -0,0 +1,180 @@
1
+ rule,AltA-6 Mo Reserves,AltA-6MoReserves
2
+ rule,ALTA-Base Rate 1st,ALTA-BaseRate1st
3
+ rule,AltA-Final Max Price 1st BRO Rule 1,AltA-FinalMaxPrice1stBRORule1
4
+ rule,AltA-Final Max Price 1st BRO Rule 2,AltA-FinalMaxPrice1stBRORule2
5
+ rule,AltA-Final Max Price 1st BRO Rule 3,AltA-FinalMaxPrice1stBRORule3
6
+ rule,AltA-Final Max Price 1st COR Rule 1,AltA-FinalMaxPrice1stCORRule1
7
+ rule,AltA-Final Max Price 1st COR Rule 2,AltA-FinalMaxPrice1stCORRule2
8
+ rule,AltA-Final Max Price 1st COR Rule 3,AltA-FinalMaxPrice1stCORRule3
9
+ rule,AltA-Final Price 1st Comparison Rule 1,AltA-FinalPrice1stComparisonRule1
10
+ rule,AltA-Final Price 1st Comparison Rule 2,AltA-FinalPrice1stComparisonRule2
11
+ rule,AltA-Final Price Adj 1st,AltA-FinalPriceAdj1st
12
+ rule,AltA-GetPriceAdjs BRO T1,AltA-GetPriceAdjsBROT1
13
+ rule,AltA-GetPriceAdjs BRO T1-SubF,AltA-GetPriceAdjsBROT1-SubF
14
+ rule,AltA-GetPriceAdjs COR T1,AltA-GetPriceAdjsCORT1
15
+ rule,AltA-GetPriceAdjs COR T1-SubF,AltA-GetPriceAdjsCORT1-SubF
16
+ rule,AltA-GetPriceAdjs RTN T1,AltA-GetPriceAdjsRTNT1
17
+ rule,AltA-GetPriceAdjs RTN T1-SubF,AltA-GetPriceAdjsRTNT1-SubF
18
+ rule,AltA-Max DTI PI Calc 1,AltA-MaxDTIPICalc1
19
+ rule,AltA-Max DTI PI Calc 2,AltA-MaxDTIPICalc2
20
+ rule,AltA-Max DTI PI Calc 3,AltA-MaxDTIPICalc3
21
+ rule,AltA-Max Pymt Shock PI Calc 1,AltA-MaxPymtShockPICalc1
22
+ rule,AltA-Max Pymt Shock PI Calc 2,AltA-MaxPymtShockPICalc2
23
+ rule,AltA-Max Pymt Shock PI Calc 3,AltA-MaxPymtShockPICalc3
24
+ rule,AltA-MaxPrice1mmLnAmt BRO,AltA-MaxPrice1mmLnAmtBRO
25
+ rule,AltA-MaxPrice1mmLnAmt COR,AltA-MaxPrice1mmLnAmtCOR
26
+ rule,AltA-MaxPrice1mmLnAmt RTN,AltA-MaxPrice1mmLnAmtRTN
27
+ rule,AltA-MaxPrice1st BRO T1,AltA-MaxPrice1stBROT1
28
+ rule,AltA-MaxPrice1st COR T1,AltA-MaxPrice1stCORT1
29
+ rule,AltA-MaxPrice1st RTN T1,AltA-MaxPrice1stRTNT1
30
+ rule,AltA-No MI Flag Set Rule,AltA-NoMIFlagSetRule
31
+ rule,AltA-Payment Shock Calc 1,AltA-PaymentShockCalc1
32
+ rule,AltA-Payment Shock Calc 2,AltA-PaymentShockCalc2
33
+ rule,AltA-Payment Shock Calc 3,AltA-PaymentShockCalc3
34
+ rule,AltA-PriceAdj 40due30 BRO T1,AltA-PriceAdj40due30BROT1
35
+ rule,AltA-PriceAdj 40due30 BRO T1-SubF,AltA-PriceAdj40due30BROT1-SubF
36
+ rule,AltA-PriceAdj 40due30 COR T1,AltA-PriceAdj40due30CORT1
37
+ rule,AltA-PriceAdj 40due30 COR T1-SubF,AltA-PriceAdj40due30CORT1-SubF
38
+ rule,AltA-PriceAdj 40due30 RTN T1,AltA-PriceAdj40due30RTNT1
39
+ rule,AltA-PriceAdj 40due30 RTN T1-SubF,AltA-PriceAdj40due30RTNT1-SubF
40
+ rule,AltA-PriceAdj DocType LT660 BRO T1,AltA-PriceAdjDocTypeLT660BROT1
41
+ rule,AltA-PriceAdj DocType LT660 BRO T1-SubF,AltA-PriceAdjDocTypeLT660BROT1-SubF
42
+ rule,AltA-PriceAdj DocType LT660 COR T1,AltA-PriceAdjDocTypeLT660CORT1
43
+ rule,AltA-PriceAdj DocType LT660 COR T1-SubF,AltA-PriceAdjDocTypeLT660CORT1-SubF
44
+ rule,AltA-PriceAdj DocType LT660 RTN T1,AltA-PriceAdjDocTypeLT660RTNT1
45
+ rule,AltA-PriceAdj DocType LT660 RTN T1-SubF,AltA-PriceAdjDocTypeLT660RTNT1-SubF
46
+ rule,AltA-PriceAdj Fxd LnAmt BRO T1,AltA-PriceAdjFxdLnAmtBROT1
47
+ rule,AltA-PriceAdj Fxd LnAmt BRO T1-SubF,AltA-PriceAdjFxdLnAmtBROT1-SubF
48
+ rule,AltA-PriceAdj Fxd LnAmt COR T1,AltA-PriceAdjFxdLnAmtCORT1
49
+ rule,AltA-PriceAdj Fxd LnAmt COR T1-SubF,AltA-PriceAdjFxdLnAmtCORT1-SubF
50
+ rule,AltA-PriceAdj Fxd LnAmt RTN T1,AltA-PriceAdjFxdLnAmtRTNT1
51
+ rule,AltA-PriceAdj Fxd LnAmt RTN T1-SubF,AltA-PriceAdjFxdLnAmtRTNT1-SubF
52
+ rule,AltA-PriceAdj IO Fixed BRO T1,AltA-PriceAdjIOFixedBROT1
53
+ rule,AltA-PriceAdj IO Fixed BRO T1-SubF,AltA-PriceAdjIOFixedBROT1-SubF
54
+ rule,AltA-PriceAdj IO Fixed COR T1,AltA-PriceAdjIOFixedCORT1
55
+ rule,AltA-PriceAdj IO Fixed COR T1-SubF,AltA-PriceAdjIOFixedCORT1-SubF
56
+ rule,AltA-PriceAdj IO Fixed RTN T1,AltA-PriceAdjIOFixedRTNT1
57
+ rule,AltA-PriceAdj IO Fixed RTN T1-SubF,AltA-PriceAdjIOFixedRTNT1-SubF
58
+ rule,AltA-PriceAdj NoEscrow BRO T1,AltA-PriceAdjNoEscrowBROT1
59
+ rule,AltA-PriceAdj NoEscrow COR T1,AltA-PriceAdjNoEscrowCORT1
60
+ rule,AltA-PriceAdj NoEscrow COR T1-SubF,AltA-PriceAdjNoEscrowCORT1-SubF
61
+ rule,AltA-PriceAdj NoEscrow RTN T1,AltA-PriceAdjNoEscrowRTNT1
62
+ rule,AltA-PriceAdj NoEscrow RTN T1-SubF,AltA-PriceAdjNoEscrowRTNT1-SubF
63
+ rule,AltA-PriceAdj NOO LnAmt BRO T1,AltA-PriceAdjNOOLnAmtBROT1
64
+ rule,AltA-PriceAdj NOO LnAmt BRO T1-SubF,AltA-PriceAdjNOOLnAmtBROT1-SubF
65
+ rule,AltA-PriceAdj NOO LnAmt COR T1,AltA-PriceAdjNOOLnAmtCORT1
66
+ rule,AltA-PriceAdj NOO LnAmt COR T1-SubF,AltA-PriceAdjNOOLnAmtCORT1-SubF
67
+ rule,AltA-PriceAdj NOO LnAmt RTN T1,AltA-PriceAdjNOOLnAmtRTNT1
68
+ rule,AltA-PriceAdj NOO LnAmt RTN T1-SubF,AltA-PriceAdjNOOLnAmtRTNT1-SubF
69
+ rule,AltA-PriceAdj Region-NPP-High,AltA-PriceAdjRegion-NPP-High
70
+ rule,AltA-PriceAdj Region-NPP-Low,AltA-PriceAdjRegion-NPP-Low
71
+ rule,AltA-PriceAdj Region-PP-High,AltA-PriceAdjRegion-PP-High
72
+ rule,AltA-PriceAdj Region-PP-Low,AltA-PriceAdjRegion-PP-Low
73
+ rule,AltA-PriceAdjCombo NoEscrow BRO T1-SubF,AltA-PriceAdjComboNoEscrowBROT1-SubF
74
+ rule,ALTA-Prop Cons Debt and Tot Inc,ALTA-PropConsDebtandTotInc
75
+ rule,AltA-RateAdjCombo DocType BRO,AltA-RateAdjComboDocTypeBRO
76
+ rule,AltA-RateAdjCombo DocType COR,AltA-RateAdjComboDocTypeCOR
77
+ rule,AltA-RateAdjCombo DocType RTN,AltA-RateAdjComboDocTypeRTN
78
+ rule,AltA-RateAdjCombo NOOCltv BRO,AltA-RateAdjComboNOOCltvBRO
79
+ rule,AltA-RateAdjCombo NOOCltv COR,AltA-RateAdjComboNOOCltvCOR
80
+ rule,AltA-RateAdjCombo NOOCltv RTN,AltA-RateAdjComboNOOCltvRTN
81
+ rule,AltA-RateAdjDocType BRO,AltA-RateAdjDocTypeBRO
82
+ rule,AltA-RateAdjDocType COR,AltA-RateAdjDocTypeCOR
83
+ rule,AltA-RateAdjDocType RTN,AltA-RateAdjDocTypeRTN
84
+ rule,AltA-RateAdjNOOCltv BRO,AltA-RateAdjNOOCltvBRO
85
+ rule,AltA-RateAdjNOOCltv COR,AltA-RateAdjNOOCltvCOR
86
+ rule,AltA-RateAdjNOOCltv RTN,AltA-RateAdjNOOCltvRTN
87
+ rule,AltA-Sub Fin Set Flag,AltA-SubFinSetFlag
88
+ rule,AltA-Total Price Adj 1st,AltA-TotalPriceAdj1st
89
+ rule,AltA-Total Rate 1st,AltA-TotalRate1st
90
+ rule,AltA-Total Rate Adj 1st,AltA-TotalRateAdj1st
91
+ rule,G-1st 2nd Loan Parameters,G-1st2ndLoanParameters
92
+ rule,G-1st Amort Type 1,G-1stAmortType1
93
+ rule,G-1st Amort Type 2,G-1stAmortType2
94
+ rule,G-1st Amort Type 3,G-1stAmortType3
95
+ rule,G-1st Amort Type 4,G-1stAmortType4
96
+ rule,G-1st Amort Type 5,G-1stAmortType5
97
+ rule,G-1st Amort Type 6,G-1stAmortType6
98
+ rule,G-1st Amort Type 7,G-1stAmortType7
99
+ rule,G-1st Amort Type 8,G-1stAmortType8
100
+ rule,G-1st Amort Type 9,G-1stAmortType9
101
+ rule,G-1st IO Indicator,G-1stIOIndicator
102
+ rule,G-1st Loan Check Rule,G-1stLoanCheckRule
103
+ rule,G-Cond LockRequired,G-CondLockRequired
104
+ rule,G-Correspondent with No Price Rule,G-CorrespondentwithNoPriceRule
105
+ rule,G-DTI Calc,G-DTICalc
106
+ rule,G-DTI POS Calc,G-DTIPOSCalc
107
+ rule,G-Locked Rate Lien 1,G-LockedRateLien1
108
+ rule,G-Locked Rate Lien 2,G-LockedRateLien2
109
+ rule,G-Other Prop Cash Flow,G-OtherPropCashFlow
110
+ rule,G-PITI Calc Rule,G-PITICalcRule
111
+ rule,G-PriceAdj IO SOA,G-PriceAdjIOSOA
112
+ rule,G-Pricing Initialization,G-PricingInitialization
113
+ rule,G-Prop Hsg Cost Calc,G-PropHsgCostCalc
114
+ rule,G-Rate Adj TX CashOut BRO T1,G-RateAdjTXCashOutBROT1
115
+ rule,G-Rate Adj TX CashOut RTN T1,G-RateAdjTXCashOutRTNT1
116
+ rule,G-Set 40due30 Flag,G-Set40due30Flag
117
+ rule,G-Sub Prop Cash Flow 1,G-SubPropCashFlow1
118
+ rule,G-Sub Prop Cash Flow 2,G-SubPropCashFlow2
119
+ rule,G-Total Cash Flow Calc 1,G-TotalCashFlowCalc1
120
+ rule,G-Total Cash Flow Calc 2,G-TotalCashFlowCalc2
121
+ rule,G-Total Income,G-TotalIncome
122
+ rule,NoMI-PriceAdj Region-NPP-High,NoMI-PriceAdjRegion-NPP-High
123
+ rule,NoMI-PriceAdj Region-NPP-Low,NoMI-PriceAdjRegion-NPP-Low
124
+ rule,NoMI-PriceAdj Region-PP-High,NoMI-PriceAdjRegion-PP-High
125
+ rule,NoMI-PriceAdj Region-PP-Low,NoMI-PriceAdjRegion-PP-Low
126
+ rule,OptA-PriceAdj Region-NPP-High,OptA-PriceAdjRegion-NPP-High
127
+ rule,OptA-PriceAdj Region-NPP-Low,OptA-PriceAdjRegion-NPP-Low
128
+ rule,OptA-PriceAdj Region-PP-High,OptA-PriceAdjRegion-PP-High
129
+ rule,OptA-PriceAdj Region-PP-Low,OptA-PriceAdjRegion-PP-Low
130
+ rule,Pref-PriceAdj Region-NPP-High,Pref-PriceAdjRegion-NPP-High
131
+ rule,Pref-PriceAdj Region-NPP-Low,Pref-PriceAdjRegion-NPP-Low
132
+ rule,Pref-PriceAdj Region-PP-High,Pref-PriceAdjRegion-PP-High
133
+ rule,Pref-PriceAdj Region-PP-Low,Pref-PriceAdjRegion-PP-Low
134
+ rule,PrefSOA-PriceAdj Region-NPP-High,PrefSOA-PriceAdjRegion-NPP-High
135
+ rule,PrefSOA-PriceAdj Region-NPP-Low,PrefSOA-PriceAdjRegion-NPP-Low
136
+ rule,PrefSOA-PriceAdj Region-PP-High,PrefSOA-PriceAdjRegion-PP-High
137
+ rule,PrefSOA-PriceAdj Region-PP-Low,PrefSOA-PriceAdjRegion-PP-Low
138
+ rule,SOA-PriceAdj Region-NPP-High,SOA-PriceAdjRegion-NPP-High
139
+ rule,SOA-PriceAdj Region-NPP-Low,SOA-PriceAdjRegion-NPP-Low
140
+ rule,SOA-PriceAdj Region-PP-High,SOA-PriceAdjRegion-PP-High
141
+ rule,SOA-PriceAdj Region-PP-Low,SOA-PriceAdjRegion-PP-Low
142
+ rule,SOA-PriceAdj SOA CLTV BRO LK1,SOA-PriceAdjSOACLTVBROLK1
143
+ rule,SOA-PriceAdj SOA CLTV BRO LK1SubF,SOA-PriceAdjSOACLTVBROLK1SubF
144
+ rule,SOA-PriceAdj SOA CLTV COR LK1,SOA-PriceAdjSOACLTVCORLK1
145
+ rule,SOA-PriceAdj SOA CLTV COR LK1SubF,SOA-PriceAdjSOACLTVCORLK1SubF
146
+ rule,SOA-PriceAdj SOA CLTV COR LK2,SOA-PriceAdjSOACLTVCORLK2
147
+ rule,SOA-PriceAdj SOA CLTV COR LK2SubF,SOA-PriceAdjSOACLTVCORLK2SubF
148
+ rule,SOA-PriceAdj SOA CLTV RTN LK1,SOA-PriceAdjSOACLTVRTNLK1
149
+ rule,SOA-PriceAdj SOA CLTV RTN LK1SubF,SOA-PriceAdjSOACLTVRTNLK1SubF
150
+ rule,SubP-PriceAdj Region-NPP-High,SubP-PriceAdjRegion-NPP-High
151
+ rule,SubP-PriceAdj Region-NPP-Low,SubP-PriceAdjRegion-NPP-Low
152
+ rule,SubP-PriceAdj Region-PP-High,SubP-PriceAdjRegion-PP-High
153
+ rule,SubP-PriceAdj Region-PP-Low,SubP-PriceAdjRegion-PP-Low
154
+ rule,ZAltA-Max DTI PI Calc 4,ZAltA-MaxDTIPICalc4
155
+ ruleset,AltA-Amort Type 1st Ruleset,AltA-AmortType1stRuleset
156
+ ruleset,AltA-Final Max Price 1st BRO Ruleset,AltA-FinalMaxPrice1stBRORuleset
157
+ ruleset,AltA-Final Max Price 1st COR Ruleset,AltA-FinalMaxPrice1stCORRuleset
158
+ ruleset,AltA-GetMaxPrice1st T1,AltA-GetMaxPrice1stT1
159
+ ruleset,AltA-Max DTI PI Calc Ruleset,AltA-MaxDTIPICalcRuleset
160
+ ruleset,AltA-Max Pymt Shock PI Calc Ruleset,AltA-MaxPymtShockPICalcRuleset
161
+ ruleset,AltA-Payment Shock Calc Ruleset,AltA-PaymentShockCalcRuleset
162
+ ruleset,AltA-ProgramType,AltA-ProgramType
163
+ ruleset,AltA-RateAdj 1st ruleset,AltA-RateAdj1struleset
164
+ ruleset,AltA-SetPriceAdjustments1st T1,AltA-SetPriceAdjustments1stT1
165
+ ruleset,AltA-SetPriceAdjustments1st T1-SubF,AltA-SetPriceAdjustments1stT1-SubF
166
+ ruleset,G-CalcExtensionFees,G-CalcExtensionFees
167
+ ruleset,G-CalcPi1st-BasedOnType,G-CalcPi1st-BasedOnType
168
+ ruleset,G-CalcQualRate,G-CalcQualRate
169
+ ruleset,G-GetExceptionAdjs-Lien1,G-GetExceptionAdjs-Lien1
170
+ ruleset,G-GetRequestedRateMarginLien1,G-GetRequestedRateMarginLien1
171
+ ruleset,G-Locked Rate Ruleset,G-LockedRateRuleset
172
+ ruleset,G-MaxPaymentShockCalc,G-MaxPaymentShockCalc
173
+ ruleset,G-OverrideMaxPrice,G-OverrideMaxPrice
174
+ ruleset,G-PriceAdj Region Ruleset,G-PriceAdjRegionRuleset
175
+ ruleset,G-PricingCleanup,G-PricingCleanup
176
+ ruleset,G-Rate Adj TX CashOut,G-RateAdjTXCashOut
177
+ ruleset,G-RegionCode Ruleset,G-RegionCodeRuleset
178
+ ruleset,G-RemoveExtensionFees,G-RemoveExtensionFees
179
+ ruleset,G-Sub Prop Cash Flow Ruleset,G-SubPropCashFlowRuleset
180
+ ruleset,WC-WorstCasePricing-Rate,WC-WorstCasePricing-Rate
@@ -0,0 +1,174 @@
1
+ <GuidelineRoot>
2
+ <Guideline GuidelineID="48" Name="TESTGUIDELINE-W-LOOKUPS" Version="53120" StartDate="Oct 12 2007 10:11PM">
3
+ <Ruleset Id="2027" Name="AltA-GetMaxPrice1st T1" ExecuteType="3" Type="0">
4
+ <Rule Id="20480" Name="AltA-MaxPrice1st BRO T1">
5
+ <IfMessages/>
6
+ <ElseMessages/>
7
+ <Condition>
8
+ <Expression>
9
+ <Brace>
10
+ <Compute>
11
+ <Operator>==</Operator>
12
+ <LeftOperand>
13
+ <PPM Name="User Type" Type="APM"/>
14
+ </LeftOperand>
15
+ <RightOperand>
16
+ <Constant>Broker</Constant>
17
+ </RightOperand>
18
+ </Compute>
19
+ </Brace>
20
+ </Expression>
21
+ </Condition>
22
+ <IfActions>
23
+ <Assign>
24
+ <AssignTo>
25
+ <DPM Name="Max Price 1st" Type="DPM" Order="0" ProductType="3"/>
26
+ </AssignTo>
27
+ <AssignValue>
28
+ <Lookup ID="1486" Name="AltA-MaxPrice1st BRO LK1"/>
29
+ </AssignValue>
30
+ </Assign>
31
+ <Assign>
32
+ <AssignTo>
33
+ <DPM Name="Max Price 1st NOO" Type="DPM" Order="0" ProductType="3"/>
34
+ </AssignTo>
35
+ <AssignValue>
36
+ <Lookup ID="1493" Name="AltA-MaxPrice1st NOO BRO LK1"/>
37
+ </AssignValue>
38
+ </Assign>
39
+ <Assign>
40
+ <AssignTo>
41
+ <DPM Name="Max Price 1st Ln Amt" Type="DPM" Order="0" ProductType="3"/>
42
+ </AssignTo>
43
+ <AssignValue>
44
+ <Lookup ID="1494" Name="AltA-MaxPrice1st Ln Amt BRO LK1"/>
45
+ </AssignValue>
46
+ </Assign>
47
+ <Assign>
48
+ <AssignTo>
49
+ <DPM Name="Max Price 1st DocFICO" Type="DPM" Order="0" ProductType="3"/>
50
+ </AssignTo>
51
+ <AssignValue>
52
+ <Lookup ID="6983" Name="AltA-MaxPrice1st DocFICO BRO LK1"/>
53
+ </AssignValue>
54
+ </Assign>
55
+ </IfActions>
56
+ </Rule>
57
+ </Ruleset>
58
+ </Guideline>
59
+ <LOOKUPS>
60
+ <LOOKUP Name="AltA-MaxPrice1st BRO LK1">
61
+ <XParameter>
62
+ <DPM Name="Amort Type 1st" DataType="Text" Type="DPM" Order="0" ProductType="6"/>
63
+ </XParameter>
64
+ <YParameter>
65
+ <DPM Name="Prepay Term 1st" DataType="Text" Type="DPM" Order="0" ProductType="4"/>
66
+ </YParameter>
67
+ <Row MinValue="Fixed 30" MaxValue="Fixed 30">
68
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
69
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
70
+ <Column MinValue="12" MaxValue="12">0.000</Column>
71
+ <Column MinValue="24" MaxValue="24">0.000</Column>
72
+ <Column MinValue="36" MaxValue="36">0.000</Column>
73
+ </Row>
74
+ <Row MinValue="Fixed 15" MaxValue="Fixed 15">
75
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
76
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
77
+ <Column MinValue="12" MaxValue="12">0.000</Column>
78
+ <Column MinValue="24" MaxValue="24">0.000</Column>
79
+ <Column MinValue="36" MaxValue="36">0.000</Column>
80
+ </Row>
81
+ <Row MinValue="2/6 Mo Libor" MaxValue="2/6 Mo Libor">
82
+ <Column MinValue="0" MaxValue="0">0.000</Column>
83
+ <Column MinValue="4" MaxValue="4">0.000</Column>
84
+ <Column MinValue="12" MaxValue="12">0.000</Column>
85
+ <Column MinValue="24" MaxValue="24">0.000</Column>
86
+ <Column MinValue="36" MaxValue="36">0.000</Column>
87
+ </Row>
88
+ <Row MinValue="3/6 Mo Libor" MaxValue="3/6 Mo Libor">
89
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
90
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
91
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
92
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
93
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
94
+ </Row>
95
+ <Row MinValue="5/6 Mo Libor" MaxValue="5/6 Mo Libor">
96
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
97
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
98
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
99
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
100
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
101
+ </Row>
102
+ <Row MinValue="7/6 Mo Libor" MaxValue="7/6 Mo Libor">
103
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
104
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
105
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
106
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
107
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
108
+ </Row>
109
+ <Row MinValue="10/6 Mo Libor" MaxValue="10/6 Mo Libor">
110
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
111
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
112
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
113
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
114
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
115
+ </Row>
116
+ <Row MinValue="6 Mo Libor" MaxValue="6 Mo Libor">
117
+ <Column MinValue="0" MaxValue="0">-1.500</Column>
118
+ <Column MinValue="4" MaxValue="4">-1.500</Column>
119
+ <Column MinValue="12" MaxValue="12">-1.500</Column>
120
+ <Column MinValue="24" MaxValue="24">-1.500</Column>
121
+ <Column MinValue="36" MaxValue="36">-1.500</Column>
122
+ </Row>
123
+ <Row MinValue="5 Yr OptA" MaxValue="5 Yr OptA">
124
+ <Column MinValue="0" MaxValue="0">0.000</Column>
125
+ <Column MinValue="4" MaxValue="4">0.000</Column>
126
+ <Column MinValue="12" MaxValue="12">0.000</Column>
127
+ <Column MinValue="24" MaxValue="24">0.000</Column>
128
+ <Column MinValue="36" MaxValue="36">0.000</Column>
129
+ </Row>
130
+ </LOOKUP>
131
+ <LOOKUP Name="AltA-MaxPrice1st NOO BRO LK1">
132
+ <XParameter>
133
+ <PPM Name="Occupancy" DataType="Text" Type="APM"/>
134
+ </XParameter>
135
+ <YParameter>
136
+ <DPM Name="Global Parameter" DataType="Numeric" Type="DPM" Order="0" ProductType="4"/>
137
+ </YParameter>
138
+ <Row MinValue="Investment" MaxValue="Investment">
139
+ <Column MinValue="1" MaxValue="1">-1.500</Column>
140
+ </Row>
141
+ </LOOKUP>
142
+ <LOOKUP Name="AltA-MaxPrice1st Ln Amt BRO LK1">
143
+ <XParameter>
144
+ <DPM Name="Loan Amount 1st" DataType="Money" Type="DPM" Order="0" ProductType="3"/>
145
+ </XParameter>
146
+ <YParameter>
147
+ <DPM Name="Global Parameter" DataType="Text" Type="DPM" Order="0" ProductType="4"/>
148
+ </YParameter>
149
+ <Row MinValue="650001" MaxValue="1500000">
150
+ <Column MinValue="1" MaxValue="1">-2.000</Column>
151
+ </Row>
152
+ <Row MinValue="1500001" MaxValue="10000000">
153
+ <Column MinValue="1" MaxValue="1">-1.000</Column>
154
+ </Row>
155
+ </LOOKUP>
156
+ <LOOKUP Name="AltA-MaxPrice1st DocFICO BRO LK1">
157
+ <XParameter>
158
+ <PPM Name="Document Type" DataType="Text" Type="APM"/>
159
+ </XParameter>
160
+ <YParameter>
161
+ <DPM Name="Credit Score" DataType="Numeric" Type="DSM" Order="0" ProductType="4"/>
162
+ </YParameter>
163
+ <Row MinValue="NINA" MaxValue="NINA">
164
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
165
+ </Row>
166
+ <Row MinValue="No Doc" MaxValue="No Doc">
167
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
168
+ </Row>
169
+ <Row MinValue="No Doc with Assets" MaxValue="No Doc with Assets">
170
+ <Column MinValue="450" MaxValue="659">-11.500</Column>
171
+ </Row>
172
+ </LOOKUP>
173
+ </LOOKUPS>
174
+ </GuidelineRoot>
@@ -0,0 +1,127 @@
1
+ /* **************************************************************************
2
+ * File: data/DCTEST1wLookups.xml.gdl
3
+ *
4
+ * Guideline source generated 12/05/2007 14:57:34
5
+ *
6
+ * *************************************************************************/
7
+
8
+
9
+
10
+
11
+
12
+
13
+ // +++++++++++++++++++++++++++ DPM Definitions +++++++++++++++++++++++++++
14
+
15
+ dpm text amortType1st "Amort Type 1st";
16
+ dpm numeric globalParam "Global Parameter";
17
+ dpm money loanAmount1st "Loan Amount 1st";
18
+ dpm numeric maxPrice1st "Max Price 1st";
19
+ dpm money MaxPrice1stDocFICO "Max Price 1st DocFICO";
20
+ dpm money MaxPrice1stLnAmt "Max Price 1st Ln Amt";
21
+ dpm money MaxPrice1stNOO "Max Price 1st NOO";
22
+ dpm numeric PrepayTerm1st "Prepay Term 1st";
23
+
24
+
25
+
26
+
27
+ // +++++++++++++++++++++++++++ DSM Definitions +++++++++++++++++++++++++++
28
+
29
+ decision dpm numeric creditScore "Credit Score";
30
+
31
+
32
+
33
+
34
+ // +++++++++++++++++++++++++++ PPM Definitions +++++++++++++++++++++++++++
35
+
36
+ ppm text app pDocumentType "Document Type";
37
+ ppm text app pOccupancy "Occupancy";
38
+ ppm text app pUserType "User Type";
39
+
40
+
41
+
42
+
43
+ /* ************************************************************************
44
+ -- Lookups that need to be imported --
45
+
46
+ lookup("AltA-MaxPrice1st BRO LK1", amortType1st, PrepayTerm1st);
47
+ lookup("AltA-MaxPrice1st DocFICO BRO LK1", pDocumentType, creditScore);
48
+ lookup("AltA-MaxPrice1st Ln Amt BRO LK1", loanAmount1st, globalParam);
49
+ lookup("AltA-MaxPrice1st NOO BRO LK1", pOccupancy, globalParam);
50
+
51
+
52
+ ************************************************************************ */
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ // ++++++++++++++++++++++++++ Rule Definitions ++++++++++++++++++++++++++
62
+
63
+ alias(rule, AltA-MaxPrice1stBROT1, "AltA-MaxPrice1st BRO T1");
64
+
65
+ /* ==========================================================================
66
+ * AltA-MaxPrice1stBROT1
67
+ *
68
+ *
69
+ */
70
+ rule AltA-MaxPrice1stBROT1()
71
+ if(
72
+ (pUserType == "Broker")
73
+ )
74
+ then
75
+ maxPrice1st = lookup("AltA-MaxPrice1st BRO LK1", amortType1st, PrepayTerm1st);
76
+ MaxPrice1stNOO = lookup("AltA-MaxPrice1st NOO BRO LK1", pOccupancy, globalParam);
77
+ MaxPrice1stLnAmt = lookup("AltA-MaxPrice1st Ln Amt BRO LK1", loanAmount1st, globalParam);
78
+ MaxPrice1stDocFICO = lookup("AltA-MaxPrice1st DocFICO BRO LK1", pDocumentType, creditScore);
79
+
80
+
81
+ end
82
+ end // rule AltA-MaxPrice1stBROT1
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ // +++++++++++++++++++++++++ Ruleset Definitions +++++++++++++++++++++++++
92
+
93
+ alias(ruleset, AltA-GetMaxPrice1stT1, "AltA-GetMaxPrice1st T1");
94
+
95
+ /* ==========================================================================
96
+ * AltA-GetMaxPrice1stT1
97
+ *
98
+ *
99
+ */
100
+ ruleset AltA-GetMaxPrice1stT1(continue)
101
+ rule AltA-MaxPrice1stBROT1();
102
+
103
+ end // ruleset AltA-GetMaxPrice1stT1
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+ // ++++++++++++++++++++++++ Guideline Definition ++++++++++++++++++++++++
113
+
114
+ /* ==========================================================================
115
+ * TESTGUIDELINE-W-LOOKUPS
116
+ *
117
+ * ID: 48
118
+ * Version: 53120
119
+ * Start Date: Oct 12 2007 10:11PM
120
+ *
121
+ */
122
+ guideline("TESTGUIDELINE-W-LOOKUPS")
123
+
124
+ ruleset AltA-GetMaxPrice1stT1();
125
+
126
+
127
+ end // guideline TESTGUIDELINE-W-LOOKUPS
@@ -0,0 +1 @@
1
+ <GuidelineRoot><Guideline GuidelineID="1" Name="Z-TEMP-Jeff" Version="1" StartDate="Nov 30 2007 12:00AM"><Ruleset Id="1" Name="AltA-Max DTI Limits Calc Ruleset" ExecuteType="1" Type="0"><Rule Id="5" Name="AltA-Max Dti SivaLiteDoc"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Document Type" Type="APM"/></LeftOperand><RightOperand><Constant>SIVA</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Document Type" Type="APM"/></LeftOperand><RightOperand><Constant>Lite Doc</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="1" Name="AltA-Max DTI Investment"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>Investment</Constant></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="8" Name="AltA-Max DTI PriSecResidence"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>SecondaryResidence</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></IfActions></Rule></Ruleset><Ruleset Id="2" Name="AltA-Max DTI Limits Calc Combo Ruleset" ExecuteType="1" Type="0"><Rule Id="2" Name="AltA-Max DTI 1000001 Combo"><IfMessages/><ElseMessages/><Condition><Expression><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>42</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="4" Name="AltA-Max DTI Texas Cash Out"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Purpose Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>CO</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="State of the Subject Property" Type="APM"/></LeftOperand><RightOperand><Constant>TX</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>45</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="3" Name="AltA-MaxDti55IOFullDocCombo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Doc Type Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>Full Doc</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOARM</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOFixed</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="7" Name="AltA-MaxDti55IOFullDocHelocCombo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Doc Type Abbrev" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>Full Doc</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOARM</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Amortization Type-PDT" Type="PRD"/></LeftOperand><RightOperand><Constant>IOFixed</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="Amort Type 2nd" Type="DPM" Order="0" ProductType="6"/></LeftOperand><RightOperand><Constant>HELOC</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="6" Name="AltA-Max DTI 1000000 Combo"><IfMessages/><ElseMessages/><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>OR</Operator><LeftOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>PrimaryResidence</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><PPM Name="Occupancy" Type="APM"/></LeftOperand><RightOperand><Constant>SecondaryResidence</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="CLTV" Type="DSM" Order="0" ProductType="5"/></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></RightOperand></Compute></LeftOperand><RightOperand><Brace><Compute><Operator>&lt;=</Operator><LeftOperand><DPM Name="Combined Loan Amount" Type="DPM" Order="0" ProductType="3"/></LeftOperand><RightOperand><Constant>1000000</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>55</Constant></Expression></AssignValue></Assign></IfActions><ElseActions><Assign><AssignTo><DPM Name="Max DTI" Type="DSM" Order="0" ProductType="4"/></AssignTo><AssignValue><Expression><Constant>50</Constant></Expression></AssignValue></Assign></ElseActions></Rule></Ruleset></Guideline><LOOKUPS></LOOKUPS></GuidelineRoot>
@@ -0,0 +1 @@
1
+ <GuidelineRoot><Guideline GuidelineID="80" Name="Z-TEMP" Version="63268" StartDate="Nov 30 2007 7:11PM"><Rule Id="49733" Name="G-MaxLTV80Zip"><IfMessages><Message Type="Observation"><![CDATA[Subject Property is within the MSA boundaries. Max LTV/CLTV is 80%.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="Max LTV" Type="DSM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="fLimitLTV80Zip" Type="DPM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>1</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Max LTV" Type="DSM" Order="0" ProductType="4" /></AssignTo><AssignValue><Expression><Constant>80</Constant></Expression></AssignValue></Assign><Assign><AssignTo><DPM Name="Max CLTV" Type="DSM" Order="0" ProductType="4" /></AssignTo><AssignValue><Expression><Constant>80</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="51251" Name="Exptn-PoconoPa"><IfMessages><Message Type="Exceptions" ExceptionType="Exceptions"><![CDATA[Rural Properties in the Pocono Region of PA have a Max LTV of 80%.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Compute><Operator>AND</Operator><LeftOperand><Brace><Compute><Operator>&gt;</Operator><LeftOperand><DPM Name="LTV" Type="DSM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>80</Constant></RightOperand></Compute></Brace></LeftOperand><RightOperand><Brace><Compute><Operator>==</Operator><LeftOperand><DPM Name="fLimitRuralZip" Type="DPM" Order="0" ProductType="4" /></LeftOperand><RightOperand><Constant>1</Constant></RightOperand></Compute></Brace></RightOperand></Compute></Expression></Condition><IfActions><Assign><AssignTo><DPM Name="Decision" Type="DSM" Order="0" ProductType="6" /></AssignTo><AssignValue><Expression><Constant>Referred</Constant></Expression></AssignValue></Assign></IfActions></Rule><Rule Id="3803" Name="G-Cond BrokerSubmissionForm"><IfMessages><Message Type="Condition" Id="336" PriorTo="1" Category="1" Responsible="BROKER" WhoCanClear="UNDERWRITER" Critical="Yes" Visibility="Internal"><![CDATA[Broker must submit "Broker Submission Form" with underwriting package.]]></Message></IfMessages><ElseMessages /><Condition><Expression><Brace><Compute><Operator>&gt;</Operator><LeftOperand><PPM Name="Loan Amount" Type="APM" /></LeftOperand><RightOperand><Constant>0</Constant></RightOperand></Compute></Brace></Expression></Condition></Rule></Guideline></GuidelineRoot>
@@ -0,0 +1,142 @@
1
+ /* **************************************************************************
2
+ * File: data/Message.xml.gdl
3
+ * Guideline generated: 12/05/2007 09:29:45
4
+ *
5
+ * *************************************************************************/
6
+
7
+
8
+
9
+
10
+
11
+
12
+ // --------------------------- DPM Definitions ---------------------------
13
+
14
+ dpm numeric fLimitLTV80Zip "fLimitLTV80Zip";
15
+ dpm numeric fLimitRuralZip "fLimitRuralZip";
16
+
17
+
18
+
19
+
20
+ // --------------------------- DSM Definitions ---------------------------
21
+
22
+ decision dpm text Decision "Decision";
23
+ decision dpm numeric LTV "LTV";
24
+ decision dpm numeric maxCLTV "Max CLTV";
25
+ decision dpm numeric maxLTV "Max LTV";
26
+
27
+
28
+
29
+
30
+ // --------------------------- PPM Definitions ---------------------------
31
+
32
+ ppm money app pLoanAmount "Loan Amount";
33
+
34
+
35
+
36
+
37
+ /* ************************************************************************
38
+ -- Lookups that need to be imported --
39
+
40
+
41
+ ************************************************************************ */
42
+
43
+
44
+
45
+
46
+
47
+ // -------------------------- Rule Definitions --------------------------
48
+
49
+
50
+ /* ==========================================================================
51
+ * Exptn-PoconoPa
52
+ *
53
+ *
54
+ */
55
+ rule Exptn-PoconoPa()
56
+ if(
57
+ (LTV > 80) &&
58
+ (fLimitRuralZip == 1)
59
+ )
60
+ then
61
+ Decision = "Referred";
62
+
63
+ message(exception, exception, "Rural Properties in the Pocono Region of PA have a Max LTV of 80%.");
64
+
65
+ end
66
+ end // rule Exptn-PoconoPa
67
+
68
+
69
+
70
+
71
+ alias(rule, G-CondBrokerSubmissionForm, "G-Cond BrokerSubmissionForm");
72
+
73
+ /* ==========================================================================
74
+ * G-CondBrokerSubmissionForm
75
+ *
76
+ *
77
+ */
78
+ rule G-CondBrokerSubmissionForm()
79
+ if(
80
+ (pLoanAmount > 0)
81
+ )
82
+ then
83
+
84
+ condition(asset, docs, "Broker must submit 'Broker Submission Form' with underwriting package.");
85
+
86
+ end
87
+ end // rule G-CondBrokerSubmissionForm
88
+
89
+
90
+
91
+
92
+
93
+ /* ==========================================================================
94
+ * G-MaxLTV80Zip
95
+ *
96
+ *
97
+ */
98
+ rule G-MaxLTV80Zip()
99
+ if(
100
+ (maxLTV > 80) &&
101
+ (fLimitLTV80Zip == 1)
102
+ )
103
+ then
104
+ maxLTV = 80;
105
+ maxCLTV = 80;
106
+
107
+ message(observation, "Subject Property is within the MSA boundaries. Max LTV/CLTV is 80%.");
108
+
109
+ end
110
+ end // rule G-MaxLTV80Zip
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ // ------------------------- Ruleset Definitions -------------------------
120
+
121
+
122
+
123
+
124
+
125
+ // ------------------------ Guideline Definition ------------------------
126
+
127
+ /* ==========================================================================
128
+ * Z-TEMP
129
+ *
130
+ * ID: 80
131
+ * Version: 63268
132
+ * Start Date: Nov 30 2007 7:11PM
133
+ *
134
+ */
135
+ guideline("Z-TEMP")
136
+
137
+ rule G-MaxLTV80Zip();
138
+ rule Exptn-PoconoPa();
139
+ rule G-CondBrokerSubmissionForm();
140
+
141
+
142
+ end // guideline Z-TEMP