[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 417add4 3/5: Improve schema documentation
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 417add4 3/5: Improve schema documentation |
Date: |
Tue, 10 Jul 2018 18:01:25 -0400 (EDT) |
branch: master
commit 417add46f13560deec6e45b39f53413fe8071ab6
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Improve schema documentation
---
types.rnc | 19 +++++++++++++++++--
types.xsd | 16 ++++++++++++++--
2 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/types.rnc b/types.rnc
index b1f37ba..abad3ff 100644
--- a/types.rnc
+++ b/types.rnc
@@ -37,11 +37,25 @@
# although a simple scalar suffices when historical data don't vary by
# year.
+# General numeric value.
numeric_sequence = xsd:string {pattern = " *| *(\-?[0-9.]+)(( +| *,
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; *(\-?[0-9.]+)(( +| *,
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"}
+
+# Payment: keyword or numeric value.
payment_sequence = xsd:string {pattern = " *|
*(\-?[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]+|[\[\(][^;]+[\]\)]))? *)*;? *"}
+
+# Payment mode.
mode_sequence = xsd:string {pattern = " *|
*(annual|semiannual|quarterly|monthly)(( +| *, *)(address@hidden
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(;
*(annual|semiannual|quarterly|monthly)(( +| *, *)(address@hidden
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"}
+
+# Specified amount: keyword or numeric value.
specamt_sequence = xsd:string {pattern = " *|
*(\-?[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]+|[\[\(][^;]+[\]\)]))? *)*;? *"}
+
+# Death benefit option:
+# 'a' (level)
+# 'b' (increasing)
+# 'rop' (return of premium)
+# 'mdb' (minimal death benefit)
dbo_sequence = xsd:string {pattern = " *| *(a|b|rop|mdb)(( +| *,
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; *(a|b|rop|mdb)(( +|
*, *)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"}
+
# Numeric-range types.
## Floating-point number greater than or equal to zero.
@@ -83,7 +97,7 @@ smoking =
| "Nonsmoker"
| "Unismoke"
-## Underwriting class. Use "Rated" for contracts with table ratings.
+## Underwriting class. Use 'Rated' for contracts with table ratings.
class =
"Preferred"
| "Standard"
@@ -279,7 +293,8 @@ mec_avoid_method =
| "Reduce premium"
## 7702A definition of material change. For the nonce, use
-## "Earlier of" with CVAT, and "adjustment event" with GPT.
+## 'Earlier of increase or unnecessary premium' with CVAT, and
+## 'GPT adjustment event' with GPT.
defn_material_change =
"Unnecessary premium"
| "Benefit increase"
diff --git a/types.xsd b/types.xsd
index d0f6d01..2debb5d 100644
--- a/types.xsd
+++ b/types.xsd
@@ -43,26 +43,37 @@
although a simple scalar suffices when historical data don't vary by
year.
-->
+ <!-- General numeric value. -->
<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>
+ <!-- Payment: keyword or numeric value. -->
<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>
+ <!-- Payment mode. -->
<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>
+ <!-- Specified amount: keyword or numeric value. -->
<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>
+ <!--
+ Death benefit option:
+ 'a' (level)
+ 'b' (increasing)
+ 'rop' (return of premium)
+ 'mdb' (minimal death benefit)
+ -->
<xs:simpleType name="dbo_sequence">
<xs:restriction base="xs:string">
<xs:pattern value=" *| *(a|b|rop|mdb)(( +| *, *)(address@hidden
*[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *(; *(a|b|rop|mdb)(( +| *,
*)(address@hidden *[0-9]+|[a-z]+|[\[\(][^;]+[\]\)]))? *)*;? *"/>
@@ -153,7 +164,7 @@ but none use both, so a single set of enumerators
suffices.</xs:documentation>
</xs:simpleType>
<xs:simpleType name="class">
<xs:annotation>
- <xs:documentation>Underwriting class. Use "Rated" for contracts with
table ratings.</xs:documentation>
+ <xs:documentation>Underwriting class. Use 'Rated' for contracts with
table ratings.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Preferred"/>
@@ -690,7 +701,8 @@ proved unworkable (e.g., because of
underwriting).</xs:documentation>
<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>
+ 'Earlier of increase or unnecessary premium' with CVAT, and
+ 'GPT adjustment event' with GPT.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="Unnecessary premium"/>