lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [6137] Preserve obsolescent schemata under new versioned n


From: Greg Chicares
Subject: [lmi-commits] [6137] Preserve obsolescent schemata under new versioned names
Date: Wed, 18 Mar 2015 00:42:27 +0000

Revision: 6137
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6137
Author:   chicares
Date:     2015-03-18 00:42:26 +0000 (Wed, 18 Mar 2015)
Log Message:
-----------
Preserve obsolescent schemata under new versioned names

Modified Paths:
--------------
    lmi/trunk/ChangeLog

Added Paths:
-----------
    lmi/trunk/cell_07.xsd
    lmi/trunk/multiple_cell_document_01.xsd
    lmi/trunk/single_cell_document_01.xsd
    lmi/trunk/types_07.xsd

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2015-03-17 13:06:22 UTC (rev 6136)
+++ lmi/trunk/ChangeLog 2015-03-18 00:42:26 UTC (rev 6137)
@@ -35853,3 +35853,13 @@
   sample.ill
 Make some obsolete elements optional.
 
+20150318T0042Z <address@hidden> [516]
+
+  cell_07.xsd                   [new file]
+  multiple_cell_document_01.xsd [new file]
+  single_cell_document_01.xsd   [new file]
+  types_07.xsd                  [new file]
+Preserve obsolescent schemata under new versioned names. These 'xsd'
+schemata are used by lmi instead of the otherwise preferable 'rnc'
+equivalents that are regrettably not supported by libxml2.
+

Added: lmi/trunk/cell_07.xsd
===================================================================
--- lmi/trunk/cell_07.xsd                               (rev 0)
+++ lmi/trunk/cell_07.xsd       2015-03-18 00:42:26 UTC (rev 6137)
@@ -0,0 +1,1381 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
+  <xs:include schemaLocation="types_07.xsd"/>
+  <!--
+    RELAX NG schema for a single cell (class Input).
+
+    Copyright (C) 2012, 2013, 2014, 2015 Gregory W. Chicares.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as
+    published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+    http://savannah.nongnu.org/projects/lmi
+    email: <address@hidden>
+    snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
+  -->
+  <!-- $Id$ -->
+  <!--
+    This schema is meant not for standalone use, but rather for
+    inclusion from other schemata. It corresponds to version 7 of
+    class Input.
+  -->
+  <!--
+    Inforce data from external systems should use default values for
+    elements marked with an asterisk.
+  -->
+  <xs:complexType name="cell_element">
+    <xs:sequence>
+      <xs:element ref="cell"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="cell">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="AccidentalDeathBenefit"/>
+        <xs:element ref="Address"/>
+        <xs:element ref="AgentAddress"/>
+        <xs:element ref="AgentCity"/>
+        <xs:element ref="AgentId"/>
+        <xs:element ref="AgentName"/>
+        <xs:element ref="AgentPhone"/>
+        <xs:element ref="AgentState"/>
+        <xs:element ref="AgentZipCode"/>
+        <xs:element ref="AmortizePremiumLoad"/>
+        <xs:element ref="AvoidMecMethod"/>
+        <xs:element ref="BlendGender"/>
+        <xs:element ref="BlendSmoking"/>
+        <xs:element ref="CashValueEnhancementRate"/>
+        <xs:element ref="ChildRider"/>
+        <xs:element ref="ChildRiderAmount"/>
+        <xs:element ref="City"/>
+        <xs:element ref="Comments"/>
+        <xs:element ref="ContractNumber"/>
+        <xs:element ref="CorporationAddress"/>
+        <xs:element ref="CorporationCity"/>
+        <xs:element ref="CorporationName"/>
+        <xs:element ref="CorporationPayment"/>
+        <xs:element ref="CorporationPaymentMode"/>
+        <xs:element ref="CorporationPremiumTableFactor"/>
+        <xs:element ref="CorporationState"/>
+        <xs:element ref="CorporationTaxBracket"/>
+        <xs:element ref="CorporationZipCode"/>
+        <xs:element ref="Country"/>
+        <xs:element ref="CountryCoiMultiplier"/>
+        <xs:element ref="CreateSupplementalReport"/>
+        <xs:element ref="CurrentCoiMultiplier"/>
+        <xs:element ref="DateOfBirth"/>
+        <xs:element ref="DeathBenefitOption"/>
+        <xs:element ref="DeathBenefitOptionFromIssue"/>
+        <xs:element ref="DeathBenefitOptionFromRetirement"/>
+        <xs:element ref="DefinitionOfLifeInsurance"/>
+        <xs:element ref="DefinitionOfMaterialChange"/>
+        <xs:element ref="Dumpin"/>
+        <xs:element ref="EffectiveDate"/>
+        <xs:element ref="EffectiveDateToday"/>
+        <xs:element ref="EmployeeClass"/>
+        <xs:element ref="ExperienceRatingInitialKFactor"/>
+        <xs:element ref="ExperienceReserveRate"/>
+        <xs:element ref="External1035ExchangeAmount"/>
+        <xs:element ref="External1035ExchangeFromMec"/>
+        <xs:element ref="External1035ExchangeTaxBasis"/>
+        <xs:element ref="ExtraCompensationOnAssets"/>
+        <xs:element ref="ExtraCompensationOnPremium"/>
+        <xs:element ref="ExtraMonthlyCustodialFee"/>
+        <xs:element ref="FlatExtra"/>
+        <xs:element ref="FundAllocations"/>
+        <xs:element ref="FundChoiceType"/>
+        <xs:element ref="Gender"/>
+        <xs:element ref="GeneralAccountRate"/>
+        <xs:element ref="GeneralAccountRateType"/>
+        <xs:element ref="GroupUnderwritingType"/>
+        <xs:element ref="HoneymoonEndorsement"/>
+        <xs:element ref="HoneymoonValueSpread"/>
+        <xs:element ref="IncludeInComposite"/>
+        <xs:element ref="IndividualPaymentAmount"/>
+        <xs:element ref="IndividualPaymentMode"/>
+        <xs:element ref="IndividualPaymentStrategy"/>
+        <xs:element ref="IndividualPaymentToAge"/>
+        <xs:element ref="IndividualPaymentToAlternative"/>
+        <xs:element ref="IndividualPaymentToDuration"/>
+        <xs:element ref="Inforce7702AAmountsPaidHistory"/>
+        <xs:element ref="InforceAnnualTargetPremium"/>
+        <xs:element ref="InforceAsOfDate"/>
+        <xs:element ref="InforceAvBeforeLastMc"/>
+        <xs:element ref="InforceContractMonth"/>
+        <xs:element ref="InforceContractYear"/>
+        <xs:element ref="InforceCumulativeGlp"/>
+        <xs:element ref="InforceCumulativeGptPremiumsPaid"/>
+        <xs:element ref="InforceCumulativeNoLapsePayments"/>
+        <xs:element ref="InforceCumulativeNoLapsePremium"/>
+        <xs:element ref="InforceCumulativeRopPayments"/>
+        <xs:element ref="InforceCumulativeSalesLoad"/>
+        <xs:element ref="InforceDataSource"/>
+        <xs:element ref="InforceDcv"/>
+        <xs:element ref="InforceGeneralAccountValue"/>
+        <xs:element ref="InforceGlp"/>
+        <xs:element ref="InforceGsp"/>
+        <xs:element ref="InforceHoneymoonValue"/>
+        <xs:element ref="InforceIsMec"/>
+        <xs:element ref="InforceLeastDeathBenefit"/>
+        <xs:element ref="InforceMonth"/>
+        <xs:element ref="InforceMonthlyNoLapsePremium"/>
+        <xs:element ref="InforceNetExperienceReserve"/>
+        <xs:element ref="InforceNoLapseActive"/>
+        <xs:element ref="InforcePreferredLoanBalance"/>
+        <xs:element ref="InforcePreferredLoanValue"/>
+        <xs:element ref="InforceRegularLoanBalance"/>
+        <xs:element ref="InforceRegularLoanValue"/>
+        <xs:element ref="InforceSeparateAccountValue"/>
+        <xs:element ref="InforceSevenPayPremium"/>
+        <xs:element ref="InforceSpecAmtLoadBase"/>
+        <xs:element ref="InforceTaxBasis"/>
+        <xs:element ref="InforceYear"/>
+        <xs:element ref="InforceYtdGrossPremium"/>
+        <xs:element ref="InforceYtdNetCoiCharge"/>
+        <xs:element ref="InforceYtdTaxablePremium"/>
+        <xs:element ref="InputFundManagementFee"/>
+        <xs:element ref="InsuredName"/>
+        <xs:element ref="InsuredPremiumTableFactor"/>
+        <xs:element ref="Internal1035ExchangeAmount"/>
+        <xs:element ref="Internal1035ExchangeFromMec"/>
+        <xs:element ref="Internal1035ExchangeTaxBasis"/>
+        <xs:element ref="IssueAge"/>
+        <xs:element ref="LastCoiReentryDate"/>
+        <xs:element ref="LastMaterialChangeDate"/>
+        <xs:element ref="LoanAmount"/>
+        <xs:element ref="LoanFromAge"/>
+        <xs:element ref="LoanFromAlternative"/>
+        <xs:element ref="LoanFromDuration"/>
+        <xs:element ref="LoanRate"/>
+        <xs:element ref="LoanRateType"/>
+        <xs:element ref="LoanToAge"/>
+        <xs:element ref="LoanToAlternative"/>
+        <xs:element ref="LoanToDuration"/>
+        <xs:element ref="MaleProportion"/>
+        <xs:element ref="MasterContractNumber"/>
+        <xs:element ref="MaximumNaar"/>
+        <xs:element ref="NewLoan"/>
+        <xs:element ref="NonsmokerProportion"/>
+        <xs:element ref="NumberOfIdenticalLives"/>
+        <xs:element ref="OverrideCoiMultiplier"/>
+        <xs:element ref="OverrideExperienceReserveRate"/>
+        <xs:element ref="OverrideFundManagementFee"/>
+        <xs:element ref="PartialMortalityMultiplier"/>
+        <xs:element ref="Payment"/>
+        <xs:element ref="PaymentMode"/>
+        <xs:element ref="PostHoneymoonSpread"/>
+        <xs:element ref="PremiumTaxState"/>
+        <xs:element ref="ProductName"/>
+        <xs:element ref="ProjectedSalary"/>
+        <xs:element ref="RetireesCanEnroll"/>
+        <xs:element ref="RetirementAge"/>
+        <xs:element ref="RunOrder"/>
+        <xs:element ref="SalarySpecifiedAmountCap"/>
+        <xs:element ref="SalarySpecifiedAmountFactor"/>
+        <xs:element ref="SalarySpecifiedAmountOffset"/>
+        <xs:element ref="SeparateAccountRate"/>
+        <xs:element ref="SeparateAccountRateType"/>
+        <xs:element ref="Smoking"/>
+        <xs:element ref="SolveBeginTime"/>
+        <xs:element ref="SolveBeginYear"/>
+        <xs:element ref="SolveEndTime"/>
+        <xs:element ref="SolveEndYear"/>
+        <xs:element ref="SolveExpenseGeneralAccountBasis"/>
+        <xs:element ref="SolveFromWhich"/>
+        <xs:element ref="SolveSeparateAccountBasis"/>
+        <xs:element ref="SolveTarget"/>
+        <xs:element ref="SolveTargetCashSurrenderValue"/>
+        <xs:element ref="SolveTargetTime"/>
+        <xs:element ref="SolveTargetYear"/>
+        <xs:element ref="SolveTgtAtWhich"/>
+        <xs:element ref="SolveToWhich"/>
+        <xs:element ref="SolveType"/>
+        <xs:element ref="SpecifiedAmount"/>
+        <xs:element ref="SpecifiedAmountFromIssue"/>
+        <xs:element ref="SpecifiedAmountFromRetirement"/>
+        <xs:element ref="SpecifiedAmountStrategyFromIssue"/>
+        <xs:element ref="SpouseIssueAge"/>
+        <xs:element ref="SpouseRider"/>
+        <xs:element ref="SpouseRiderAmount"/>
+        <xs:element ref="State"/>
+        <xs:element ref="StateOfJurisdiction"/>
+        <xs:element ref="SubstandardTable"/>
+        <xs:element ref="SupplementalReportColumn00"/>
+        <xs:element ref="SupplementalReportColumn01"/>
+        <xs:element ref="SupplementalReportColumn02"/>
+        <xs:element ref="SupplementalReportColumn03"/>
+        <xs:element ref="SupplementalReportColumn04"/>
+        <xs:element ref="SupplementalReportColumn05"/>
+        <xs:element ref="SupplementalReportColumn06"/>
+        <xs:element ref="SupplementalReportColumn07"/>
+        <xs:element ref="SupplementalReportColumn08"/>
+        <xs:element ref="SupplementalReportColumn09"/>
+        <xs:element ref="SupplementalReportColumn10"/>
+        <xs:element ref="SupplementalReportColumn11"/>
+        <xs:element ref="SurviveToAge"/>
+        <xs:element ref="SurviveToType"/>
+        <xs:element ref="SurviveToYear"/>
+        <xs:element ref="TaxBracket"/>
+        <xs:element ref="TermAdjustmentMethod"/>
+        <xs:element ref="TermRider"/>
+        <xs:element ref="TermRiderAmount"/>
+        <xs:element ref="TermRiderProportion"/>
+        <xs:element ref="TermRiderUseProportion"/>
+        <xs:element ref="TotalSpecifiedAmount"/>
+        <xs:element ref="UnderwritingClass"/>
+        <xs:element ref="UseAverageOfAllFunds"/>
+        <xs:element ref="UseCurrentDeclaredRate"/>
+        <xs:element ref="UseDOB"/>
+        <xs:element ref="UseExperienceRating"/>
+        <xs:element ref="UsePartialMortality"/>
+        <xs:element ref="WaiverOfPremiumBenefit"/>
+        <xs:element ref="WithdrawToBasisThenLoan"/>
+        <xs:element ref="Withdrawal"/>
+        <xs:element ref="WithdrawalAmount"/>
+        <xs:element ref="WithdrawalFromAge"/>
+        <xs:element ref="WithdrawalFromAlternative"/>
+        <xs:element ref="WithdrawalFromDuration"/>
+        <xs:element ref="WithdrawalToAge"/>
+        <xs:element ref="WithdrawalToAlternative"/>
+        <xs:element ref="WithdrawalToDuration"/>
+        <xs:element ref="ZipCode"/>
+      </xs:sequence>
+      <xs:attribute name="version" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="7"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="AccidentalDeathBenefit" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Accidental death benefit: elected or 
not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Address" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Insured's address: number and 
street.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentAddress" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent's address: number and street.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentCity" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent's address: city.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentId" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent ID code.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentName" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent's full name.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentPhone" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent's phone number.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentState" type="state">
+    <xs:annotation>
+      <xs:documentation>Agent's address: state.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AgentZipCode" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Agent's address: zip code.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AmortizePremiumLoad" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Amortize premium load (occasionally used for 
BOLI).</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="AvoidMecMethod" type="mec_avoid_method">
+    <xs:annotation>
+      <xs:documentation>* Special logic, if any, to avoid a 
MEC.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="BlendGender" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Custom-blend rates by gender.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="BlendSmoking" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Custom-blend rates by smoking.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CashValueEnhancementRate" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Negative surrender charge as proportion of total 
account
+value. Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ChildRider" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Child(ren) term rider: elected or 
not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ChildRiderAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Child(ren) term rider: face amount.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="City" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Insured's address: city.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Comments" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>* Free-form comments.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ContractNumber" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Contract number: a unique identifier, which, although 
usually
+called a "number", is often not purely numeric.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationAddress" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Corporation's address: number and 
street.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationCity" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Corporation's address: city.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationName" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Corporation's name.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationPayment" type="payment_sequence">
+    <xs:annotation>
+      <xs:documentation>Corporation's planned premium. Default: 
'0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationPaymentMode" type="mode_sequence">
+    <xs:annotation>
+      <xs:documentation>Corporation's premium mode. Default: 
'annual'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationPremiumTableFactor" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Corporation's tabular-premium multiplier. Default: 
'1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationState" type="state">
+    <xs:annotation>
+      <xs:documentation>Corporation's address: state.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationTaxBracket" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Corporation's tax bracket. Default: 
'0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CorporationZipCode" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Corporation's address: zip code.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Country" type="country">
+    <xs:annotation>
+      <xs:documentation>Insured's address: country. Default: 
'US'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CountryCoiMultiplier" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>COI multiplier for country. Default: 
'1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CreateSupplementalReport" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: elected or 
not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="CurrentCoiMultiplier" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Multiplier for current COI rates. Default: 
'1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DateOfBirth" type="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Insured's date of birth.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DeathBenefitOption" type="dbo_sequence">
+    <xs:annotation>
+      <xs:documentation>Death benefit option. Default: 'a'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DeathBenefitOptionFromIssue" type="dbopt">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DeathBenefitOptionFromRetirement" type="dbopt">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DefinitionOfLifeInsurance" type="defn_life_ins">
+    <xs:annotation>
+      <xs:documentation>7702 definitional test.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="DefinitionOfMaterialChange" type="defn_material_change">
+    <xs:annotation>
+      <xs:documentation>* 7702A definition of material change. Default:
+'GPT adjustment event' if GPT; else 'Unnecessary premium'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Dumpin" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Dump-in: i.e., first-year-only extra premium other 
than a 1035 exchange.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="EffectiveDate" type="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Effective date: for UL, date of first monthly 
deduction.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="EffectiveDateToday" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Use today's date as effective date: handy for new 
business.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="EmployeeClass" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>* Employee class, used for grouping individuals in 
order to
+make input easier. E.g., specified amount for 'partners' might
+be two times salary, while 'all others' get a flat $50K.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ExperienceRatingInitialKFactor" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Factor for amortizing mortality profit into future 
charges.
+Default: '1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ExperienceReserveRate" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Overridden reserve rate for experience 
rating.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="External1035ExchangeAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Amount of 1035 exchange from a different 
insurer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="External1035ExchangeFromMec" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* MEC status of 1035 exchange from a different 
insurer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="External1035ExchangeTaxBasis" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>* Tax basis of 1035 exchange from a different 
insurer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ExtraCompensationOnAssets" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Extra charge on separate-account assets. The 
motivation is to
+let end users add a negotiated asset trailer without changing
+the product database, but the field may be used for any extra
+charge in the nature of M&amp;E. Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ExtraCompensationOnPremium" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Extra premium load. The motivation is to let end users 
add a
+negotiated commission without changing the product database,
+but the field may be used for any extra load on premium.
+Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ExtraMonthlyCustodialFee" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Extra policy fee. The motivation is to let end users 
add an
+additional monthly custodial fee for a custom fund, but the
+field may be used for any extra monthly fee. Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="FlatExtra" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Annual flat extra per thousand of specified amount. 
Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="FundAllocations" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>* As yet unused.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="FundChoiceType" type="fund_input_method">
+    <xs:annotation>
+      <xs:documentation>* Fund-allocation override.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Gender" type="gender">
+    <xs:annotation>
+      <xs:documentation>Insured's gender for insurance 
purposes.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="GeneralAccountRate" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>General-account interest rate as a decimal: e.g., 
'.03' for
+3%. Default: actual credited rate; '0' for products with no
+general-account option.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="GeneralAccountRateType" type="gen_acct_rate_type">
+    <xs:annotation>
+      <xs:documentation>* General-account rate: before or after 
spread.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="GroupUnderwritingType" type="uw_basis">
+    <xs:annotation>
+      <xs:documentation>Type of underwriting, e.g. guaranteed 
issue.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="HoneymoonEndorsement" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Honeymoon: elected or not. This is a temporary 
secondary
+guarantee that enhances surrender values in early years, by
+setting a minimum CSV equal to gross premium accumulated at a
+special interest rate, with no monthly deductions taken.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="HoneymoonValueSpread" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>Interest spread for honeymoon value, which grows at 
the net
+general account rate less this decrement. Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IncludeInComposite" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Include this life in composite: permits excluding 
certain
+lives from a composite without deleting them from a census.
+Default: 'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentMode" type="mode">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentStrategy" type="pmt_strategy">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentToAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentToAlternative" type="to_point">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IndividualPaymentToDuration" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Inforce7702AAmountsPaidHistory" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>7702A "amounts paid" for each "contract year" since 
beginning
+of most recent seven-pay period. Default: '0' if not in a
+seven-pay period.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceAnnualTargetPremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce annual target premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceAsOfDate" type="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Date as of which inforce values are provided. This is 
taken to
+refer to the first moment of the day, before monthiversary
+processing. Some admin systems find it more convenient to
+provide values as of the last moment of the preceding day; in
+that case, this field should indicate the day following that
+preceding day.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceAvBeforeLastMc" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce account value before last material change, for 
7702A.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceContractMonth" type="month_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceContractYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeGlp" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative 7702 guideline level 
premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeGptPremiumsPaid" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative 7702(f)(1) 'premiums 
paid'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeNoLapsePayments" 
type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative payments for no-lapse guarantee: 
sum of all
+gross premiums, including dump-ins and 1035 exchange proceeds,
+minus rider charges, withdrawals, and premiums refunded or
+forced out.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeNoLapsePremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative no-lapse premium, for contracts 
that offer
+a no-lapse guarantee as long as a cumulative minimum premium
+is paid.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeRopPayments" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative payments for return of premium death
+benefit option and for loads banded by cumulative premium:
+sum of all gross premiums, including dump-ins and 1035
+exchange proceeds, minus withdrawals and premiums refunded
+or forced out.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceCumulativeSalesLoad" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce cumulative refundable sales 
load.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceDataSource" type="xs:nonNegativeInteger">
+    <xs:annotation>
+      <xs:documentation>Vendor identifier for files from an external 
system.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceDcv" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce 7702A deemed cash value.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceGeneralAccountValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce unloaned account value in the general 
account.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceGlp" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce 7702 guideline level 
premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceGsp" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce 7702 guideline single 
premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceHoneymoonValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce honeymoon value. Zero if honeymoon has expired 
or
+was never present.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceIsMec" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>MEC status of inforce contract.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceLeastDeathBenefit" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce 7702A least death benefit.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceMonth" type="month_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceMonthlyNoLapsePremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Monthly premium required to maintain no-lapse 
guarantee.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceNetExperienceReserve" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce net reserve for experience 
rating.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceNoLapseActive" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>No-lapse guarantee is in effect.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforcePreferredLoanBalance" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce balance (total indebtedness) for preferred 
loans:
+the amount that must be repaid to liquidate the loan.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforcePreferredLoanValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce loaned account value for preferred loans, 
including
+principal and interest credited, but excluding interest
+accrued: the portion of account value held in the loan
+division of the general account with respect to the loan.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceRegularLoanBalance" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce balance (total indebtedness) for regular loans:
+the amount that must be repaid to liquidate the loan.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceRegularLoanValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce loaned account value for regular loans, 
including
+principal and interest credited, but excluding interest
+accrued: the portion of account value held in the loan
+division of the general account with respect to the loan.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceSeparateAccountValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce account value in all separate accounts, 
combined.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceSevenPayPremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Inforce 7702A seven-pay premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceSpecAmtLoadBase" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Amount on which specified-amount load is charged, with 
due
+regard to term rider.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceTaxBasis" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>Inforce tax basis.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceYtdGrossPremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Policy-year-to-date payments counted toward target 
premium.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceYtdNetCoiCharge" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Policy-year-to-date "net" COI charge for experience 
rating.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InforceYtdTaxablePremium" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Policy-year-to-date payments subject to premium 
tax.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InputFundManagementFee" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Investment management fee of a custom 
fund.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InsuredName" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Insured's full name.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="InsuredPremiumTableFactor" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Insured's tabular-premium multiplier. Default: 
'1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Internal1035ExchangeAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Amount of 1035 exchange from the same insurer; 
distinguished
+from external 1035 because an internal exchange may not be
+subject to premium tax.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Internal1035ExchangeFromMec" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* MEC status of 1035 exchange from the same 
insurer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Internal1035ExchangeTaxBasis" type="xs:double">
+    <xs:annotation>
+      <xs:documentation>* Tax basis of 1035 exchange from the same 
insurer.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="IssueAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>Insurance age on effective date.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LastCoiReentryDate" type="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Most recent group-underwriting date, for group 
contracts that
+reenter a select and ultimate table of COI rates periodically
+upon successful re-underwriting (for active lives only).
+Default: effective date, for contracts with no reentry.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LastMaterialChangeDate" type="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Date of most recent 7702A material change. Default: 
effective
+date, for contracts that have never had a material change.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanFromAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanFromAlternative" type="from_point">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanFromDuration" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanRate" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Loan interest rate, if it is variable. Default: '0' 
otherwise.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanRateType" type="loan_rate_type">
+    <xs:annotation>
+      <xs:documentation>Loan rate: fixed or variable.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanToAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanToAlternative" type="to_point">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="LoanToDuration" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="MaleProportion" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Proportion of males when rates are custom-blended by 
gender.
+Default: '0' otherwise.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="MasterContractNumber" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Group master contract number.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="MaximumNaar" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Maximum net amount at risk, as constrained by 
reinsurance.
+Some contracts in the high-net-worth market force money out to
+prevent corridor death benefit from exceeding available
+reinsurance. Default: '1000000000'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="NewLoan" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* New loan taken in cash (excluding capitalized 
interest).
+Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="NonsmokerProportion" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Proportion of nonsmokers when rates are custom-blended 
by
+smoking. Default: '0' otherwise.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="NumberOfIdenticalLives" type="xs:nonNegativeInteger">
+    <xs:annotation>
+      <xs:documentation>* Number of identical lives represented by a single 
census
+cell. It is sometimes convenient to approximate a population
+by specifying a few cells and indicating the number of lives
+each one represents. Default: '1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="OverrideCoiMultiplier" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Override country COI multiplier. Default: 
'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="OverrideExperienceReserveRate" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Override reserve rate for experience rating. Default: 
'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="OverrideFundManagementFee" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Override investment management fee: used only with 
custom funds.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="PartialMortalityMultiplier" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Multiplier applied to partial-mortality table. 
Default: '1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Payment" type="payment_sequence">
+    <xs:annotation>
+      <xs:documentation>Insured's planned premium. Default: 
'0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="PaymentMode" type="mode_sequence">
+    <xs:annotation>
+      <xs:documentation>Insured's premium mode. Default: 
'annual'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="PostHoneymoonSpread" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Interest decrement applied to crediting rate after the
+honeymoon expires--designed to recover the cost of providing
+the honeymoon.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="PremiumTaxState" type="state">
+    <xs:annotation>
+      <xs:documentation>State to which premium tax is paid.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ProductName" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Product (plan): enumerators depend on run-time 
context.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ProjectedSalary" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Projected salary: used for salary-based benefits. 
Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="RetireesCanEnroll" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Retirees allowed to enroll (or not). This is handy 
for
+warning when retirees are unintentionally included in a
+census. Default: 'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="RetirementAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* Insured's retirement age. Default: 
'65'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="RunOrder" type="run_order">
+    <xs:annotation>
+      <xs:documentation>* Order in which different individuals in a census are
+processed.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SalarySpecifiedAmountCap" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Maximum salary-based specified amount. Default: 
'100000'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SalarySpecifiedAmountFactor" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Salary multiple used to determine specified amount. 
Default: '1'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SalarySpecifiedAmountOffset" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Amount to be subtracted from salary-based specified 
amount,
+intended to represent basic group term coverage. Default: 
'50000'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SeparateAccountRate" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Separate-account hypothetical rate as a decimal: 
e.g.,
+'.0654' for 6.54%. Default: '.08'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SeparateAccountRateType" type="sep_acct_rate_type">
+    <xs:annotation>
+      <xs:documentation>* Separate-account rate: before or after spread. 
Default: 'Gross rate'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Smoking" type="smoking">
+    <xs:annotation>
+      <xs:documentation>Insured's smoking or tobacco use.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveBeginTime" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Age at which a solve begins  
(inclusive).</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveBeginYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Policy year in which a solve begins 
(inclusive).</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveEndTime" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Age at which a solve ends 
(exclusive).</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveEndYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Policy year at which a solve ends 
(exclusive).</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveExpenseGeneralAccountBasis" type="gen_basis">
+    <xs:annotation>
+      <xs:documentation>* Expense and general-account basis for a solve: lmi 
permits
+solves on guaranteed and midpoint bases as well as current.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveFromWhich" type="from_point">
+    <xs:annotation>
+      <xs:documentation>* Point at which a solve begins.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveSeparateAccountBasis" type="sep_basis">
+    <xs:annotation>
+      <xs:documentation>* Separate-account basis for a solve: lmi permits 
solves on
+the basis of the hypothetical rate, half that rate, or zero.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveTarget" type="solve_target">
+    <xs:annotation>
+      <xs:documentation>* Solve goal.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveTargetCashSurrenderValue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Cash surrender value used as solve 
goal.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveTargetTime" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Age at which a solve target is to be 
achieved.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveTargetYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Policy year in which a solve target is to be 
achieved.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveTgtAtWhich" type="to_point">
+    <xs:annotation>
+      <xs:documentation>* Point at which a solve target is to be 
achieved.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveToWhich" type="to_point">
+    <xs:annotation>
+      <xs:documentation>* Point at which a solve ends.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SolveType" type="solve_type">
+    <xs:annotation>
+      <xs:documentation>* Parameter to be solved for.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpecifiedAmount" type="specamt_sequence">
+    <xs:annotation>
+      <xs:documentation>Specified amount for each policy year since issue. 
Inforce
+extracts require only the current scalar value. Default: 
'0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpecifiedAmountFromIssue" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpecifiedAmountFromRetirement" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpecifiedAmountStrategyFromIssue" type="sa_strategy">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpouseIssueAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>Spouse's insurance age on effective date of spouse 
rider.
+Default: '35' if rider not elected or not offered.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpouseRider" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Spouse term rider: elected or not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SpouseRiderAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Spouse term rider: face amount.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="State" type="state">
+    <xs:annotation>
+      <xs:documentation>Insured's address: state.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="StateOfJurisdiction" type="state">
+    <xs:annotation>
+      <xs:documentation>State that approves policy form and rate filing, and 
governs
+everything else except premium tax.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SubstandardTable" type="table_rating">
+    <xs:annotation>
+      <xs:documentation>Substandard table rating.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn00" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: first 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn01" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: second 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn02" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: third 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn03" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: fourth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn04" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: fifth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn05" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: sixth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn06" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: seventh 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn07" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: eighth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn08" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: ninth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn09" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: tenth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn10" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: eleventh 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SupplementalReportColumn11" type="report_column">
+    <xs:annotation>
+      <xs:documentation>* User-designed supplemental illustration: twelfth 
column.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SurviveToAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* Presumed age at death, for partial mortality. 
Default: '99'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SurviveToType" type="survival_limit">
+    <xs:annotation>
+      <xs:documentation>* Presumed moment of death, for partial 
mortality.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="SurviveToYear" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* Presumed policy year of death, for partial 
mortality. Default: '100'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TaxBracket" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Insured's tax bracket. Default: 
'0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TermAdjustmentMethod" type="term_adj_method">
+    <xs:annotation>
+      <xs:documentation>* Order in which term and base are affected by changes 
in
+total specified amount.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TermRider" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Term rider on main insured: elected or 
not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TermRiderAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Term rider on main insured: face 
amount.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TermRiderProportion" type="proportion_double">
+    <xs:annotation>
+      <xs:documentation>* Term rider as proportion of term and base 
combined.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TermRiderUseProportion" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Treat term rider as proportion of term and base 
combined.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="TotalSpecifiedAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* Initial specified amount of term and base combined, 
when
+term rider is specified as a proportion of this total.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UnderwritingClass" type="class">
+    <xs:annotation>
+      <xs:documentation>Underwriting class. Default: 
'Standard'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UseAverageOfAllFunds" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Use mean separate-account fee.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UseCurrentDeclaredRate" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Use current declared rate (read from authenticated 
database)
+instead of entering the crediting rate explicitly. Default: 
'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UseDOB" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Let date of birth override issue age. Default: 
'Yes'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UseExperienceRating" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Use experience rating, on the few contracts that offer 
it.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="UsePartialMortality" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Illustrate "partial mortality": i.e., reflect 
assumed deaths
+in a composite illustration.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WaiverOfPremiumBenefit" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>Waiver of premium benefit: elected or 
not.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawToBasisThenLoan" type="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>* Reinterpret input withdrawals as loans after tax 
basis recovered.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="Withdrawal" type="numeric_sequence">
+    <xs:annotation>
+      <xs:documentation>* Partial surrender. Default: '0'.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalAmount" type="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalFromAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalFromAlternative" type="from_point">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalFromDuration" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalToAge" type="age_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalToAlternative" type="to_point">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="WithdrawalToDuration" type="duration_int">
+    <xs:annotation>
+      <xs:documentation>* [obsolete]</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+  <xs:element name="ZipCode" type="xs:string">
+    <xs:annotation>
+      <xs:documentation>Insured's address: zip code.</xs:documentation>
+    </xs:annotation>
+  </xs:element>
+</xs:schema>


Property changes on: lmi/trunk/cell_07.xsd
___________________________________________________________________
Added: svn:keywords
   + Id

Added: lmi/trunk/multiple_cell_document_01.xsd
===================================================================
--- lmi/trunk/multiple_cell_document_01.xsd                             (rev 0)
+++ lmi/trunk/multiple_cell_document_01.xsd     2015-03-18 00:42:26 UTC (rev 
6137)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
+  <xs:include schemaLocation="cell_07.xsd"/>
+  <!--
+    RELAX NG schema for '.cns' files (class multiple_cell_document).
+
+    Copyright (C) 2012, 2013, 2014, 2015 Gregory W. Chicares.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as
+    published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+    http://savannah.nongnu.org/projects/lmi
+    email: <address@hidden>
+    snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
+  -->
+  <!-- $Id$ -->
+  <!-- Use file extension '.cns' for multiple-life xml documents. -->
+  <!-- This schema corresponds to version 1 of class multiple_cell_document. 
-->
+  <!--
+    Inforce data from external systems must include 'case_default' and
+    'class_defaults'; but those elements wouldn't be expected to have
+    any analogue on an administration system, so it seems best to copy
+    them from this document:
+      
http://svn.savannah.nongnu.org/viewvc/*checkout*/lmi/trunk/sample.cns?revision=5556&root=lmi
+    overwriting its 'particular_cells' with the individual records of
+    all contracts in the group.
+  -->
+  <xs:element name="multiple_cell_document">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="case_default"/>
+        <xs:element ref="class_defaults"/>
+        <xs:element ref="particular_cells"/>
+      </xs:sequence>
+      <xs:attribute name="version" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:token">
+            <xs:enumeration value="1"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="data_source" type="xs:nonNegativeInteger">
+        <xs:annotation>
+          <xs:documentation>Optional for now; to be required in the 
future.</xs:documentation>
+        </xs:annotation>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="case_default">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="cell"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class_defaults">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="cell"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="particular_cells">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="cell"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>


Property changes on: lmi/trunk/multiple_cell_document_01.xsd
___________________________________________________________________
Added: svn:keywords
   + Id

Added: lmi/trunk/single_cell_document_01.xsd
===================================================================
--- lmi/trunk/single_cell_document_01.xsd                               (rev 0)
+++ lmi/trunk/single_cell_document_01.xsd       2015-03-18 00:42:26 UTC (rev 
6137)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
+  <xs:include schemaLocation="cell_07.xsd"/>
+  <!--
+    RELAX NG schema for '.ill' files (class single_cell_document).
+
+    Copyright (C) 2012, 2013, 2014, 2015 Gregory W. Chicares.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as
+    published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+    http://savannah.nongnu.org/projects/lmi
+    email: <address@hidden>
+    snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
+  -->
+  <!-- $Id$ -->
+  <!-- Use file extension '.ill' for single-life xml documents. -->
+  <!-- This schema corresponds to version 1 of class single_cell_document. -->
+  <xs:element name="single_cell_document">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="cell_element">
+          <xs:attribute name="version">
+            <xs:annotation>
+              <xs:documentation>Optional for now; to be required in the 
future.</xs:documentation>
+            </xs:annotation>
+            <xs:simpleType>
+              <xs:restriction base="xs:token">
+                <xs:enumeration value="1"/>
+              </xs:restriction>
+            </xs:simpleType>
+          </xs:attribute>
+          <xs:attribute name="data_source" type="xs:nonNegativeInteger">
+            <xs:annotation>
+              <xs:documentation>Optional for now; to be required in the 
future.</xs:documentation>
+            </xs:annotation>
+          </xs:attribute>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>


Property changes on: lmi/trunk/single_cell_document_01.xsd
___________________________________________________________________
Added: svn:keywords
   + Id

Added: lmi/trunk/types_07.xsd
===================================================================
--- lmi/trunk/types_07.xsd                              (rev 0)
+++ lmi/trunk/types_07.xsd      2015-03-18 00:42:26 UTC (rev 6137)
@@ -0,0 +1,812 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
+  <!--
+    RELAX NG schema for custom types.
+
+    Copyright (C) 2012, 2013, 2014, 2015 Gregory W. Chicares.
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as
+    published by the Free Software Foundation.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software Foundation,
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+    http://savannah.nongnu.org/projects/lmi
+    email: <address@hidden>
+    snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
+  -->
+  <!-- $Id$ -->
+  <!--
+    This schema is meant not for standalone use, but rather for
+    inclusion from other schemata. It corresponds to version 7 of
+    class Input.
+  -->
+  <!--
+    Default values, unless otherwise specified, are:
+      for strings and input sequences: an empty element
+      for numeric types: zero
+      for enumerative types: the first enumerator listed
+  -->
+  <!--
+    Input sequences. Description:
+      http://www.nongnu.org/lmi/sequence_input.html
+    The regular-expression patterns are generated by this code:
+      http://svn.sv.nongnu.org/svn/lmi/lmi/trunk/regex_test.cpp
+    Inforce data from external systems should generally give a string of
+    semicolon-delimited year-by-year values, e.g.:
+      1000; 2000; 3000
+    although a simple scalar suffices when historical data don't vary by
+    year.
+  -->
+  <xs:simpleType name="numeric_sequence">
+    <xs:restriction base="xs:string">
+      <xs:pattern value=" *| *(\-?[0-9.]+)(( +| *, *)(address@hidden 
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; *(\-?[0-9.]+)(( +| *, *)(address@hidden 
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="payment_sequence">
+    <xs:restriction base="xs:string">
+      <xs:pattern value=" *| 
*(\-?[0-9.]+|minimum|target|sevenpay|glp|gsp|corridor|table)(( +| *, 
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; 
*(\-?[0-9.]+|minimum|target|sevenpay|glp|gsp|corridor|table)(( +| *, 
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="mode_sequence">
+    <xs:restriction base="xs:string">
+      <xs:pattern value=" *| *(annual|semiannual|quarterly|monthly)(( +| *, 
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; 
*(annual|semiannual|quarterly|monthly)(( +| *, *)(address@hidden 
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="specamt_sequence">
+    <xs:restriction base="xs:string">
+      <xs:pattern value=" *| 
*(\-?[0-9.]+|maximum|target|sevenpay|glp|gsp|corridor|salary)(( +| *, 
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; 
*(\-?[0-9.]+|maximum|target|sevenpay|glp|gsp|corridor|salary)(( +| *, 
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="dbo_sequence">
+    <xs:restriction base="xs:string">
+      <xs:pattern value=" *| *(a|b|rop)(( +| *, *)(address@hidden 
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; *(a|b|rop)(( +| *, *)(address@hidden 
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <!-- Numeric-range types. -->
+  <xs:simpleType name="nonnegative_double">
+    <xs:annotation>
+      <xs:documentation>Floating-point number greater than or equal to 
zero.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:double">
+      <xs:minInclusive value="0"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="proportion_double">
+    <xs:annotation>
+      <xs:documentation>Floating-point number between zero and one, 
inclusive.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:double">
+      <xs:minInclusive value="0"/>
+      <xs:maxInclusive value="1"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="calendar_date_int">
+    <xs:annotation>
+      <xs:documentation>Julian Day Number between 1752-09-14 and 9999-12-31, 
inclusive.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:minInclusive value="2361222"/>
+      <xs:maxInclusive value="5373484"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="age_int">
+    <xs:annotation>
+      <xs:documentation>Attained age: integer between zero and 99, 
inclusive.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:maxInclusive value="99"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="duration_int">
+    <xs:annotation>
+      <xs:documentation>Time interval in years: integer between zero and 100, 
inclusive.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:maxInclusive value="100"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="month_int">
+    <xs:annotation>
+      <xs:documentation>Time interval in months: integer between zero and 
eleven, inclusive.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:nonNegativeInteger">
+      <xs:maxInclusive value="11"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <!-- Enumerations. -->
+  <xs:simpleType name="yes_or_no">
+    <xs:annotation>
+      <xs:documentation>'Yes' or 'No'. 'No' is listed first because it is 
usually the better default.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="No"/>
+      <xs:enumeration value="Yes"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="gender">
+    <xs:annotation>
+      <xs:documentation>Gender. 'Unisex' is for contracts that don't 
distinguish rates by gender.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="Female"/>
+      <xs:enumeration value="Male"/>
+      <xs:enumeration value="Unisex"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="smoking">
+    <xs:annotation>
+      <xs:documentation>Smoking. 'Unismoke' is for contracts that don't 
distinguish rates
+by smoking. Some contracts speak of tobacco use instead of smoking,
+but none use both, so a single set of enumerators suffices.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Underwriting class. Use "Rated" for contracts with 
table ratings.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Death benefit option: 'A' = level; 'B' = increasing; 
'ROP' = return of premium.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Payment mode.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Basis for expense and general-account 
rates.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Basis for separate-account rates.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Type of underwriting.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Industry-standard table rating, or 
'None'.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Parameter to be solved for.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Solve goal.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Optional strategy to determine payment as a function 
of specified amount.
+'PmtInputScalar' is the default even though it is obsolete.
+'PmtMEP' uses 7702A 7PP rate.
+'Table' uses an external table (e.g., New York Table D for group 
insurance).</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Optional strategy to determine specified amount as a 
function of premium.
+'SAInputScalar' is the default even though it is obsolete.
+'SAMEP' uses 7702A 7PP rate.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>General-account rate: before or after 
spread.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Separate-account rate: before or after 
spread.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Loan rate: fixed or variable.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Fund-allocation overrides, for payments that aren't 
peremptorily
+allocated to the general account (e.g., employer payments on some
+group UL contracts might always go into the general account).
+Conceptually:
+'Average': use mean separate-account fee.
+'Override': use scalar input separate-account fee.
+'Choose': respect input fund allocations.
+However, there's no GUI for fund allocation yet, so, for the nonce,
+the meanings in practice are:
+'Average': allocate all payments to separate account.
+'Choose': allocate all payments to general account.
+Reason: the GUI, once it exists, will by default allocate all
+payments to the general account if no separate-account funds are
+selected.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Order in which different individuals in a census are 
processed.
+By default, illustrations are created independently, in series:
+one life at a time. Alternatively, all lives may be run together
+in parallel, which requires more memory but permits them to affect
+each other, as when individual charges depend on total case 
assets.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Presumed moment of death, for partial 
mortality.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Order in which term and base are affected by changes 
in total
+specified amount.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>USPS two-letter abbreviations for the fifty US states, 
plus
+  'DC' (District of Columbia)
+  'PR' (Puerto Rico)
+and 'XX', a fictitious state used for non-US business.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="AL"/>
+      <xs:enumeration value="AK"/>
+      <xs:enumeration value="AZ"/>
+      <xs:enumeration value="AR"/>
+      <xs:enumeration value="CA"/>
+      <xs:enumeration value="CO"/>
+      <xs:enumeration value="CT"/>
+      <xs:enumeration value="DE"/>
+      <xs:enumeration value="DC"/>
+      <xs:enumeration value="FL"/>
+      <xs:enumeration value="GA"/>
+      <xs:enumeration value="HI"/>
+      <xs:enumeration value="ID"/>
+      <xs:enumeration value="IL"/>
+      <xs:enumeration value="IN"/>
+      <xs:enumeration value="IA"/>
+      <xs:enumeration value="KS"/>
+      <xs:enumeration value="KY"/>
+      <xs:enumeration value="LA"/>
+      <xs:enumeration value="ME"/>
+      <xs:enumeration value="MD"/>
+      <xs:enumeration value="MA"/>
+      <xs:enumeration value="MI"/>
+      <xs:enumeration value="MN"/>
+      <xs:enumeration value="MS"/>
+      <xs:enumeration value="MO"/>
+      <xs:enumeration value="MT"/>
+      <xs:enumeration value="NE"/>
+      <xs:enumeration value="NV"/>
+      <xs:enumeration value="NH"/>
+      <xs:enumeration value="NJ"/>
+      <xs:enumeration value="NM"/>
+      <xs:enumeration value="NY"/>
+      <xs:enumeration value="NC"/>
+      <xs:enumeration value="ND"/>
+      <xs:enumeration value="OH"/>
+      <xs:enumeration value="OK"/>
+      <xs:enumeration value="OR"/>
+      <xs:enumeration value="PA"/>
+      <xs:enumeration value="PR"/>
+      <xs:enumeration value="RI"/>
+      <xs:enumeration value="SC"/>
+      <xs:enumeration value="SD"/>
+      <xs:enumeration value="TN"/>
+      <xs:enumeration value="TX"/>
+      <xs:enumeration value="UT"/>
+      <xs:enumeration value="VT"/>
+      <xs:enumeration value="VA"/>
+      <xs:enumeration value="WA"/>
+      <xs:enumeration value="WV"/>
+      <xs:enumeration value="WI"/>
+      <xs:enumeration value="WY"/>
+      <xs:enumeration value="XX"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="country">
+    <xs:annotation>
+      <xs:documentation>International standard country code [ISO 
3166-1-Alpha-2 as of 2000-08-21].</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="AD"/>
+      <xs:enumeration value="AE"/>
+      <xs:enumeration value="AF"/>
+      <xs:enumeration value="AG"/>
+      <xs:enumeration value="AI"/>
+      <xs:enumeration value="AL"/>
+      <xs:enumeration value="AM"/>
+      <xs:enumeration value="AN"/>
+      <xs:enumeration value="AO"/>
+      <xs:enumeration value="AQ"/>
+      <xs:enumeration value="AR"/>
+      <xs:enumeration value="AS"/>
+      <xs:enumeration value="AT"/>
+      <xs:enumeration value="AU"/>
+      <xs:enumeration value="AW"/>
+      <xs:enumeration value="AZ"/>
+      <xs:enumeration value="BA"/>
+      <xs:enumeration value="BB"/>
+      <xs:enumeration value="BD"/>
+      <xs:enumeration value="BE"/>
+      <xs:enumeration value="BF"/>
+      <xs:enumeration value="BG"/>
+      <xs:enumeration value="BH"/>
+      <xs:enumeration value="BI"/>
+      <xs:enumeration value="BJ"/>
+      <xs:enumeration value="BM"/>
+      <xs:enumeration value="BN"/>
+      <xs:enumeration value="BO"/>
+      <xs:enumeration value="BR"/>
+      <xs:enumeration value="BS"/>
+      <xs:enumeration value="BT"/>
+      <xs:enumeration value="BV"/>
+      <xs:enumeration value="BW"/>
+      <xs:enumeration value="BY"/>
+      <xs:enumeration value="BZ"/>
+      <xs:enumeration value="CA"/>
+      <xs:enumeration value="CC"/>
+      <xs:enumeration value="CD"/>
+      <xs:enumeration value="CF"/>
+      <xs:enumeration value="CG"/>
+      <xs:enumeration value="CH"/>
+      <xs:enumeration value="CI"/>
+      <xs:enumeration value="CK"/>
+      <xs:enumeration value="CL"/>
+      <xs:enumeration value="CM"/>
+      <xs:enumeration value="CN"/>
+      <xs:enumeration value="CO"/>
+      <xs:enumeration value="CR"/>
+      <xs:enumeration value="CU"/>
+      <xs:enumeration value="CV"/>
+      <xs:enumeration value="CX"/>
+      <xs:enumeration value="CY"/>
+      <xs:enumeration value="CZ"/>
+      <xs:enumeration value="DE"/>
+      <xs:enumeration value="DJ"/>
+      <xs:enumeration value="DK"/>
+      <xs:enumeration value="DM"/>
+      <xs:enumeration value="DO"/>
+      <xs:enumeration value="DZ"/>
+      <xs:enumeration value="EC"/>
+      <xs:enumeration value="EE"/>
+      <xs:enumeration value="EG"/>
+      <xs:enumeration value="EH"/>
+      <xs:enumeration value="ER"/>
+      <xs:enumeration value="ES"/>
+      <xs:enumeration value="ET"/>
+      <xs:enumeration value="FI"/>
+      <xs:enumeration value="FJ"/>
+      <xs:enumeration value="FK"/>
+      <xs:enumeration value="FM"/>
+      <xs:enumeration value="FO"/>
+      <xs:enumeration value="FR"/>
+      <xs:enumeration value="GA"/>
+      <xs:enumeration value="GB"/>
+      <xs:enumeration value="GD"/>
+      <xs:enumeration value="GE"/>
+      <xs:enumeration value="GF"/>
+      <xs:enumeration value="GH"/>
+      <xs:enumeration value="GI"/>
+      <xs:enumeration value="GL"/>
+      <xs:enumeration value="GM"/>
+      <xs:enumeration value="GN"/>
+      <xs:enumeration value="GP"/>
+      <xs:enumeration value="GQ"/>
+      <xs:enumeration value="GR"/>
+      <xs:enumeration value="GS"/>
+      <xs:enumeration value="GT"/>
+      <xs:enumeration value="GU"/>
+      <xs:enumeration value="GW"/>
+      <xs:enumeration value="GY"/>
+      <xs:enumeration value="HK"/>
+      <xs:enumeration value="HM"/>
+      <xs:enumeration value="HN"/>
+      <xs:enumeration value="HR"/>
+      <xs:enumeration value="HT"/>
+      <xs:enumeration value="HU"/>
+      <xs:enumeration value="ID"/>
+      <xs:enumeration value="IE"/>
+      <xs:enumeration value="IL"/>
+      <xs:enumeration value="IN"/>
+      <xs:enumeration value="IO"/>
+      <xs:enumeration value="IQ"/>
+      <xs:enumeration value="IR"/>
+      <xs:enumeration value="IS"/>
+      <xs:enumeration value="IT"/>
+      <xs:enumeration value="JM"/>
+      <xs:enumeration value="JO"/>
+      <xs:enumeration value="JP"/>
+      <xs:enumeration value="KE"/>
+      <xs:enumeration value="KG"/>
+      <xs:enumeration value="KH"/>
+      <xs:enumeration value="KI"/>
+      <xs:enumeration value="KM"/>
+      <xs:enumeration value="KN"/>
+      <xs:enumeration value="KP"/>
+      <xs:enumeration value="KR"/>
+      <xs:enumeration value="KW"/>
+      <xs:enumeration value="KY"/>
+      <xs:enumeration value="KZ"/>
+      <xs:enumeration value="LA"/>
+      <xs:enumeration value="LB"/>
+      <xs:enumeration value="LC"/>
+      <xs:enumeration value="LI"/>
+      <xs:enumeration value="LK"/>
+      <xs:enumeration value="LR"/>
+      <xs:enumeration value="LS"/>
+      <xs:enumeration value="LT"/>
+      <xs:enumeration value="LU"/>
+      <xs:enumeration value="LV"/>
+      <xs:enumeration value="LY"/>
+      <xs:enumeration value="MA"/>
+      <xs:enumeration value="MC"/>
+      <xs:enumeration value="MD"/>
+      <xs:enumeration value="MG"/>
+      <xs:enumeration value="MH"/>
+      <xs:enumeration value="MK"/>
+      <xs:enumeration value="ML"/>
+      <xs:enumeration value="MM"/>
+      <xs:enumeration value="MN"/>
+      <xs:enumeration value="MO"/>
+      <xs:enumeration value="MP"/>
+      <xs:enumeration value="MQ"/>
+      <xs:enumeration value="MR"/>
+      <xs:enumeration value="MS"/>
+      <xs:enumeration value="MT"/>
+      <xs:enumeration value="MU"/>
+      <xs:enumeration value="MV"/>
+      <xs:enumeration value="MW"/>
+      <xs:enumeration value="MX"/>
+      <xs:enumeration value="MY"/>
+      <xs:enumeration value="MZ"/>
+      <xs:enumeration value="NA"/>
+      <xs:enumeration value="NC"/>
+      <xs:enumeration value="NE"/>
+      <xs:enumeration value="NF"/>
+      <xs:enumeration value="NG"/>
+      <xs:enumeration value="NI"/>
+      <xs:enumeration value="NL"/>
+      <xs:enumeration value="NO"/>
+      <xs:enumeration value="NP"/>
+      <xs:enumeration value="NR"/>
+      <xs:enumeration value="NU"/>
+      <xs:enumeration value="NZ"/>
+      <xs:enumeration value="OM"/>
+      <xs:enumeration value="PA"/>
+      <xs:enumeration value="PE"/>
+      <xs:enumeration value="PF"/>
+      <xs:enumeration value="PG"/>
+      <xs:enumeration value="PH"/>
+      <xs:enumeration value="PK"/>
+      <xs:enumeration value="PL"/>
+      <xs:enumeration value="PM"/>
+      <xs:enumeration value="PN"/>
+      <xs:enumeration value="PR"/>
+      <xs:enumeration value="PS"/>
+      <xs:enumeration value="PT"/>
+      <xs:enumeration value="PW"/>
+      <xs:enumeration value="PY"/>
+      <xs:enumeration value="QA"/>
+      <xs:enumeration value="RE"/>
+      <xs:enumeration value="RO"/>
+      <xs:enumeration value="RU"/>
+      <xs:enumeration value="RW"/>
+      <xs:enumeration value="SA"/>
+      <xs:enumeration value="SB"/>
+      <xs:enumeration value="SC"/>
+      <xs:enumeration value="SD"/>
+      <xs:enumeration value="SE"/>
+      <xs:enumeration value="SG"/>
+      <xs:enumeration value="SH"/>
+      <xs:enumeration value="SI"/>
+      <xs:enumeration value="SJ"/>
+      <xs:enumeration value="SK"/>
+      <xs:enumeration value="SL"/>
+      <xs:enumeration value="SM"/>
+      <xs:enumeration value="SN"/>
+      <xs:enumeration value="SO"/>
+      <xs:enumeration value="SR"/>
+      <xs:enumeration value="ST"/>
+      <xs:enumeration value="SV"/>
+      <xs:enumeration value="SY"/>
+      <xs:enumeration value="SZ"/>
+      <xs:enumeration value="TC"/>
+      <xs:enumeration value="TD"/>
+      <xs:enumeration value="TF"/>
+      <xs:enumeration value="TG"/>
+      <xs:enumeration value="TH"/>
+      <xs:enumeration value="TJ"/>
+      <xs:enumeration value="TK"/>
+      <xs:enumeration value="TM"/>
+      <xs:enumeration value="TN"/>
+      <xs:enumeration value="TO"/>
+      <xs:enumeration value="TP"/>
+      <xs:enumeration value="TR"/>
+      <xs:enumeration value="TT"/>
+      <xs:enumeration value="TV"/>
+      <xs:enumeration value="TW"/>
+      <xs:enumeration value="TZ"/>
+      <xs:enumeration value="UA"/>
+      <xs:enumeration value="UG"/>
+      <xs:enumeration value="UM"/>
+      <xs:enumeration value="US"/>
+      <xs:enumeration value="UY"/>
+      <xs:enumeration value="UZ"/>
+      <xs:enumeration value="VA"/>
+      <xs:enumeration value="VC"/>
+      <xs:enumeration value="VE"/>
+      <xs:enumeration value="VG"/>
+      <xs:enumeration value="VI"/>
+      <xs:enumeration value="VN"/>
+      <xs:enumeration value="VU"/>
+      <xs:enumeration value="WF"/>
+      <xs:enumeration value="WS"/>
+      <xs:enumeration value="YE"/>
+      <xs:enumeration value="YT"/>
+      <xs:enumeration value="YU"/>
+      <xs:enumeration value="ZA"/>
+      <xs:enumeration value="ZM"/>
+      <xs:enumeration value="ZW"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="defn_life_ins">
+    <xs:annotation>
+      <xs:documentation>7702 definitional test, if any.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Special logic, if any, to avoid a MEC. Formerly, 
another choice
+tried to avoid a MEC by increasing the specified amount, but that
+proved unworkable (e.g., because of underwriting).</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>7702A definition of material change. For the nonce, use
+"Earlier of" with CVAT, and "adjustment event" with GPT.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Inclusive start of a half-open time 
interval.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Exclusive end of a half-open time 
interval.</xs:documentation>
+    </xs:annotation>
+    <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:annotation>
+      <xs:documentation>Column on optional supplemental 
report.</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="[none]"/>
+      <xs:enumeration value="AttainedAge"/>
+      <xs:enumeration value="PolicyYear"/>
+      <xs:enumeration value="InforceLives"/>
+      <xs:enumeration value="SpecAmt"/>
+      <xs:enumeration value="TermSpecAmt"/>
+      <xs:enumeration value="CorridorFactor"/>
+      <xs:enumeration value="AnnGAIntRate_Current"/>
+      <xs:enumeration value="AnnSAIntRate_Current"/>
+      <xs:enumeration value="Outlay"/>
+      <xs:enumeration value="EeGrossPmt"/>
+      <xs:enumeration value="ErGrossPmt"/>
+      <xs:enumeration value="ModalMinimumPremium"/>
+      <xs:enumeration value="NetWD"/>
+      <xs:enumeration value="NewCashLoan"/>
+      <xs:enumeration value="TotalLoanBalance_Current"/>
+      <xs:enumeration value="TotalLoanBalance_Guaranteed"/>
+      <xs:enumeration value="AcctVal_Current"/>
+      <xs:enumeration value="AcctVal_Guaranteed"/>
+      <xs:enumeration value="CSVNet_Current"/>
+      <xs:enumeration value="CSVNet_Guaranteed"/>
+      <xs:enumeration value="EOYDeathBft_Current"/>
+      <xs:enumeration value="EOYDeathBft_Guaranteed"/>
+      <xs:enumeration value="BaseDeathBft_Current"/>
+      <xs:enumeration value="BaseDeathBft_Guaranteed"/>
+      <xs:enumeration value="TermPurchased_Current"/>
+      <xs:enumeration value="TermPurchased_Guaranteed"/>
+      <xs:enumeration value="COICharge_Current"/>
+      <xs:enumeration value="COICharge_Guaranteed"/>
+      <xs:enumeration value="RiderCharges_Current"/>
+      <xs:enumeration value="IrrCsv_Current"/>
+      <xs:enumeration value="IrrCsv_Guaranteed"/>
+      <xs:enumeration value="IrrDb_Current"/>
+      <xs:enumeration value="IrrDb_Guaranteed"/>
+      <xs:enumeration value="ExperienceReserve_Current"/>
+      <xs:enumeration value="NetClaims_Current"/>
+      <xs:enumeration value="NetCOICharge_Current"/>
+      <xs:enumeration value="ProjectedCoiCharge_Current"/>
+      <xs:enumeration value="KFactor_Current"/>
+      <xs:enumeration value="GrossPmt"/>
+      <xs:enumeration value="LoanIntAccrued_Current"/>
+      <xs:enumeration value="NetDeathBenefit"/>
+      <xs:enumeration value="DeathProceedsPaid_Current"/>
+      <xs:enumeration value="ClaimsPaid_Current"/>
+      <xs:enumeration value="AVRelOnDeath_Current"/>
+      <xs:enumeration value="SpecAmtLoad_Current"/>
+      <xs:enumeration value="GrossIntCredited_Current"/>
+      <xs:enumeration value="NetIntCredited_Current"/>
+      <xs:enumeration value="SepAcctCharges_Current"/>
+      <xs:enumeration value="PolicyFee_Current"/>
+      <xs:enumeration value="AVGenAcct_CurrentZero"/>
+      <xs:enumeration value="AVGenAcct_GuaranteedZero"/>
+      <xs:enumeration value="AVSepAcct_CurrentZero"/>
+      <xs:enumeration value="AVSepAcct_GuaranteedZero"/>
+      <xs:enumeration value="AcctVal_CurrentZero"/>
+      <xs:enumeration value="AcctVal_GuaranteedZero"/>
+      <xs:enumeration value="CSVNet_CurrentZero"/>
+      <xs:enumeration value="CSVNet_GuaranteedZero"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>


Property changes on: lmi/trunk/types_07.xsd
___________________________________________________________________
Added: svn:keywords
   + Id




reply via email to

[Prev in Thread] Current Thread [Next in Thread]