[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5442] Regenerate enumerations, using the technique descri
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5442] Regenerate enumerations, using the technique described 20120325T1232Z |
Date: |
Tue, 27 Mar 2012 12:22:13 +0000 |
Revision: 5442
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5442
Author: chicares
Date: 2012-03-27 12:22:13 +0000 (Tue, 27 Mar 2012)
Log Message:
-----------
Regenerate enumerations, using the technique described 20120325T1232Z
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/cell.rnc
lmi/trunk/cell.xsd
lmi/trunk/test_schemata.sh
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2012-03-26 12:31:42 UTC (rev 5441)
+++ lmi/trunk/ChangeLog 2012-03-27 12:22:13 UTC (rev 5442)
@@ -29936,3 +29936,38 @@
version.hpp
Designate release candidate.
+20120325T1232Z <address@hidden> [573]
+
+ mc_enum_types.xpp
+Improve concinnity, so that this command:
+ sed -e'/_NAMES/,/};/!d' -e's/ \\$//;s/_NAMES/ =/;s/{/ /' \
+ -e 's/ *};//;s/#define //;s/^ ,/ | /;s/, / | /g'
+can be used to generate enumerations for 'cell.rnc'.
+
+20120326T1059Z <address@hidden> [573]
+
+ test_schemata.sh
+Copy files from working directory to /tmp even if they are older.
+
+20120326T1231Z <address@hidden> [573]
+
+ cell.rnc
+ cell.xsd
+ multiple_cell_document.rnc
+ single_cell_document.rnc
+Reformat; improve documentation. Translating RNG to XSD with 'trang'
+can mangle commentary, e.g., changing this:
+ minInclusive = "2361222" # gregorian_epoch_jdn
+ maxInclusive = "5373484" # last_yyyy_date_jdn
+to the single line
+ <!-- last_yyyy_date_jdn -->
+inscrutably following the definition of the calendar-date type.
+
+20120327T1222Z <address@hidden> [573]
+
+ cell.rnc
+ cell.xsd
+ test_schemata.sh
+Regenerate enumerations, using the technique described 20120325T1232Z.
+This makes it easier to annotate them.
+
Modified: lmi/trunk/cell.rnc
===================================================================
--- lmi/trunk/cell.rnc 2012-03-26 12:31:42 UTC (rev 5441)
+++ lmi/trunk/cell.rnc 2012-03-27 12:22:13 UTC (rev 5442)
@@ -27,21 +27,21 @@
cell_element = element cell
{attribute version {"6"}
- ,element AccidentalDeathBenefit {lmibool}
+ ,element AccidentalDeathBenefit {yes_or_no}
,element Address {text}
,element AgentAddress {text}
,element AgentCity {text}
,element AgentId {text}
,element AgentName {text}
,element AgentPhone {text}
- ,element AgentState {mcenum_state}
+ ,element AgentState {state}
,element AgentZipCode {text}
- ,element AmortizePremiumLoad {lmibool}
- ,element AvoidMecMethod {"Allow MEC"|"Reduce premium"}
- ,element BlendGender {lmibool}
- ,element BlendSmoking {lmibool}
+ ,element AmortizePremiumLoad {yes_or_no}
+ ,element AvoidMecMethod {mec_avoid_method}
+ ,element BlendGender {yes_or_no}
+ ,element BlendSmoking {yes_or_no}
,element CashValueEnhancementRate {numeric_sequence}
- ,element ChildRider {lmibool}
+ ,element ChildRider {yes_or_no}
,element ChildRiderAmount {nonnegative_double}
,element City {text}
,element Comments {text}
@@ -51,67 +51,47 @@
,element CorporationPayment {payment_sequence}
,element CorporationPaymentMode {mode_sequence}
,element CorporationPremiumTableFactor {nonnegative_double}
- ,element CorporationState {mcenum_state}
+ ,element CorporationState {state}
,element CorporationTaxBracket {numeric_sequence}
,element CorporationZipCode {text}
- ,element Country {mcenum_country}
+ ,element Country {country}
,element CountryCoiMultiplier {nonnegative_double}
- ,element CreateSupplementalReport {lmibool}
+ ,element CreateSupplementalReport {yes_or_no}
,element CurrentCoiMultiplier {numeric_sequence}
,element DateOfBirth {calendar_date_int}
,element DeathBenefitOption {dbo_sequence}
- ,element DeathBenefitOptionFromIssue {"A"|"B"|"ROP"}
- ,element DeathBenefitOptionFromRetirement {"A"|"B"|"ROP"}
- ,element DefinitionOfLifeInsurance {"CVAT"|"GPT"|"Not 7702
compliant"}
- ,element DefinitionOfMaterialChange {"Unnecessary premium"
- |"Benefit increase"
- |"Later of increase or unnecessary
premium"
- |"Earlier of increase or unnecessary
premium"
- |"GPT adjustment event"}
+ ,element DeathBenefitOptionFromIssue {dbopt}
+ ,element DeathBenefitOptionFromRetirement {dbopt}
+ ,element DefinitionOfLifeInsurance {defn_life_ins}
+ ,element DefinitionOfMaterialChange {defn_material_change}
,element Dumpin {nonnegative_double}
,element EffectiveDate {calendar_date_int}
- ,element EffectiveDateToday {lmibool}
+ ,element EffectiveDateToday {yes_or_no}
,element EmployeeClass {text}
,element ExperienceRatingInitialKFactor {nonnegative_double}
,element ExperienceReserveRate {proportion_double}
,element External1035ExchangeAmount {nonnegative_double}
,element External1035ExchangeBasis {nonnegative_double}
- ,element External1035ExchangeFromMec {lmibool}
+ ,element External1035ExchangeFromMec {yes_or_no}
,element ExtraCompensationOnAssets {numeric_sequence}
,element ExtraCompensationOnPremium {numeric_sequence}
,element ExtraMonthlyCustodialFee {numeric_sequence}
,element FlatExtra {numeric_sequence}
,element Franchise {text}
,element FundAllocations {numeric_sequence}
- ,element FundChoiceType {"Average fund"
- |"Override fund"
- |"Choose funds"}
- ,element Gender {"Female"|"Male"|"Unisex"}
+ ,element FundChoiceType {fund_input_method}
+ ,element Gender {gender}
,element GeneralAccountRate {numeric_sequence}
- ,element GeneralAccountRateType {"Credited rate"|"Earned rate"}
- ,element GroupUnderwritingType {"Medical"
- |"Paramedical"
- |"Nonmedical"
- |"Simplified issue"
- |"Guaranteed issue"}
- ,element HoneymoonEndorsement {lmibool}
+ ,element GeneralAccountRateType {gen_acct_rate_type}
+ ,element GroupUnderwritingType {uw_basis}
+ ,element HoneymoonEndorsement {yes_or_no}
,element HoneymoonValueSpread {numeric_sequence}
- ,element IncludeInComposite {lmibool}
+ ,element IncludeInComposite {yes_or_no}
,element IndividualPaymentAmount {nonnegative_double}
- ,element IndividualPaymentMode {"Annual"
- |"Semiannual"
- |"Quarterly"
- |"Monthly"}
- ,element IndividualPaymentStrategy {"PmtInputScalar"
- |"PmtMinimum"
- |"PmtTarget"
- |"PmtMEP"
- |"PmtGLP"
- |"PmtGSP"
- |"PmtCorridor"
- |"PmtTable"}
+ ,element IndividualPaymentMode {mode}
+ ,element IndividualPaymentStrategy {pmt_strategy}
,element IndividualPaymentToAge {age_int}
- ,element IndividualPaymentToAlternative {mcenum_to_point}
+ ,element IndividualPaymentToAlternative {to_point}
,element IndividualPaymentToDuration {duration_int}
,element InforceAsOfDate {calendar_date_int}
,element InforceAvBeforeLastMc {nonnegative_double}
@@ -125,7 +105,7 @@
,element InforceGlp {nonnegative_double}
,element InforceGsp {nonnegative_double}
,element InforceHoneymoonValue {nonnegative_double}
- ,element InforceIsMec {lmibool}
+ ,element InforceIsMec {yes_or_no}
,element InforceLeastDeathBenefit {nonnegative_double}
,element InforceMonth {month_int}
,element InforceNetExperienceReserve {xsd:double}
@@ -143,146 +123,112 @@
,element InsuredPremiumTableFactor {nonnegative_double}
,element Internal1035ExchangeAmount {nonnegative_double}
,element Internal1035ExchangeBasis {nonnegative_double}
- ,element Internal1035ExchangeFromMec {lmibool}
+ ,element Internal1035ExchangeFromMec {yes_or_no}
,element IssueAge {age_int}
,element LastCoiReentryDate {calendar_date_int}
,element LastMaterialChangeDate {calendar_date_int}
,element LoanAmount {nonnegative_double}
,element LoanFromAge {age_int}
- ,element LoanFromAlternative {mcenum_from_point}
+ ,element LoanFromAlternative {from_point}
,element LoanFromDuration {duration_int}
,element LoanRate {proportion_double}
- ,element LoanRateType {"Fixed loan rate"|"Variable
loan rate"}
+ ,element LoanRateType {loan_rate_type}
,element LoanToAge {age_int}
- ,element LoanToAlternative {mcenum_to_point}
+ ,element LoanToAlternative {to_point}
,element LoanToDuration {duration_int}
,element MaleProportion {proportion_double}
,element MaximumNaar {nonnegative_double}
,element NewLoan {numeric_sequence}
,element NonsmokerProportion {proportion_double}
,element NumberOfIdenticalLives {xsd:nonNegativeInteger}
- ,element OverrideCoiMultiplier {lmibool}
- ,element OverrideExperienceReserveRate {lmibool}
- ,element OverrideFundManagementFee {lmibool}
+ ,element OverrideCoiMultiplier {yes_or_no}
+ ,element OverrideExperienceReserveRate {yes_or_no}
+ ,element OverrideFundManagementFee {yes_or_no}
,element PartialMortalityMultiplier {numeric_sequence}
,element Payment {payment_sequence}
,element PaymentMode {mode_sequence}
,element PolicyNumber {text}
,element PostHoneymoonSpread {proportion_double}
,element PremiumHistory {numeric_sequence}
- ,element PremiumTaxState {mcenum_state}
+ ,element PremiumTaxState {state}
# Enumerators for 'ProductName' depend on run-time context.
,element ProductName {text}
,element ProjectedSalary {numeric_sequence}
- ,element RetireesCanEnroll {lmibool}
+ ,element RetireesCanEnroll {yes_or_no}
,element RetirementAge {age_int}
- ,element RunOrder {"Life by life"|"Month by month"}
+ ,element RunOrder {run_order}
,element SalarySpecifiedAmountCap {nonnegative_double}
,element SalarySpecifiedAmountFactor {nonnegative_double}
,element SalarySpecifiedAmountOffset {nonnegative_double}
,element SeparateAccountRate {numeric_sequence}
- ,element SeparateAccountRateType {"Net rate"|"Gross rate"}
- ,element Smoking {"Smoker"|"Nonsmoker"|"Unismoke"}
- ,element SolveBasis
{"Current"|"Guaranteed"|"Midpoint"}
+ ,element SeparateAccountRateType {sep_acct_rate_type}
+ ,element Smoking {smoking}
+ ,element SolveBasis {gen_basis}
,element SolveBeginTime {duration_int}
,element SolveBeginYear {duration_int}
,element SolveEndTime {duration_int}
,element SolveEndYear {duration_int}
- ,element SolveFromWhich {mcenum_from_point}
- ,element SolveSeparateAccountBasis {"Hypothetical"
- |"Zero"
- |"Half of hypothetical"}
- ,element SolveTarget {"Endowment"
- |"Target CSV"
- |"CSV = tax basis"
- |"Avoid MEC"}
+ ,element SolveFromWhich {from_point}
+ ,element SolveSeparateAccountBasis {sep_basis}
+ ,element SolveTarget {solve_target}
,element SolveTargetCashSurrenderValue {nonnegative_double}
,element SolveTargetTime {duration_int}
,element SolveTargetYear {duration_int}
- ,element SolveTgtAtWhich {mcenum_to_point}
- ,element SolveToWhich {mcenum_to_point}
- ,element SolveType {"No solve"
- |"Specified amount"
- |"Employee premium"
- |"Employer premium"
- |"Loan"
- |"Withdrawal"}
+ ,element SolveTgtAtWhich {to_point}
+ ,element SolveToWhich {to_point}
+ ,element SolveType {solve_type}
,element SpecamtHistory {numeric_sequence}
,element SpecifiedAmount {specamt_sequence}
,element SpecifiedAmountFromIssue {nonnegative_double}
,element SpecifiedAmountFromRetirement {nonnegative_double}
- ,element SpecifiedAmountStrategyFromIssue {"SAInputScalar"
- |"SAMaximum"
- |"SATarget"
- |"SAMEP"
- |"SAGLP"
- |"SAGSP"
- |"SACorridor"
- |"SASalary"}
+ ,element SpecifiedAmountStrategyFromIssue {sa_strategy}
,element SpouseIssueAge {age_int}
- ,element SpouseRider {lmibool}
+ ,element SpouseRider {yes_or_no}
,element SpouseRiderAmount {nonnegative_double}
- ,element State {mcenum_state}
- ,element StateOfJurisdiction {mcenum_state}
- ,element SubstandardTable {"None"
- |"A=+25%"
- |"B=+50%"
- |"C=+75%"
- |"D=+100%"
- |"E=+125%"
- |"F=+150%"
- |"H=+200%"
- |"J=+250%"
- |"L=+300%"
- |"P=+400%"}
- ,element SupplementalReportColumn00 {mcenum_report_column}
- ,element SupplementalReportColumn01 {mcenum_report_column}
- ,element SupplementalReportColumn02 {mcenum_report_column}
- ,element SupplementalReportColumn03 {mcenum_report_column}
- ,element SupplementalReportColumn04 {mcenum_report_column}
- ,element SupplementalReportColumn05 {mcenum_report_column}
- ,element SupplementalReportColumn06 {mcenum_report_column}
- ,element SupplementalReportColumn07 {mcenum_report_column}
- ,element SupplementalReportColumn08 {mcenum_report_column}
- ,element SupplementalReportColumn09 {mcenum_report_column}
- ,element SupplementalReportColumn10 {mcenum_report_column}
- ,element SupplementalReportColumn11 {mcenum_report_column}
+ ,element State {state}
+ ,element StateOfJurisdiction {state}
+ ,element SubstandardTable {table_rating}
+ ,element SupplementalReportColumn00 {report_column}
+ ,element SupplementalReportColumn01 {report_column}
+ ,element SupplementalReportColumn02 {report_column}
+ ,element SupplementalReportColumn03 {report_column}
+ ,element SupplementalReportColumn04 {report_column}
+ ,element SupplementalReportColumn05 {report_column}
+ ,element SupplementalReportColumn06 {report_column}
+ ,element SupplementalReportColumn07 {report_column}
+ ,element SupplementalReportColumn08 {report_column}
+ ,element SupplementalReportColumn09 {report_column}
+ ,element SupplementalReportColumn10 {report_column}
+ ,element SupplementalReportColumn11 {report_column}
,element SurviveToAge {age_int}
- ,element SurviveToType {"No survival limit"
- |"Survive to age limit"
- |"Survive to duration limit"
- |"Survive to life expectancy"}
+ ,element SurviveToType {survival_limit}
,element SurviveToYear {duration_int}
,element TaxBracket {numeric_sequence}
- ,element TermAdjustmentMethod {"Adjust base first"
- |"Adjust term first"
- |"Adjust base and term proportionately"}
- ,element TermRider {lmibool}
+ ,element TermAdjustmentMethod {term_adj_method}
+ ,element TermRider {yes_or_no}
,element TermRiderAmount {nonnegative_double}
,element TermRiderProportion {proportion_double}
- ,element TermRiderUseProportion {lmibool}
+ ,element TermRiderUseProportion {yes_or_no}
,element TotalSpecifiedAmount {nonnegative_double}
- ,element UnderwritingClass
{"Preferred"|"Standard"|"Rated"|"Ultra"}
- ,element UseAverageOfAllFunds {lmibool}
- ,element UseCurrentDeclaredRate {lmibool}
- ,element UseDOB {lmibool}
- ,element UseExperienceRating {lmibool}
- ,element UsePartialMortality {lmibool}
- ,element WaiverOfPremiumBenefit {lmibool}
- ,element WithdrawToBasisThenLoan {lmibool}
+ ,element UnderwritingClass {class}
+ ,element UseAverageOfAllFunds {yes_or_no}
+ ,element UseCurrentDeclaredRate {yes_or_no}
+ ,element UseDOB {yes_or_no}
+ ,element UseExperienceRating {yes_or_no}
+ ,element UsePartialMortality {yes_or_no}
+ ,element WaiverOfPremiumBenefit {yes_or_no}
+ ,element WithdrawToBasisThenLoan {yes_or_no}
,element Withdrawal {numeric_sequence}
,element WithdrawalAmount {nonnegative_double}
,element WithdrawalFromAge {age_int}
- ,element WithdrawalFromAlternative {mcenum_from_point}
+ ,element WithdrawalFromAlternative {from_point}
,element WithdrawalFromDuration {duration_int}
,element WithdrawalToAge {age_int}
- ,element WithdrawalToAlternative {mcenum_to_point}
+ ,element WithdrawalToAlternative {to_point}
,element WithdrawalToDuration {duration_int}
,element ZipCode {text}
}
-lmibool = "Yes"|"No"
-
# It is infeasible to validate an input sequence with a regex.
numeric_sequence = text
@@ -308,94 +254,252 @@
# Enumerations.
-mcenum_to_point = "Retirement"|"Year"|"Age"|"Maturity"
+yes_or_no =
+ "No"
+ | "Yes"
-mcenum_from_point = "Issue"|"Year"|"Age"|"Retirement"
+gender =
+ "Female"
+ | "Male"
+ | "Unisex"
-mcenum_state = "AL"|"AK"|"AZ"|"AR"|"CA"|"CO"|"CT"|"DE"|"DC"|"FL"|"GA"
- | "HI"|"ID"|"IL"|"IN"|"IA"|"KS"|"KY"|"LA"|"ME"|"MD"|"MA"
- | "MI"|"MN"|"MS"|"MO"|"MT"|"NE"|"NV"|"NH"|"NJ"|"NM"|"NY"
- | "NC"|"ND"|"OH"|"OK"|"OR"|"PA"|"PR"|"RI"|"SC"|"SD"|"TN"
- | "TX"|"UT"|"VT"|"VA"|"WA"|"WV"|"WI"|"WY"|"XX"
+smoking =
+ "Smoker"
+ | "Nonsmoker"
+ | "Unismoke"
-mcenum_country = "AD"|"AE"|"AF"|"AG"|"AI"|"AL"|"AM"|"AN"|"AO"|"AQ"|"AR"
- | "AS"|"AT"|"AU"|"AW"|"AZ"|"BA"|"BB"|"BD"|"BE"|"BF"|"BG"
- | "BH"|"BI"|"BJ"|"BM"|"BN"|"BO"|"BR"|"BS"|"BT"|"BV"|"BW"
- | "BY"|"BZ"|"CA"|"CC"|"CD"|"CF"|"CG"|"CH"|"CI"|"CK"|"CL"
- | "CM"|"CN"|"CO"|"CR"|"CU"|"CV"|"CX"|"CY"|"CZ"|"DE"|"DJ"
- | "DK"|"DM"|"DO"|"DZ"|"EC"|"EE"|"EG"|"EH"|"ER"|"ES"|"ET"
- | "FI"|"FJ"|"FK"|"FM"|"FO"|"FR"|"GA"|"GB"|"GD"|"GE"|"GF"
- | "GH"|"GI"|"GL"|"GM"|"GN"|"GP"|"GQ"|"GR"|"GS"|"GT"|"GU"
- | "GW"|"GY"|"HK"|"HM"|"HN"|"HR"|"HT"|"HU"|"ID"|"IE"|"IL"
- | "IN"|"IO"|"IQ"|"IR"|"IS"|"IT"|"JM"|"JO"|"JP"|"KE"|"KG"
- | "KH"|"KI"|"KM"|"KN"|"KP"|"KR"|"KW"|"KY"|"KZ"|"LA"|"LB"
- | "LC"|"LI"|"LK"|"LR"|"LS"|"LT"|"LU"|"LV"|"LY"|"MA"|"MC"
- | "MD"|"MG"|"MH"|"MK"|"ML"|"MM"|"MN"|"MO"|"MP"|"MQ"|"MR"
- | "MS"|"MT"|"MU"|"MV"|"MW"|"MX"|"MY"|"MZ"|"NA"|"NC"|"NE"
- | "NF"|"NG"|"NI"|"NL"|"NO"|"NP"|"NR"|"NU"|"NZ"|"OM"|"PA"
- | "PE"|"PF"|"PG"|"PH"|"PK"|"PL"|"PM"|"PN"|"PR"|"PS"|"PT"
- | "PW"|"PY"|"QA"|"RE"|"RO"|"RU"|"RW"|"SA"|"SB"|"SC"|"SD"
- | "SE"|"SG"|"SH"|"SI"|"SJ"|"SK"|"SL"|"SM"|"SN"|"SO"|"SR"
- | "ST"|"SV"|"SY"|"SZ"|"TC"|"TD"|"TF"|"TG"|"TH"|"TJ"|"TK"
- | "TM"|"TN"|"TO"|"TP"|"TR"|"TT"|"TV"|"TW"|"TZ"|"UA"|"UG"
- | "UM"|"US"|"UY"|"UZ"|"VA"|"VC"|"VE"|"VG"|"VI"|"VN"|"VU"
- | "WF"|"WS"|"YE"|"YT"|"YU"|"ZA"|"ZM"|"ZW"
+class =
+ "Preferred"
+ | "Standard"
+ | "Rated"
+ | "Ultra"
-mcenum_report_column = "[none]"
- | "AttainedAge"
- | "PolicyYear"
- | "InforceLives"
- | "SpecAmt"
- | "TermSpecAmt"
- | "CorridorFactor"
- | "AnnGAIntRate_Current"
- | "AnnSAIntRate_Current"
- | "Outlay"
- | "EeGrossPmt"
- | "ErGrossPmt"
- | "NetWD"
- | "NewCashLoan"
- | "TotalLoanBalance_Current"
- | "TotalLoanBalance_Guaranteed"
- | "AcctVal_Current"
- | "AcctVal_Guaranteed"
- | "CSVNet_Current"
- | "CSVNet_Guaranteed"
- | "EOYDeathBft_Current"
- | "EOYDeathBft_Guaranteed"
- | "BaseDeathBft_Current"
- | "BaseDeathBft_Guaranteed"
- | "TermPurchased_Current"
- | "TermPurchased_Guaranteed"
- | "COICharge_Current"
- | "COICharge_Guaranteed"
- | "RiderCharges_Current"
- | "IrrCsv_Current"
- | "IrrCsv_Guaranteed"
- | "IrrDb_Current"
- | "IrrDb_Guaranteed"
- | "ExperienceReserve_Current"
- | "NetClaims_Current"
- | "NetCOICharge_Current"
- | "ProjectedCoiCharge_Current"
- | "KFactor_Current"
- | "GrossPmt"
- | "LoanIntAccrued_Current"
- | "NetDeathBenefit"
- | "DeathProceedsPaid_Current"
- | "ClaimsPaid_Current"
- | "AVRelOnDeath_Current"
- | "SpecAmtLoad_Current"
- | "GrossIntCredited_Current"
- | "NetIntCredited_Current"
- | "SepAcctCharges_Current"
- | "PolicyFee_Current"
- | "AVGenAcct_CurrentZero"
- | "AVGenAcct_GuaranteedZero"
- | "AVSepAcct_CurrentZero"
- | "AVSepAcct_GuaranteedZero"
- | "AcctVal_CurrentZero"
- | "AcctVal_GuaranteedZero"
- | "CSVNet_CurrentZero"
- | "CSVNet_GuaranteedZero"
+dbopt =
+ "A"
+ | "B"
+ | "ROP"
+mode =
+ "Annual"
+ | "Semiannual"
+ | "Quarterly"
+ | "Monthly"
+
+gen_basis =
+ "Current"
+ | "Guaranteed"
+ | "Midpoint"
+
+sep_basis =
+ "Hypothetical"
+ | "Zero"
+ | "Half of hypothetical"
+
+uw_basis =
+ "Medical"
+ | "Paramedical"
+ | "Nonmedical"
+ | "Simplified issue"
+ | "Guaranteed issue"
+
+table_rating =
+ "None"
+ | "A=+25%"
+ | "B=+50%"
+ | "C=+75%"
+ | "D=+100%"
+ | "E=+125%"
+ | "F=+150%"
+ | "H=+200%"
+ | "J=+250%"
+ | "L=+300%"
+ | "P=+400%"
+
+solve_type =
+ "No solve"
+ | "Specified amount"
+ | "Employee premium"
+ | "Employer premium"
+ | "Loan"
+ | "Withdrawal"
+
+solve_target =
+ "Endowment"
+ | "Target CSV"
+ | "CSV = tax basis"
+ | "Avoid MEC"
+
+pmt_strategy =
+ "PmtInputScalar"
+ | "PmtMinimum"
+ | "PmtTarget"
+ | "PmtMEP"
+ | "PmtGLP"
+ | "PmtGSP"
+ | "PmtCorridor"
+ | "PmtTable"
+
+sa_strategy =
+ "SAInputScalar"
+ | "SAMaximum"
+ | "SATarget"
+ | "SAMEP"
+ | "SAGLP"
+ | "SAGSP"
+ | "SACorridor"
+ | "SASalary"
+
+gen_acct_rate_type =
+ "Credited rate"
+ | "Earned rate"
+
+sep_acct_rate_type =
+ "Net rate"
+ | "Gross rate"
+
+loan_rate_type =
+ "Fixed loan rate"
+ | "Variable loan rate"
+
+fund_input_method =
+ "Average fund"
+ | "Override fund"
+ | "Choose funds"
+
+run_order =
+ "Life by life"
+ | "Month by month"
+
+survival_limit =
+ "No survival limit"
+ | "Survive to age limit"
+ | "Survive to duration limit"
+ | "Survive to life expectancy"
+
+term_adj_method =
+ "Adjust base first"
+ | "Adjust term first"
+ | "Adjust base and term proportionately"
+
+state =
+ "AL" | "AK" | "AZ" | "AR" | "CA" | "CO" | "CT" | "DE" | "DC" | "FL"
+ | "GA" | "HI" | "ID" | "IL" | "IN" | "IA" | "KS" | "KY" | "LA" | "ME"
+ | "MD" | "MA" | "MI" | "MN" | "MS" | "MO" | "MT" | "NE" | "NV" | "NH"
+ | "NJ" | "NM" | "NY" | "NC" | "ND" | "OH" | "OK" | "OR" | "PA" | "PR"
+ | "RI" | "SC" | "SD" | "TN" | "TX" | "UT" | "VT" | "VA" | "WA" | "WV"
+ | "WI" | "WY"
+ | "XX"
+
+country =
+ "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AN" | "AO" | "AQ"
+ | "AR" | "AS" | "AT" | "AU" | "AW" | "AZ" | "BA" | "BB" | "BD" | "BE"
+ | "BF" | "BG" | "BH" | "BI" | "BJ" | "BM" | "BN" | "BO" | "BR" | "BS"
+ | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG"
+ | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV"
+ | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC"
+ | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM"
+ | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GH" | "GI" | "GL"
+ | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY"
+ | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IN"
+ | "IO" | "IQ" | "IR" | "IS" | "IT" | "JM" | "JO" | "JP" | "KE" | "KG"
+ | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA"
+ | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY"
+ | "MA" | "MC" | "MD" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO"
+ | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY"
+ | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP"
+ | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK"
+ | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE"
+ | "RO" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH"
+ | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "ST" | "SV"
+ | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TM"
+ | "TN" | "TO" | "TP" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG"
+ | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN"
+ | "VU" | "WF" | "WS" | "YE" | "YT" | "YU" | "ZA" | "ZM" | "ZW"
+
+defn_life_ins =
+ "CVAT"
+ | "GPT"
+ | "Not 7702 compliant"
+
+mec_avoid_method =
+ "Allow MEC"
+ | "Reduce premium"
+
+defn_material_change =
+ "Unnecessary premium"
+ | "Benefit increase"
+ | "Later of increase or unnecessary premium"
+ | "Earlier of increase or unnecessary premium"
+ | "GPT adjustment event"
+
+from_point =
+ "Issue"
+ | "Year"
+ | "Age"
+ | "Retirement"
+
+to_point =
+ "Retirement"
+ | "Year"
+ | "Age"
+ | "Maturity"
+
+report_column =
+ "[none]"
+ | "AttainedAge"
+ | "PolicyYear"
+ | "InforceLives"
+ | "SpecAmt"
+ | "TermSpecAmt"
+ | "CorridorFactor"
+ | "AnnGAIntRate_Current"
+ | "AnnSAIntRate_Current"
+ | "Outlay"
+ | "EeGrossPmt"
+ | "ErGrossPmt"
+ | "NetWD"
+ | "NewCashLoan"
+ | "TotalLoanBalance_Current"
+ | "TotalLoanBalance_Guaranteed"
+ | "AcctVal_Current"
+ | "AcctVal_Guaranteed"
+ | "CSVNet_Current"
+ | "CSVNet_Guaranteed"
+ | "EOYDeathBft_Current"
+ | "EOYDeathBft_Guaranteed"
+ | "BaseDeathBft_Current"
+ | "BaseDeathBft_Guaranteed"
+ | "TermPurchased_Current"
+ | "TermPurchased_Guaranteed"
+ | "COICharge_Current"
+ | "COICharge_Guaranteed"
+ | "RiderCharges_Current"
+ | "IrrCsv_Current"
+ | "IrrCsv_Guaranteed"
+ | "IrrDb_Current"
+ | "IrrDb_Guaranteed"
+ | "ExperienceReserve_Current"
+ | "NetClaims_Current"
+ | "NetCOICharge_Current"
+ | "ProjectedCoiCharge_Current"
+ | "KFactor_Current"
+ | "GrossPmt"
+ | "LoanIntAccrued_Current"
+ | "NetDeathBenefit"
+ | "DeathProceedsPaid_Current"
+ | "ClaimsPaid_Current"
+ | "AVRelOnDeath_Current"
+ | "SpecAmtLoad_Current"
+ | "GrossIntCredited_Current"
+ | "NetIntCredited_Current"
+ | "SepAcctCharges_Current"
+ | "PolicyFee_Current"
+ | "AVGenAcct_CurrentZero"
+ | "AVGenAcct_GuaranteedZero"
+ | "AVSepAcct_CurrentZero"
+ | "AVSepAcct_GuaranteedZero"
+ | "AcctVal_CurrentZero"
+ | "AcctVal_GuaranteedZero"
+ | "CSVNet_CurrentZero"
+ | "CSVNet_GuaranteedZero"
+
Modified: lmi/trunk/cell.xsd
===================================================================
--- lmi/trunk/cell.xsd 2012-03-26 12:31:42 UTC (rev 5441)
+++ lmi/trunk/cell.xsd 2012-03-27 12:22:13 UTC (rev 5442)
@@ -244,28 +244,21 @@
</xs:attribute>
</xs:complexType>
</xs:element>
- <xs:element name="AccidentalDeathBenefit" type="lmibool"/>
+ <xs:element name="AccidentalDeathBenefit" type="yes_or_no"/>
<xs:element name="Address" type="xs:string"/>
<xs:element name="AgentAddress" type="xs:string"/>
<xs:element name="AgentCity" type="xs:string"/>
<xs:element name="AgentId" type="xs:string"/>
<xs:element name="AgentName" type="xs:string"/>
<xs:element name="AgentPhone" type="xs:string"/>
- <xs:element name="AgentState" type="mcenum_state"/>
+ <xs:element name="AgentState" type="state"/>
<xs:element name="AgentZipCode" type="xs:string"/>
- <xs:element name="AmortizePremiumLoad" type="lmibool"/>
- <xs:element name="AvoidMecMethod">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Allow MEC"/>
- <xs:enumeration value="Reduce premium"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="BlendGender" type="lmibool"/>
- <xs:element name="BlendSmoking" type="lmibool"/>
+ <xs:element name="AmortizePremiumLoad" type="yes_or_no"/>
+ <xs:element name="AvoidMecMethod" type="mec_avoid_method"/>
+ <xs:element name="BlendGender" type="yes_or_no"/>
+ <xs:element name="BlendSmoking" type="yes_or_no"/>
<xs:element name="CashValueEnhancementRate" type="xs:string"/>
- <xs:element name="ChildRider" type="lmibool"/>
+ <xs:element name="ChildRider" type="yes_or_no"/>
<xs:element name="ChildRiderAmount" type="nonnegative_double"/>
<xs:element name="City" type="xs:string"/>
<xs:element name="Comments" type="xs:string"/>
@@ -275,136 +268,47 @@
<xs:element name="CorporationPayment" type="xs:string"/>
<xs:element name="CorporationPaymentMode" type="xs:string"/>
<xs:element name="CorporationPremiumTableFactor" type="nonnegative_double"/>
- <xs:element name="CorporationState" type="mcenum_state"/>
+ <xs:element name="CorporationState" type="state"/>
<xs:element name="CorporationTaxBracket" type="xs:string"/>
<xs:element name="CorporationZipCode" type="xs:string"/>
- <xs:element name="Country" type="mcenum_country"/>
+ <xs:element name="Country" type="country"/>
<xs:element name="CountryCoiMultiplier" type="nonnegative_double"/>
- <xs:element name="CreateSupplementalReport" type="lmibool"/>
+ <xs:element name="CreateSupplementalReport" type="yes_or_no"/>
<xs:element name="CurrentCoiMultiplier" type="xs:string"/>
<xs:element name="DateOfBirth" type="calendar_date_int"/>
<xs:element name="DeathBenefitOption" type="xs:string"/>
- <xs:element name="DeathBenefitOptionFromIssue">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="A"/>
- <xs:enumeration value="B"/>
- <xs:enumeration value="ROP"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DeathBenefitOptionFromRetirement">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="A"/>
- <xs:enumeration value="B"/>
- <xs:enumeration value="ROP"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DefinitionOfLifeInsurance">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="CVAT"/>
- <xs:enumeration value="GPT"/>
- <xs:enumeration value="Not 7702 compliant"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DefinitionOfMaterialChange">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Unnecessary premium"/>
- <xs:enumeration value="Benefit increase"/>
- <xs:enumeration value="Later of increase or unnecessary premium"/>
- <xs:enumeration value="Earlier of increase or unnecessary premium"/>
- <xs:enumeration value="GPT adjustment event"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="DeathBenefitOptionFromIssue" type="dbopt"/>
+ <xs:element name="DeathBenefitOptionFromRetirement" type="dbopt"/>
+ <xs:element name="DefinitionOfLifeInsurance" type="defn_life_ins"/>
+ <xs:element name="DefinitionOfMaterialChange" type="defn_material_change"/>
<xs:element name="Dumpin" type="nonnegative_double"/>
<xs:element name="EffectiveDate" type="calendar_date_int"/>
- <xs:element name="EffectiveDateToday" type="lmibool"/>
+ <xs:element name="EffectiveDateToday" type="yes_or_no"/>
<xs:element name="EmployeeClass" type="xs:string"/>
<xs:element name="ExperienceRatingInitialKFactor" type="nonnegative_double"/>
<xs:element name="ExperienceReserveRate" type="proportion_double"/>
<xs:element name="External1035ExchangeAmount" type="nonnegative_double"/>
<xs:element name="External1035ExchangeBasis" type="nonnegative_double"/>
- <xs:element name="External1035ExchangeFromMec" type="lmibool"/>
+ <xs:element name="External1035ExchangeFromMec" type="yes_or_no"/>
<xs:element name="ExtraCompensationOnAssets" type="xs:string"/>
<xs:element name="ExtraCompensationOnPremium" type="xs:string"/>
<xs:element name="ExtraMonthlyCustodialFee" type="xs:string"/>
<xs:element name="FlatExtra" type="xs:string"/>
<xs:element name="Franchise" type="xs:string"/>
<xs:element name="FundAllocations" type="xs:string"/>
- <xs:element name="FundChoiceType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Average fund"/>
- <xs:enumeration value="Override fund"/>
- <xs:enumeration value="Choose funds"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Gender">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Female"/>
- <xs:enumeration value="Male"/>
- <xs:enumeration value="Unisex"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="FundChoiceType" type="fund_input_method"/>
+ <xs:element name="Gender" type="gender"/>
<xs:element name="GeneralAccountRate" type="xs:string"/>
- <xs:element name="GeneralAccountRateType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Credited rate"/>
- <xs:enumeration value="Earned rate"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="GroupUnderwritingType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Medical"/>
- <xs:enumeration value="Paramedical"/>
- <xs:enumeration value="Nonmedical"/>
- <xs:enumeration value="Simplified issue"/>
- <xs:enumeration value="Guaranteed issue"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="HoneymoonEndorsement" type="lmibool"/>
+ <xs:element name="GeneralAccountRateType" type="gen_acct_rate_type"/>
+ <xs:element name="GroupUnderwritingType" type="uw_basis"/>
+ <xs:element name="HoneymoonEndorsement" type="yes_or_no"/>
<xs:element name="HoneymoonValueSpread" type="xs:string"/>
- <xs:element name="IncludeInComposite" type="lmibool"/>
+ <xs:element name="IncludeInComposite" type="yes_or_no"/>
<xs:element name="IndividualPaymentAmount" type="nonnegative_double"/>
- <xs:element name="IndividualPaymentMode">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Annual"/>
- <xs:enumeration value="Semiannual"/>
- <xs:enumeration value="Quarterly"/>
- <xs:enumeration value="Monthly"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="IndividualPaymentStrategy">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="PmtInputScalar"/>
- <xs:enumeration value="PmtMinimum"/>
- <xs:enumeration value="PmtTarget"/>
- <xs:enumeration value="PmtMEP"/>
- <xs:enumeration value="PmtGLP"/>
- <xs:enumeration value="PmtGSP"/>
- <xs:enumeration value="PmtCorridor"/>
- <xs:enumeration value="PmtTable"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="IndividualPaymentMode" type="mode"/>
+ <xs:element name="IndividualPaymentStrategy" type="pmt_strategy"/>
<xs:element name="IndividualPaymentToAge" type="age_int"/>
- <xs:element name="IndividualPaymentToAlternative" type="mcenum_to_point"/>
+ <xs:element name="IndividualPaymentToAlternative" type="to_point"/>
<xs:element name="IndividualPaymentToDuration" type="duration_int"/>
<xs:element name="InforceAsOfDate" type="calendar_date_int"/>
<xs:element name="InforceAvBeforeLastMc" type="nonnegative_double"/>
@@ -418,7 +322,7 @@
<xs:element name="InforceGlp" type="nonnegative_double"/>
<xs:element name="InforceGsp" type="nonnegative_double"/>
<xs:element name="InforceHoneymoonValue" type="nonnegative_double"/>
- <xs:element name="InforceIsMec" type="lmibool"/>
+ <xs:element name="InforceIsMec" type="yes_or_no"/>
<xs:element name="InforceLeastDeathBenefit" type="nonnegative_double"/>
<xs:element name="InforceMonth" type="month_int"/>
<xs:element name="InforceNetExperienceReserve" type="xs:double"/>
@@ -436,235 +340,109 @@
<xs:element name="InsuredPremiumTableFactor" type="nonnegative_double"/>
<xs:element name="Internal1035ExchangeAmount" type="nonnegative_double"/>
<xs:element name="Internal1035ExchangeBasis" type="nonnegative_double"/>
- <xs:element name="Internal1035ExchangeFromMec" type="lmibool"/>
+ <xs:element name="Internal1035ExchangeFromMec" type="yes_or_no"/>
<xs:element name="IssueAge" type="age_int"/>
<xs:element name="LastCoiReentryDate" type="calendar_date_int"/>
<xs:element name="LastMaterialChangeDate" type="calendar_date_int"/>
<xs:element name="LoanAmount" type="nonnegative_double"/>
<xs:element name="LoanFromAge" type="age_int"/>
- <xs:element name="LoanFromAlternative" type="mcenum_from_point"/>
+ <xs:element name="LoanFromAlternative" type="from_point"/>
<xs:element name="LoanFromDuration" type="duration_int"/>
<xs:element name="LoanRate" type="proportion_double"/>
- <xs:element name="LoanRateType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Fixed loan rate"/>
- <xs:enumeration value="Variable loan rate"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="LoanRateType" type="loan_rate_type"/>
<xs:element name="LoanToAge" type="age_int"/>
- <xs:element name="LoanToAlternative" type="mcenum_to_point"/>
+ <xs:element name="LoanToAlternative" type="to_point"/>
<xs:element name="LoanToDuration" type="duration_int"/>
<xs:element name="MaleProportion" type="proportion_double"/>
<xs:element name="MaximumNaar" type="nonnegative_double"/>
<xs:element name="NewLoan" type="xs:string"/>
<xs:element name="NonsmokerProportion" type="proportion_double"/>
<xs:element name="NumberOfIdenticalLives" type="xs:nonNegativeInteger"/>
- <xs:element name="OverrideCoiMultiplier" type="lmibool"/>
- <xs:element name="OverrideExperienceReserveRate" type="lmibool"/>
- <xs:element name="OverrideFundManagementFee" type="lmibool"/>
+ <xs:element name="OverrideCoiMultiplier" type="yes_or_no"/>
+ <xs:element name="OverrideExperienceReserveRate" type="yes_or_no"/>
+ <xs:element name="OverrideFundManagementFee" type="yes_or_no"/>
<xs:element name="PartialMortalityMultiplier" type="xs:string"/>
<xs:element name="Payment" type="xs:string"/>
<xs:element name="PaymentMode" type="xs:string"/>
<xs:element name="PolicyNumber" type="xs:string"/>
<xs:element name="PostHoneymoonSpread" type="proportion_double"/>
<xs:element name="PremiumHistory" type="xs:string"/>
- <xs:element name="PremiumTaxState" type="mcenum_state"/>
+ <xs:element name="PremiumTaxState" type="state"/>
<xs:element name="ProductName" type="xs:string"/>
<xs:element name="ProjectedSalary" type="xs:string"/>
- <xs:element name="RetireesCanEnroll" type="lmibool"/>
+ <xs:element name="RetireesCanEnroll" type="yes_or_no"/>
<xs:element name="RetirementAge" type="age_int"/>
- <xs:element name="RunOrder">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Life by life"/>
- <xs:enumeration value="Month by month"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="RunOrder" type="run_order"/>
<xs:element name="SalarySpecifiedAmountCap" type="nonnegative_double"/>
<xs:element name="SalarySpecifiedAmountFactor" type="nonnegative_double"/>
<xs:element name="SalarySpecifiedAmountOffset" type="nonnegative_double"/>
<xs:element name="SeparateAccountRate" type="xs:string"/>
- <xs:element name="SeparateAccountRateType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Net rate"/>
- <xs:enumeration value="Gross rate"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Smoking">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Smoker"/>
- <xs:enumeration value="Nonsmoker"/>
- <xs:enumeration value="Unismoke"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="SolveBasis">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Current"/>
- <xs:enumeration value="Guaranteed"/>
- <xs:enumeration value="Midpoint"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="SeparateAccountRateType" type="sep_acct_rate_type"/>
+ <xs:element name="Smoking" type="smoking"/>
+ <xs:element name="SolveBasis" type="gen_basis"/>
<xs:element name="SolveBeginTime" type="duration_int"/>
<xs:element name="SolveBeginYear" type="duration_int"/>
<xs:element name="SolveEndTime" type="duration_int"/>
<xs:element name="SolveEndYear" type="duration_int"/>
- <xs:element name="SolveFromWhich" type="mcenum_from_point"/>
- <xs:element name="SolveSeparateAccountBasis">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Hypothetical"/>
- <xs:enumeration value="Zero"/>
- <xs:enumeration value="Half of hypothetical"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="SolveTarget">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Endowment"/>
- <xs:enumeration value="Target CSV"/>
- <xs:enumeration value="CSV = tax basis"/>
- <xs:enumeration value="Avoid MEC"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="SolveFromWhich" type="from_point"/>
+ <xs:element name="SolveSeparateAccountBasis" type="sep_basis"/>
+ <xs:element name="SolveTarget" type="solve_target"/>
<xs:element name="SolveTargetCashSurrenderValue" type="nonnegative_double"/>
<xs:element name="SolveTargetTime" type="duration_int"/>
<xs:element name="SolveTargetYear" type="duration_int"/>
- <xs:element name="SolveTgtAtWhich" type="mcenum_to_point"/>
- <xs:element name="SolveToWhich" type="mcenum_to_point"/>
- <xs:element name="SolveType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="No solve"/>
- <xs:enumeration value="Specified amount"/>
- <xs:enumeration value="Employee premium"/>
- <xs:enumeration value="Employer premium"/>
- <xs:enumeration value="Loan"/>
- <xs:enumeration value="Withdrawal"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="SolveTgtAtWhich" type="to_point"/>
+ <xs:element name="SolveToWhich" type="to_point"/>
+ <xs:element name="SolveType" type="solve_type"/>
<xs:element name="SpecamtHistory" type="xs:string"/>
<xs:element name="SpecifiedAmount" type="xs:string"/>
<xs:element name="SpecifiedAmountFromIssue" type="nonnegative_double"/>
<xs:element name="SpecifiedAmountFromRetirement" type="nonnegative_double"/>
- <xs:element name="SpecifiedAmountStrategyFromIssue">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="SAInputScalar"/>
- <xs:enumeration value="SAMaximum"/>
- <xs:enumeration value="SATarget"/>
- <xs:enumeration value="SAMEP"/>
- <xs:enumeration value="SAGLP"/>
- <xs:enumeration value="SAGSP"/>
- <xs:enumeration value="SACorridor"/>
- <xs:enumeration value="SASalary"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="SpecifiedAmountStrategyFromIssue" type="sa_strategy"/>
<xs:element name="SpouseIssueAge" type="age_int"/>
- <xs:element name="SpouseRider" type="lmibool"/>
+ <xs:element name="SpouseRider" type="yes_or_no"/>
<xs:element name="SpouseRiderAmount" type="nonnegative_double"/>
- <xs:element name="State" type="mcenum_state"/>
- <xs:element name="StateOfJurisdiction" type="mcenum_state"/>
- <xs:element name="SubstandardTable">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="None"/>
- <xs:enumeration value="A=+25%"/>
- <xs:enumeration value="B=+50%"/>
- <xs:enumeration value="C=+75%"/>
- <xs:enumeration value="D=+100%"/>
- <xs:enumeration value="E=+125%"/>
- <xs:enumeration value="F=+150%"/>
- <xs:enumeration value="H=+200%"/>
- <xs:enumeration value="J=+250%"/>
- <xs:enumeration value="L=+300%"/>
- <xs:enumeration value="P=+400%"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="SupplementalReportColumn00" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn01" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn02" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn03" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn04" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn05" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn06" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn07" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn08" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn09" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn10" type="mcenum_report_column"/>
- <xs:element name="SupplementalReportColumn11" type="mcenum_report_column"/>
+ <xs:element name="State" type="state"/>
+ <xs:element name="StateOfJurisdiction" type="state"/>
+ <xs:element name="SubstandardTable" type="table_rating"/>
+ <xs:element name="SupplementalReportColumn00" type="report_column"/>
+ <xs:element name="SupplementalReportColumn01" type="report_column"/>
+ <xs:element name="SupplementalReportColumn02" type="report_column"/>
+ <xs:element name="SupplementalReportColumn03" type="report_column"/>
+ <xs:element name="SupplementalReportColumn04" type="report_column"/>
+ <xs:element name="SupplementalReportColumn05" type="report_column"/>
+ <xs:element name="SupplementalReportColumn06" type="report_column"/>
+ <xs:element name="SupplementalReportColumn07" type="report_column"/>
+ <xs:element name="SupplementalReportColumn08" type="report_column"/>
+ <xs:element name="SupplementalReportColumn09" type="report_column"/>
+ <xs:element name="SupplementalReportColumn10" type="report_column"/>
+ <xs:element name="SupplementalReportColumn11" type="report_column"/>
<xs:element name="SurviveToAge" type="age_int"/>
- <xs:element name="SurviveToType">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="No survival limit"/>
- <xs:enumeration value="Survive to age limit"/>
- <xs:enumeration value="Survive to duration limit"/>
- <xs:enumeration value="Survive to life expectancy"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
+ <xs:element name="SurviveToType" type="survival_limit"/>
<xs:element name="SurviveToYear" type="duration_int"/>
<xs:element name="TaxBracket" type="xs:string"/>
- <xs:element name="TermAdjustmentMethod">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Adjust base first"/>
- <xs:enumeration value="Adjust term first"/>
- <xs:enumeration value="Adjust base and term proportionately"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="TermRider" type="lmibool"/>
+ <xs:element name="TermAdjustmentMethod" type="term_adj_method"/>
+ <xs:element name="TermRider" type="yes_or_no"/>
<xs:element name="TermRiderAmount" type="nonnegative_double"/>
<xs:element name="TermRiderProportion" type="proportion_double"/>
- <xs:element name="TermRiderUseProportion" type="lmibool"/>
+ <xs:element name="TermRiderUseProportion" type="yes_or_no"/>
<xs:element name="TotalSpecifiedAmount" type="nonnegative_double"/>
- <xs:element name="UnderwritingClass">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:enumeration value="Preferred"/>
- <xs:enumeration value="Standard"/>
- <xs:enumeration value="Rated"/>
- <xs:enumeration value="Ultra"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="UseAverageOfAllFunds" type="lmibool"/>
- <xs:element name="UseCurrentDeclaredRate" type="lmibool"/>
- <xs:element name="UseDOB" type="lmibool"/>
- <xs:element name="UseExperienceRating" type="lmibool"/>
- <xs:element name="UsePartialMortality" type="lmibool"/>
- <xs:element name="WaiverOfPremiumBenefit" type="lmibool"/>
- <xs:element name="WithdrawToBasisThenLoan" type="lmibool"/>
+ <xs:element name="UnderwritingClass" type="class"/>
+ <xs:element name="UseAverageOfAllFunds" type="yes_or_no"/>
+ <xs:element name="UseCurrentDeclaredRate" type="yes_or_no"/>
+ <xs:element name="UseDOB" type="yes_or_no"/>
+ <xs:element name="UseExperienceRating" type="yes_or_no"/>
+ <xs:element name="UsePartialMortality" type="yes_or_no"/>
+ <xs:element name="WaiverOfPremiumBenefit" type="yes_or_no"/>
+ <xs:element name="WithdrawToBasisThenLoan" type="yes_or_no"/>
<xs:element name="Withdrawal" type="xs:string"/>
<xs:element name="WithdrawalAmount" type="nonnegative_double"/>
<xs:element name="WithdrawalFromAge" type="age_int"/>
- <xs:element name="WithdrawalFromAlternative" type="mcenum_from_point"/>
+ <xs:element name="WithdrawalFromAlternative" type="from_point"/>
<xs:element name="WithdrawalFromDuration" type="duration_int"/>
<xs:element name="WithdrawalToAge" type="age_int"/>
- <xs:element name="WithdrawalToAlternative" type="mcenum_to_point"/>
+ <xs:element name="WithdrawalToAlternative" type="to_point"/>
<xs:element name="WithdrawalToDuration" type="duration_int"/>
<xs:element name="ZipCode" type="xs:string"/>
- <xs:simpleType name="lmibool">
- <xs:restriction base="xs:token">
- <xs:enumeration value="Yes"/>
- <xs:enumeration value="No"/>
- </xs:restriction>
- </xs:simpleType>
<!-- It is infeasible to validate an input sequence with a regex. -->
<!-- Numeric-range types. -->
<xs:simpleType name="nonnegative_double">
@@ -701,24 +479,177 @@
</xs:restriction>
</xs:simpleType>
<!-- Enumerations. -->
- <xs:simpleType name="mcenum_to_point">
+ <xs:simpleType name="yes_or_no">
<xs:restriction base="xs:token">
- <xs:enumeration value="Retirement"/>
- <xs:enumeration value="Year"/>
- <xs:enumeration value="Age"/>
- <xs:enumeration value="Maturity"/>
+ <xs:enumeration value="No"/>
+ <xs:enumeration value="Yes"/>
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="mcenum_from_point">
+ <xs:simpleType name="gender">
<xs:restriction base="xs:token">
- <xs:enumeration value="Issue"/>
- <xs:enumeration value="Year"/>
- <xs:enumeration value="Age"/>
- <xs:enumeration value="Retirement"/>
+ <xs:enumeration value="Female"/>
+ <xs:enumeration value="Male"/>
+ <xs:enumeration value="Unisex"/>
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="mcenum_state">
+ <xs:simpleType name="smoking">
<xs:restriction base="xs:token">
+ <xs:enumeration value="Smoker"/>
+ <xs:enumeration value="Nonsmoker"/>
+ <xs:enumeration value="Unismoke"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="class">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Preferred"/>
+ <xs:enumeration value="Standard"/>
+ <xs:enumeration value="Rated"/>
+ <xs:enumeration value="Ultra"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="dbopt">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="A"/>
+ <xs:enumeration value="B"/>
+ <xs:enumeration value="ROP"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="mode">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Annual"/>
+ <xs:enumeration value="Semiannual"/>
+ <xs:enumeration value="Quarterly"/>
+ <xs:enumeration value="Monthly"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="gen_basis">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Current"/>
+ <xs:enumeration value="Guaranteed"/>
+ <xs:enumeration value="Midpoint"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="sep_basis">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Hypothetical"/>
+ <xs:enumeration value="Zero"/>
+ <xs:enumeration value="Half of hypothetical"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="uw_basis">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Medical"/>
+ <xs:enumeration value="Paramedical"/>
+ <xs:enumeration value="Nonmedical"/>
+ <xs:enumeration value="Simplified issue"/>
+ <xs:enumeration value="Guaranteed issue"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="table_rating">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="None"/>
+ <xs:enumeration value="A=+25%"/>
+ <xs:enumeration value="B=+50%"/>
+ <xs:enumeration value="C=+75%"/>
+ <xs:enumeration value="D=+100%"/>
+ <xs:enumeration value="E=+125%"/>
+ <xs:enumeration value="F=+150%"/>
+ <xs:enumeration value="H=+200%"/>
+ <xs:enumeration value="J=+250%"/>
+ <xs:enumeration value="L=+300%"/>
+ <xs:enumeration value="P=+400%"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="solve_type">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="No solve"/>
+ <xs:enumeration value="Specified amount"/>
+ <xs:enumeration value="Employee premium"/>
+ <xs:enumeration value="Employer premium"/>
+ <xs:enumeration value="Loan"/>
+ <xs:enumeration value="Withdrawal"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="solve_target">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Endowment"/>
+ <xs:enumeration value="Target CSV"/>
+ <xs:enumeration value="CSV = tax basis"/>
+ <xs:enumeration value="Avoid MEC"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="pmt_strategy">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="PmtInputScalar"/>
+ <xs:enumeration value="PmtMinimum"/>
+ <xs:enumeration value="PmtTarget"/>
+ <xs:enumeration value="PmtMEP"/>
+ <xs:enumeration value="PmtGLP"/>
+ <xs:enumeration value="PmtGSP"/>
+ <xs:enumeration value="PmtCorridor"/>
+ <xs:enumeration value="PmtTable"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="sa_strategy">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="SAInputScalar"/>
+ <xs:enumeration value="SAMaximum"/>
+ <xs:enumeration value="SATarget"/>
+ <xs:enumeration value="SAMEP"/>
+ <xs:enumeration value="SAGLP"/>
+ <xs:enumeration value="SAGSP"/>
+ <xs:enumeration value="SACorridor"/>
+ <xs:enumeration value="SASalary"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="gen_acct_rate_type">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Credited rate"/>
+ <xs:enumeration value="Earned rate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="sep_acct_rate_type">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Net rate"/>
+ <xs:enumeration value="Gross rate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="loan_rate_type">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Fixed loan rate"/>
+ <xs:enumeration value="Variable loan rate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="fund_input_method">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Average fund"/>
+ <xs:enumeration value="Override fund"/>
+ <xs:enumeration value="Choose funds"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="run_order">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Life by life"/>
+ <xs:enumeration value="Month by month"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="survival_limit">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="No survival limit"/>
+ <xs:enumeration value="Survive to age limit"/>
+ <xs:enumeration value="Survive to duration limit"/>
+ <xs:enumeration value="Survive to life expectancy"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="term_adj_method">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Adjust base first"/>
+ <xs:enumeration value="Adjust term first"/>
+ <xs:enumeration value="Adjust base and term proportionately"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="state">
+ <xs:restriction base="xs:token">
<xs:enumeration value="AL"/>
<xs:enumeration value="AK"/>
<xs:enumeration value="AZ"/>
@@ -774,7 +705,7 @@
<xs:enumeration value="XX"/>
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="mcenum_country">
+ <xs:simpleType name="country">
<xs:restriction base="xs:token">
<xs:enumeration value="AD"/>
<xs:enumeration value="AE"/>
@@ -1017,8 +948,46 @@
<xs:enumeration value="ZW"/>
</xs:restriction>
</xs:simpleType>
- <xs:simpleType name="mcenum_report_column">
+ <xs:simpleType name="defn_life_ins">
<xs:restriction base="xs:token">
+ <xs:enumeration value="CVAT"/>
+ <xs:enumeration value="GPT"/>
+ <xs:enumeration value="Not 7702 compliant"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="mec_avoid_method">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Allow MEC"/>
+ <xs:enumeration value="Reduce premium"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="defn_material_change">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Unnecessary premium"/>
+ <xs:enumeration value="Benefit increase"/>
+ <xs:enumeration value="Later of increase or unnecessary premium"/>
+ <xs:enumeration value="Earlier of increase or unnecessary premium"/>
+ <xs:enumeration value="GPT adjustment event"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="from_point">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Issue"/>
+ <xs:enumeration value="Year"/>
+ <xs:enumeration value="Age"/>
+ <xs:enumeration value="Retirement"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="to_point">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="Retirement"/>
+ <xs:enumeration value="Year"/>
+ <xs:enumeration value="Age"/>
+ <xs:enumeration value="Maturity"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="report_column">
+ <xs:restriction base="xs:token">
<xs:enumeration value="[none]"/>
<xs:enumeration value="AttainedAge"/>
<xs:enumeration value="PolicyYear"/>
Modified: lmi/trunk/test_schemata.sh
===================================================================
--- lmi/trunk/test_schemata.sh 2012-03-26 12:31:42 UTC (rev 5441)
+++ lmi/trunk/test_schemata.sh 2012-03-27 12:22:13 UTC (rev 5442)
@@ -121,7 +121,7 @@
Element 'InforceDcv': [facet 'minInclusive'] The value '-12345.67' is less
than the minimum value allowed ('0').
Element 'InforceDcv': '-12345.67' is not a valid value of the atomic type
'nonnegative_double'.
Element 'PremiumTaxState': [facet 'enumeration'] The value 'FC' is not an
element of the set {'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL',
'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI',
'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH',
'OK', 'OR', 'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA',
'WV', 'WI', 'WY', 'XX'}.
-Element 'PremiumTaxState': 'FC' is not a valid value of the atomic type
'mcenum_state'.
+Element 'PremiumTaxState': 'FC' is not a valid value of the atomic type
'state'.
Element 'StateOfJurisdictionMangledTag': This element is not expected.
Expected is ( StateOfJurisdiction ).
sample_bad fails to validate
invalid input, jing, .rng:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5442] Regenerate enumerations, using the technique described 20120325T1232Z,
Greg Chicares <=