add files

This commit is contained in:
ChiKyun Kim
2025-09-09 13:59:12 +09:00
parent e94b06888d
commit 747aabe224
791 changed files with 3888723 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsdCalendarConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="main/calendar.xsd">
<calendar country="ABW" exchange="exchange0" uniqueID="ID000" referenceID="ID000">
<dependsOn>ID000</dependsOn>
<library>DEFAULT</library>
<composite>
<union>
<calendar country="ABW" exchange="exchange1" uniqueID="ID001" referenceID="ID000">
<dependsOn>ID000</dependsOn>
<library>DEFAULT</library>
<modified>
<calendar country="ABW" exchange="exchange2" uniqueID="ID002" referenceID="ID000">
<dateList>
<bound>
</bound>
<holiday>2006-05-04</holiday>
<holiday>2006-05-04</holiday>
</dateList>
</calendar>
</modified>
</calendar>
<calendar country="ABW" exchange="exchange3" uniqueID="ID003" referenceID="ID002">
<dependsOn>ID003</dependsOn>
<library>DEFAULT</library>
<modified>
<calendar country="ABW" exchange="exchange4" uniqueID="ID004" referenceID="ID004">
<ruleBased>
<Mexico/>
</ruleBased>
</calendar>
</modified>
</calendar>
</union>
</composite>
</calendar>
<calendar country="ABW" exchange="exchange5" uniqueID="ID005" referenceID="ID000">
<dependsOn>ID002</dependsOn>
<library>DEFAULT</library>
<ruleBased>
<ECB/>
</ruleBased>
</calendar>
</xsdCalendarConfig>

View File

@@ -0,0 +1,444 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (x64) (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="types.xsd"/>
<xs:annotation>
<xs:documentation>Abstract base class</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdCalendar" abstract="false">
<xs:annotation>
<xs:appinfo>REFERENCE+CONSTRUCT</xs:appinfo>
<xs:documentation>Holiday calendar</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:choice minOccurs="0">
<xs:element name="composite" type="XslCompositeCalendar">
<xs:annotation>
<xs:documentation>Union of intersection of existing holiday calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dateList" type="XslDateListCalendar">
<xs:annotation>
<xs:documentation>List over hiolidays over date range</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="modified" type="XslModifiedCalendar">
<xs:annotation>
<xs:documentation>Modification of existing calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ruleBased" type="XslRuleBasedCalendar">
<xs:annotation>
<xs:documentation>Algorithmic calendars</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdCalendarGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Derived classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XslModifiedCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Add/remove holidays from calendar</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>Underlying calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="add" type="XsdDateVector" minOccurs="0">
<xs:annotation>
<xs:documentation>Add new holidays</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="remove" type="XsdDateVector" minOccurs="0">
<xs:annotation>
<xs:documentation>Remove existing holidays</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslRuleBasedCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Holiday algorithms</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="Argentina" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Argentinian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Australia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Australian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Brazil" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Brazilian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Canada" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Canadian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="China" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Chinese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CzechRepublic" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Czech holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Denmark" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Danish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ECB" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>ECB holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="England" type="XslUKCalendar">
<xs:annotation>
<xs:documentation>Great Britian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Finland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Finnish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Germany" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>German holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="HongKong" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>HongKong holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Hungary" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Hungarian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Iceland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Icelandic holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="India" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Indian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Indonesia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Indonesian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Italy" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Italian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Japan" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Japanese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Mexico" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Mexican holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="NewZealand" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>New Zealand holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Norway" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Norwegian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Poland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Polish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Russia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Russian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SaudiArabia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Saudi holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Singapore" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Singapore holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Slovakia" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Slovakian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SouthAfrica" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>South African holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SouthKorea" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>South Korean holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Sweden" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Swsdish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Switzerland" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Swiss holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Taiwan" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Taiwanese holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Turkey" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Turkish holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Ukraine" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Uknainian holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="UnitedStates" type="XslUSCalendar">
<xs:annotation>
<xs:documentation>USA holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="WeekendsOnly" type="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Just what it says</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="XslDateListCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>List of holidays</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="bound" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Use first/last holiday if bound not specified </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="holiday" type="xs:date" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>List of holidays</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="weekend" type="XsdDayOfWeek" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Use Saturday and Sunday if not specified </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslCompositeCalendar">
<xs:annotation>
<xs:appinfo>INSERT+CONSTRUCT</xs:appinfo>
<xs:documentation>Holidays in any calendar</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="intersection" type="XslCalendarList">
<xs:annotation>
<xs:documentation>Holidays in ALL of these calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="union" type="XslCalendarList">
<xs:annotation>
<xs:documentation>Holidays in ANY of these calendars</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>Unit tests</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdRollTest">
<xs:annotation>
<xs:appinfo>INSERT+CALCULATE</xs:appinfo>
<xs:documentation>Rolls dates to nearest business dates</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdCalculationSchema">
<xs:sequence minOccurs="0">
<xs:element name="result" type="XsdDateVectorResult" minOccurs="0">
<xs:annotation>
<xs:documentation>Returns a date list</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Date range to be rolled</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="roll" type="XsdRoll">
<xs:annotation>
<xs:documentation>Roll convention. Default: NONE</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>Holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCalendarTest">
<xs:annotation>
<xs:appinfo>INSERT+CALCULATE</xs:appinfo>
<xs:documentation>Returns holidays between two dates</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdCalculationSchema">
<xs:sequence minOccurs="0">
<xs:element name="result" type="XsdDateVectorResult" minOccurs="0">
<xs:annotation>
<xs:documentation>Returns list of dates</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdDateBounds">
<xs:annotation>
<xs:documentation>Date range (min/max)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="calendar" type="XsdCalendar">
<xs:annotation>
<xs:documentation>The holiday calendar</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="excludeWeekends" type="xs:boolean" default="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: true </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Enumerated types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdUKCalendarType">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="EXCHANGE"/>
<xs:enumeration value="METALS"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdUSCalendarType">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="NERC"/>
<xs:enumeration value="NYSE"/>
<xs:enumeration value="GOVERNMENT_BOND"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Helper classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XslCalendarList">
<xs:annotation>
<xs:documentation/>
</xs:annotation>
<xs:sequence minOccurs="2" maxOccurs="unbounded"><!-- -->
<xs:element name="calendar" type="XsdCalendar"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XslUKCalendar">
<xs:attribute name="type" type="XsdUKCalendarType" default="SETTLEMENT">
<xs:annotation>
<xs:documentation>Default: SETTLEMENT</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="XslUSCalendar">
<xs:attribute name="type" type="XsdUSCalendarType" default="SETTLEMENT">
<xs:annotation>
<xs:documentation>Default: SETTLEMENT</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:annotation>
<xs:documentation>Configuration file </xs:documentation>
</xs:annotation>
<xs:complexType name="XsdCalendarConfig">
<xs:sequence>
<xs:element name="calendar" type="XsdCalendar" maxOccurs="unbounded">
<xs:unique name="CalendarName">
<xs:annotation>
<xs:documentation>Country/exchange combination must be unique</xs:documentation>
</xs:annotation>
<xs:selector xpath="."/>
<xs:field xpath="@country"/>
<xs:field xpath="@exchange"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="xsdCalendarConfig" type="XsdCalendarConfig">
<xs:annotation>
<xs:documentation>List of holiday calendars</xs:documentation>
</xs:annotation>
</xs:element>
<xs:annotation>
<xs:documentation>Attributes</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="XsdCalendarGroup">
<xs:attribute name="country" type="XsdCountry" use="optional">
<xs:annotation>
<xs:documentation>3-letter ISO code </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="exchange" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Country/exchange pairs must be unique</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
</xs:schema>

View File

@@ -0,0 +1,632 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="../xsd-math/enums.xsd"/>
<xs:simpleType name="XsdAssetType">
<xs:annotation>
<xs:documentation>Asset classes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="EQUIPMENT"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="BOND"/>
<xs:enumeration value="CAP_FLOOR"/>
<xs:enumeration value="DEFAULT_SWAP"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="FUTURES"/>
<xs:enumeration value="LEASE_POOL"/>
<xs:enumeration value="OPTION"/>
<xs:enumeration value="PORTFOLIO"/>
<xs:enumeration value="SWAP"/>
<xs:enumeration value="SWAP_LEG"/>
<xs:enumeration value="TRANCHE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdAssetIdType">
<xs:annotation>
<xs:documentation>Asset identifiers</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="CUSIP"/>
<xs:enumeration value="ISIN"/>
<xs:enumeration value="SEDOL"/>
<xs:enumeration value="TICKER"/>
<xs:enumeration value="VALOR"/>
<xs:enumeration value="WKN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBalanceType">
<xs:annotation>
<xs:documentation>Current, original, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AVERAGE"/>
<xs:enumeration value="CURRENT"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBalanceUnit">
<xs:annotation>
<xs:documentation>What is balance a fraction of?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="PAR"/>
<xs:enumeration value="SETTLEMENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBarrierType">
<xs:annotation>
<xs:documentation>Option barriers ( down_and_out, etc. )</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DOWN_AND_IN"/>
<xs:enumeration value="DOWN_AND_OUT"/>
<xs:enumeration value="UP_AND_IN"/>
<xs:enumeration value="UP_AND_OUT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCapFloorStyle">
<xs:annotation>
<xs:documentation>Cap, floor, or collar?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CAP"/>
<xs:enumeration value="FLOOR"/>
<xs:enumeration value="COLLAR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCashflowType">
<xs:annotation>
<xs:documentation>Expected, scenario, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="FIXED"/>
<xs:enumeration value="FORECAST"/>
<xs:enumeration value="SCENARIO"/>
<xs:enumeration value="EXPECTED"/>
<xs:enumeration value="MERGED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCommodityType">
<xs:annotation>
<xs:documentation>Gas, oil, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="ENERGY"/>
<xs:enumeration value="GAS"/>
<xs:enumeration value="GOLD"/>
<xs:enumeration value="OIL"/>
<xs:enumeration value="SILVER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCompoundingType">
<xs:annotation>
<xs:documentation>For interest-rate calculations</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CONTINUOUS"/>
<xs:enumeration value="PERIODIC"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdConventionType">
<xs:restriction base="xs:string">
<xs:enumeration value="COMPOUND"/>
<xs:enumeration value="DELAY"/>
<xs:enumeration value="EX_DIVIDEND"/>
<xs:enumeration value="MATURITY"/>
<xs:enumeration value="NOTICE"/>
<xs:enumeration value="RESET"/>
<xs:enumeration value="SETTLEMENT"/>
<xs:enumeration value="STANDARD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCpiInterpolateRule">
<xs:restriction base="xs:string">
<xs:enumeration value="INDEX"/>
<xs:enumeration value="FLAT"/>
<xs:enumeration value="LINEAR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDateRule">
<xs:annotation>
<xs:documentation>Date generation rules</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="CDS_NEW"/>
<xs:enumeration value="CDS_OLD"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="THIRD_WEDNESDAY"/>
<xs:enumeration value="TWENTIETH"/>
<xs:enumeration value="TWENTIETH_IMM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDayCountType">
<xs:annotation>
<xs:documentation>Basic X/Y day counts</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="30/ACTUAL"/>
<xs:enumeration value="30/360"/>
<xs:enumeration value="30/365"/>
<xs:enumeration value="ACTUAL/360"/>
<xs:enumeration value="ACTUAL/364"/>
<xs:enumeration value="ACTUAL/365"/>
<xs:enumeration value="ACTUAL/366"/>
<xs:enumeration value="ACTUAL/ACTUAL"/>
<xs:enumeration value="APPROXIMATE"/>
<xs:enumeration value="BUSINESS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDefaultAccrualType">
<xs:annotation>
<xs:documentation>How to handle accrual if default evant</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="IMMEDIATE"/>
<xs:enumeration value="NEXT_COUPON_DATE"/>
<xs:enumeration value="MATURITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDerivedIndexType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="COMPOSITE"/>
<xs:enumeration value="HYBRID"/>
<xs:enumeration value="LOGICAL"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RETURN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDividendType">
<xs:annotation>
<xs:documentation>Equity dividend types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="FRACTION"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdEventType">
<xs:annotation>
<xs:documentation>Default, recovery, rating, etc. </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="LEASE"/>
<xs:enumeration value="RATING"/>
<xs:enumeration value="RECOVERY"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExerciseType">
<xs:annotation>
<xs:documentation>American, Bermudan, or European</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMERICAN"/>
<xs:enumeration value="BERMUDAN"/>
<xs:enumeration value="EUROPEAN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExpressionType">
<xs:restriction base="xs:string">
<xs:enumeration value="BASKET"/>
<xs:enumeration value="CASHFLOW"/>
<xs:enumeration value="CURVE"/>
<xs:enumeration value="DATA"/>
<xs:enumeration value="EVENT"/>
<xs:enumeration value="LOGICAL"/>
<xs:enumeration value="MATH"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RANDOM"/>
<xs:enumeration value="RELATIONAL"/>
<xs:enumeration value="SOLVER"/>
<xs:enumeration value="UTILITY"/>
<xs:enumeration value="VALUE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdForwardContractType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOND_FORWARD"/>
<xs:enumeration value="EURODOLLAR_FUTURES"/>
<xs:enumeration value="FORWARD_RATE_AGREEMENT"/>
<xs:enumeration value="VARIANCE_SWAP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdFrequency">
<xs:annotation>
<xs:documentation>Periodic frequency</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BIWEEKLY"/>
<xs:enumeration value="BIMONTHLY"/>
<xs:enumeration value="CONTINUOUS"/>
<xs:enumeration value="DAILY"/>
<xs:enumeration value="WEEKLY"/>
<xs:enumeration value="MONTHLY"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="QUARTERLY"/>
<xs:enumeration value="SEMIANNUAL"/>
<xs:enumeration value="ANNUAL"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdIndexType">
<xs:annotation>
<xs:documentation>Rate,currency, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="COMPOSITE"/>
<xs:enumeration value="CONDITIONAL"/>
<xs:enumeration value="CREDIT"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="CUSTOM"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="HYBRID"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="MACRO"/>
<xs:enumeration value="PATHWISE"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="RETURN"/>
<xs:enumeration value="VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdInflationType">
<xs:annotation>
<xs:documentation>Zero-coupon, year-on-year, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="YEAR_ON_YEAR"/>
<xs:enumeration value="ZERO_COUPON"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMaturityType">
<xs:annotation>
<xs:documentation>Fixed, variable, or perpetual?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="FIXED"/>
<xs:enumeration value="PERPETUAL"/>
<xs:enumeration value="VARIABLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdObligorType">
<xs:annotation>
<xs:documentation>Corporate, government, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CORPORATE"/>
<xs:enumeration value="GOVERNMENT"/>
<xs:enumeration value="MUNICIPAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOddCouponType">
<xs:annotation>
<xs:documentation>Long, short, or regular?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="LONG"/>
<xs:enumeration value="REGULAR"/>
<xs:enumeration value="SHORT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOptionStyle">
<xs:annotation>
<xs:documentation>Call, put, or chooser option?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CALL"/>
<xs:enumeration value="CHOOSER"/>
<xs:enumeration value="PUT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdOptionType">
<xs:annotation>
<xs:documentation>Coarse option classification</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CREDIT"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPaymentFlag">
<xs:annotation>
<xs:documentation>Qualifiers</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="PROVISIONAL"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPaymentType">
<xs:annotation>
<xs:documentation>Interest, Principal, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BALANCE"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="EXPENSE"/>
<xs:enumeration value="INTEREST"/>
<xs:enumeration value="LEASERATE"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="PARVALUE"/>
<xs:enumeration value="PRINCIPAL"/>
<xs:enumeration value="RECOVERY"/>
<xs:enumeration value="RESIDUAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPeriodic">
<xs:annotation>
<xs:documentation>Periodic frequency only</xs:documentation>
</xs:annotation>
<xs:restriction base="XsdFrequency"/>
</xs:simpleType>
<xs:simpleType name="XsdPeriodType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOND"/>
<xs:enumeration value="NATIVE"/>
<xs:enumeration value="SWAP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPrincipalType">
<xs:annotation>
<xs:documentation>Principal amortization</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AMOUNT"/>
<xs:enumeration value="NOTIONAL"/>
<xs:enumeration value="ORIGINAL"/>
<xs:enumeration value="PAR"/>
<xs:enumeration value="REMAINING"/>
<xs:enumeration value="SCHEDULED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPositionType">
<xs:annotation>
<xs:documentation>Long or short</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="LONG"/>
<xs:enumeration value="SHORT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdQuoteType">
<xs:annotation>
<xs:documentation>How prices are quoted </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DISCOUNT"/>
<xs:enumeration value="DIVIDEND"/>
<xs:enumeration value="FRACTION"/>
<xs:enumeration value="PRICE"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="RATIO"/>
<xs:enumeration value="SPREAD"/>
<xs:enumeration value="UPFRONT"/>
<xs:enumeration value="VALUE"/>
<xs:enumeration value="VARIANCE"/>
<xs:enumeration value="VOLATILITY"/>
<xs:enumeration value="YIELD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRateCapType">
<xs:restriction base="xs:string">
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRateSwapType">
<xs:annotation>
<xs:documentation>Vanilla, OIS, CMS, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BMA_VS_LIBOR"/>
<xs:enumeration value="CONSTANT_MATURITY"/>
<xs:enumeration value="OVERNIGHT_INDEX"/>
<xs:enumeration value="VANILLA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdReturnType">
<xs:annotation>
<xs:documentation>How to calculate returns</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="COMPOUND"/>
<xs:enumeration value="DIFFERENCE"/>
<xs:enumeration value="RATIO"/>
<xs:enumeration value="SIMPLE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRollType">
<xs:annotation>
<xs:documentation>Business date convention</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdScheduleType">
<xs:annotation>
<xs:documentation>Coupon, dividend, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="AMORTIZE"/>
<xs:enumeration value="BARRIER"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="CALL"/>
<xs:enumeration value="CONVERT"/>
<xs:enumeration value="COUPON"/>
<xs:enumeration value="EXPRESSION"/>
<xs:enumeration value="PUT"/>
<xs:enumeration value="SINK"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSecurityType">
<xs:annotation>
<xs:documentation>Security classifier</xs:documentation>
</xs:annotation>
<xs:restriction base="XsdAssetType">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="EQUITY"/>
<xs:enumeration value="BOND"/>
<xs:enumeration value="CAP_FLOOR"/>
<xs:enumeration value="DEFAULT_SWAP"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="FUTURES"/>
<xs:enumeration value="LEASE_POOL"/>
<xs:enumeration value="OPTION"/>
<xs:enumeration value="PORTFOLIO"/>
<xs:enumeration value="SWAP"/>
<xs:enumeration value="TRANCHE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSeniorityType">
<xs:annotation>
<xs:documentation>Payment priority on default</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="SENIOR_SECURED"/>
<xs:enumeration value="SENIOR_UNSECURED"/>
<xs:enumeration value="SUB_TIER1"/>
<xs:enumeration value="SUB_TIER2_LOWER"/>
<xs:enumeration value="SUB_TIER2_UPPER"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSettleType">
<xs:annotation>
<xs:documentation>Cash or physical delivery?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CASH"/>
<xs:enumeration value="PHYSICAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapLegSide">
<xs:annotation>
<xs:documentation>Pay, receive, or net?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="NET"/>
<xs:enumeration value="PAY"/>
<xs:enumeration value="RECEIVE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapLegType">
<xs:annotation>
<xs:documentation>Swap leg classification</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="ASSET"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="FIXED_RATE"/>
<xs:enumeration value="FLOATING_RATE"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="ZERO_COUPON"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSwapType">
<xs:restriction base="xs:string">
<xs:enumeration value="ASSET"/>
<xs:enumeration value="BESPOKE"/>
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="GENERAL"/>
<xs:enumeration value="INDEX"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="RATE"/>
<xs:enumeration value="VARIANCE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSpreadType">
<xs:annotation>
<xs:documentation>Bond spread types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="OPTION_ADJUSTED"/>
<xs:enumeration value="ZERO_VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdTermStructureType">
<xs:annotation>
<xs:documentation>Term structure types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="COMMODITY"/>
<xs:enumeration value="CORRELATION"/>
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="DISCOUNT"/>
<xs:enumeration value="HAZARD"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="VOLATILITY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdValueType">
<xs:annotation>
<xs:documentation>Forward, present, or horizon value </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="HORIZON"/>
<xs:enumeration value="PRESENT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdYieldType">
<xs:annotation>
<xs:documentation>Bond yield types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="MATURITY"/>
<xs:enumeration value="CALL"/>
<xs:enumeration value="WORST"/>
<xs:enumeration value="CASHFLOW"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="enums.xsd"/>
<xs:include schemaLocation="../xsd-math/types.xsd"/>
<xs:complexType name="XsdAggregate">
<xs:annotation>
<xs:documentation>Aggregate multiple indexes, prices, etc. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="method" type="XsdAggregateType" default="TOTAL" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: TOTAL</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="average" type="XsdAverageType" default="ARITHMETIC" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: ARITHMETIC</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="decile" type="XsdProbability" default="0.50" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: 0.50</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="range" type="XsdSizeBounds" minOccurs="0">
<xs:annotation>
<xs:documentation>Restricted range</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdCompounding">
<xs:simpleContent>
<xs:extension base="XsdCompoundingType">
<xs:attribute name="frequency" type="XsdPeriodic" default="NONE">
<xs:annotation>
<xs:documentation>Periodic compounding only</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdIndex" abstract="false">
<xs:annotation>
<xs:appinfo>REFERENCE+CONSTRUCT</xs:appinfo>
<xs:documentation>Reference-only base index schema. This supports "simple" indexes that represent a time series of financial data and "derived" indexes that combine several simple indexs. </xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdMaturity">
<xs:annotation>
<xs:documentation>Date or duration</xs:documentation>
</xs:annotation>
<xs:choice minOccurs="0">
<xs:element name="date" type="XsdDate">
<xs:annotation>
<xs:documentation>Actual date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="XsdTenor">
<xs:annotation>
<xs:documentation>Offset from issue or trade date</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IMM" type="xs:string">
<xs:annotation>
<xs:documentation>IMM date code</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:complexType name="XsdOddCouponTypes">
<xs:sequence>
<xs:element name="first" type="XsdOddCouponType" default="REGULAR" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: REGULAR</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="last" type="XsdOddCouponType" default="REGULAR" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: REGULAR</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdOddCoupon">
<xs:annotation>
<xs:documentation>Odd first/last coupons</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="first" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>First coupon</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="last" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>Last coupon</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdRoll">
<xs:simpleContent>
<xs:extension base="XsdRollType">
<xs:attribute name="modified" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>Default: false</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="nearest" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation>Default: false</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdEnumVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="value.xsd"/>
<xs:annotation>
<xs:documentation>Lower and upper limits (both optional)</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdDoubleBounds">
<xs:sequence>
<xs:element name="lower" type="XsdDouble" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdDouble" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdDateBounds">
<xs:sequence>
<xs:element name="lower" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdDate" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdTimeBounds">
<xs:sequence>
<xs:element name="lower" type="XsdDateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdDateTime" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdTenorBounds">
<xs:sequence>
<xs:element name="lower" type="XsdTenor" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdTenor" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdIntegerBounds">
<xs:sequence>
<xs:element name="lower" type="XsdInteger" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdInteger" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdSizeBounds">
<xs:sequence>
<xs:element name="lower" type="XsdSize" minOccurs="0">
<xs:annotation>
<xs:documentation>No lower bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="upper" type="XsdSize" minOccurs="0">
<xs:annotation>
<xs:documentation>No upper bound if not specified</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@@ -0,0 +1,809 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>Where stuff comes from</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdLibrary">
<xs:annotation>
<xs:documentation>Whose code are we using?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BOOST"/>
<xs:enumeration value="CUBATURE"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="DIFFPACK"/>
<xs:enumeration value="FFTW"/>
<xs:enumeration value="GALIB"/>
<xs:enumeration value="GLPK"/>
<xs:enumeration value="GSL"/>
<xs:enumeration value="IMSL"/>
<xs:enumeration value="LAPACK"/>
<xs:enumeration value="LINPACK"/>
<xs:enumeration value="MAGMA"/>
<xs:enumeration value="MATLAB"/>
<xs:enumeration value="MPI"/>
<xs:enumeration value="NAG"/>
<xs:enumeration value="NVIDIA"/>
<xs:enumeration value="INTERNAL"/>
<xs:enumeration value="OOL"/>
<xs:enumeration value="OOQP"/>
<xs:enumeration value="PETSC"/>
<xs:enumeration value="QUANTLIB"/>
<xs:enumeration value="SIAM"/>
<xs:enumeration value="TNT"/>
<xs:enumeration value="TOON"/>
<xs:enumeration value="TRNG"/>
<xs:enumeration value="VIENNA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDataSource">
<xs:annotation>
<xs:documentation>Where the data comes from ...</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BLOOMBERG"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="FACTSET"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDocumentType">
<xs:annotation>
<xs:documentation>What the calculation engine does</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CALCULATE"/>
<xs:enumeration value="MARKET_DATA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSchemaType">
<xs:annotation>
<xs:documentation>XSD schema classification</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CURRENCY"/>
<xs:enumeration value="DISCOUNT"/>
<xs:enumeration value="INFLATION"/>
<xs:enumeration value="HAZARD"/>
<xs:enumeration value="LOSS"/>
<xs:enumeration value="LIBOR_CORRELATION"/>
<xs:enumeration value="LIBOR_VOLATILITY"/>
<xs:enumeration value="MARKET"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="PROCESS"/>
<xs:enumeration value="VOLATILITY"/>
<xs:enumeration value="SCENARIO"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Basic types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdCountry">
<xs:annotation>
<xs:documentation>ISO 3166 3-letter codes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:length value="3"/>
<xs:enumeration value="ABW"/>
<xs:enumeration value="AFG"/>
<xs:enumeration value="AGO"/>
<xs:enumeration value="AIA"/>
<xs:enumeration value="ALA"/>
<xs:enumeration value="ALB"/>
<xs:enumeration value="AND"/>
<xs:enumeration value="ANT"/>
<xs:enumeration value="ARE"/>
<xs:enumeration value="ARG"/>
<xs:enumeration value="ARM"/>
<xs:enumeration value="ASM"/>
<xs:enumeration value="ATA"/>
<xs:enumeration value="ATF"/>
<xs:enumeration value="ATG"/>
<xs:enumeration value="AUS"/>
<xs:enumeration value="AUT"/>
<xs:enumeration value="AZE"/>
<xs:enumeration value="BDI"/>
<xs:enumeration value="BEL"/>
<xs:enumeration value="BEN"/>
<xs:enumeration value="BFA"/>
<xs:enumeration value="BDG"/>
<xs:enumeration value="BGR"/>
<xs:enumeration value="BHR"/>
<xs:enumeration value="BHS"/>
<xs:enumeration value="BIH"/>
<xs:enumeration value="BLM"/>
<xs:enumeration value="BLR"/>
<xs:enumeration value="BLZ"/>
<xs:enumeration value="BMU"/>
<xs:enumeration value="BOL"/>
<xs:enumeration value="BRA"/>
<xs:enumeration value="BRB"/>
<xs:enumeration value="BRN"/>
<xs:enumeration value="BTN"/>
<xs:enumeration value="BVT"/>
<xs:enumeration value="BWA"/>
<xs:enumeration value="CAF"/>
<xs:enumeration value="CAN"/>
<xs:enumeration value="CCK"/>
<xs:enumeration value="CHE"/>
<xs:enumeration value="CHL"/>
<xs:enumeration value="CHN"/>
<xs:enumeration value="CIV"/>
<xs:enumeration value="CMR"/>
<xs:enumeration value="COD"/>
<xs:enumeration value="COG"/>
<xs:enumeration value="COK"/>
<xs:enumeration value="COL"/>
<xs:enumeration value="COM"/>
<xs:enumeration value="CPV"/>
<xs:enumeration value="CRI"/>
<xs:enumeration value="CUB"/>
<xs:enumeration value="CXR"/>
<xs:enumeration value="CYM"/>
<xs:enumeration value="CYP"/>
<xs:enumeration value="CZE"/>
<xs:enumeration value="DEU"/>
<xs:enumeration value="DJI"/>
<xs:enumeration value="DMA"/>
<xs:enumeration value="DNK"/>
<xs:enumeration value="DOM"/>
<xs:enumeration value="DZA"/>
<xs:enumeration value="ECB"/>
<xs:enumeration value="ECU"/>
<xs:enumeration value="EGY"/>
<xs:enumeration value="ERI"/>
<xs:enumeration value="ESH"/>
<xs:enumeration value="ESP"/>
<xs:enumeration value="EST"/>
<xs:enumeration value="ETH"/>
<xs:enumeration value="FIN"/>
<xs:enumeration value="FJI"/>
<xs:enumeration value="FLK"/>
<xs:enumeration value="FRA"/>
<xs:enumeration value="FRO"/>
<xs:enumeration value="FSM"/>
<xs:enumeration value="GAB"/>
<xs:enumeration value="GBR"/>
<xs:enumeration value="GEO"/>
<xs:enumeration value="GGY"/>
<xs:enumeration value="GHA"/>
<xs:enumeration value="GIB"/>
<xs:enumeration value="GIN"/>
<xs:enumeration value="GLP"/>
<xs:enumeration value="GMB"/>
<xs:enumeration value="GNB"/>
<xs:enumeration value="GNQ"/>
<xs:enumeration value="GRC"/>
<xs:enumeration value="GRD"/>
<xs:enumeration value="GRL"/>
<xs:enumeration value="GTM"/>
<xs:enumeration value="GUF"/>
<xs:enumeration value="GUM"/>
<xs:enumeration value="GUY"/>
<xs:enumeration value="HKG"/>
<xs:enumeration value="HMD"/>
<xs:enumeration value="HND"/>
<xs:enumeration value="HRV"/>
<xs:enumeration value="HTI"/>
<xs:enumeration value="HUN"/>
<xs:enumeration value="IDN"/>
<xs:enumeration value="IMN"/>
<xs:enumeration value="IND"/>
<xs:enumeration value="IOT"/>
<xs:enumeration value="IRL"/>
<xs:enumeration value="IRN"/>
<xs:enumeration value="IRQ"/>
<xs:enumeration value="ISL"/>
<xs:enumeration value="ISR"/>
<xs:enumeration value="ITA"/>
<xs:enumeration value="ITM"/>
<xs:enumeration value="JAM"/>
<xs:enumeration value="JEY"/>
<xs:enumeration value="JOR"/>
<xs:enumeration value="JPN"/>
<xs:enumeration value="KAZ"/>
<xs:enumeration value="KEN"/>
<xs:enumeration value="KGZ"/>
<xs:enumeration value="KHM"/>
<xs:enumeration value="KIR"/>
<xs:enumeration value="KNA"/>
<xs:enumeration value="KOR"/>
<xs:enumeration value="KWT"/>
<xs:enumeration value="LAO"/>
<xs:enumeration value="LBN"/>
<xs:enumeration value="LBR"/>
<xs:enumeration value="LBY"/>
<xs:enumeration value="LCA"/>
<xs:enumeration value="LIE"/>
<xs:enumeration value="LKA"/>
<xs:enumeration value="LSO"/>
<xs:enumeration value="LTU"/>
<xs:enumeration value="LUX"/>
<xs:enumeration value="LVA"/>
<xs:enumeration value="MAC"/>
<xs:enumeration value="MAF"/>
<xs:enumeration value="MAR"/>
<xs:enumeration value="MCO"/>
<xs:enumeration value="MDA"/>
<xs:enumeration value="MDG"/>
<xs:enumeration value="MDV"/>
<xs:enumeration value="MEX"/>
<xs:enumeration value="MHL"/>
<xs:enumeration value="MKD"/>
<xs:enumeration value="MLI"/>
<xs:enumeration value="MLT"/>
<xs:enumeration value="MMR"/>
<xs:enumeration value="MNE"/>
<xs:enumeration value="MNG"/>
<xs:enumeration value="MNP"/>
<xs:enumeration value="MOZ"/>
<xs:enumeration value="MRT"/>
<xs:enumeration value="MSR"/>
<xs:enumeration value="MTQ"/>
<xs:enumeration value="MUS"/>
<xs:enumeration value="MWI"/>
<xs:enumeration value="MYS"/>
<xs:enumeration value="MYT"/>
<xs:enumeration value="NAM"/>
<xs:enumeration value="NCL"/>
<xs:enumeration value="NER"/>
<xs:enumeration value="NFK"/>
<xs:enumeration value="NGA"/>
<xs:enumeration value="NIC"/>
<xs:enumeration value="NIU"/>
<xs:enumeration value="NLD"/>
<xs:enumeration value="NOR"/>
<xs:enumeration value="NPL"/>
<xs:enumeration value="NRU"/>
<xs:enumeration value="NZL"/>
<xs:enumeration value="OMN"/>
<xs:enumeration value="PAK"/>
<xs:enumeration value="PAN"/>
<xs:enumeration value="PCN"/>
<xs:enumeration value="PER"/>
<xs:enumeration value="PHL"/>
<xs:enumeration value="PLW"/>
<xs:enumeration value="PNG"/>
<xs:enumeration value="POL"/>
<xs:enumeration value="PRI"/>
<xs:enumeration value="PRK"/>
<xs:enumeration value="PRT"/>
<xs:enumeration value="PRY"/>
<xs:enumeration value="PSE"/>
<xs:enumeration value="PYF"/>
<xs:enumeration value="QAT"/>
<xs:enumeration value="REU"/>
<xs:enumeration value="ROU"/>
<xs:enumeration value="RUS"/>
<xs:enumeration value="RWA"/>
<xs:enumeration value="SAU"/>
<xs:enumeration value="SDN"/>
<xs:enumeration value="SEN"/>
<xs:enumeration value="SGP"/>
<xs:enumeration value="SGS"/>
<xs:enumeration value="SHN"/>
<xs:enumeration value="SJM"/>
<xs:enumeration value="SLB"/>
<xs:enumeration value="SLE"/>
<xs:enumeration value="SLV"/>
<xs:enumeration value="SMR"/>
<xs:enumeration value="SOM"/>
<xs:enumeration value="SPM"/>
<xs:enumeration value="SRB"/>
<xs:enumeration value="STP"/>
<xs:enumeration value="SUR"/>
<xs:enumeration value="SVK"/>
<xs:enumeration value="SVN"/>
<xs:enumeration value="SWE"/>
<xs:enumeration value="SWZ"/>
<xs:enumeration value="SYC"/>
<xs:enumeration value="SYR"/>
<xs:enumeration value="TCA"/>
<xs:enumeration value="TCD"/>
<xs:enumeration value="TGO"/>
<xs:enumeration value="THA"/>
<xs:enumeration value="TKJ"/>
<xs:enumeration value="TKL"/>
<xs:enumeration value="TKM"/>
<xs:enumeration value="TLS"/>
<xs:enumeration value="TON"/>
<xs:enumeration value="TTO"/>
<xs:enumeration value="TUN"/>
<xs:enumeration value="TUR"/>
<xs:enumeration value="TUV"/>
<xs:enumeration value="TWN"/>
<xs:enumeration value="TZA"/>
<xs:enumeration value="UGA"/>
<xs:enumeration value="UKR"/>
<xs:enumeration value="UMI"/>
<xs:enumeration value="URY"/>
<xs:enumeration value="USA"/>
<xs:enumeration value="UZB"/>
<xs:enumeration value="VAT"/>
<xs:enumeration value="VCT"/>
<xs:enumeration value="VEN"/>
<xs:enumeration value="VGB"/>
<xs:enumeration value="VIR"/>
<xs:enumeration value="VNM"/>
<xs:enumeration value="VUT"/>
<xs:enumeration value="WLF"/>
<xs:enumeration value="WSM"/>
<xs:enumeration value="YEM"/>
<xs:enumeration value="ZAF"/>
<xs:enumeration value="ZMP"/>
<xs:enumeration value="ZWE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCurrency">
<xs:annotation>
<xs:documentation>Three-letter ISO currency codes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AED"/>
<xs:enumeration value="AFN"/>
<xs:enumeration value="ALL"/>
<xs:enumeration value="AMG"/>
<xs:enumeration value="AND"/>
<xs:enumeration value="AOA"/>
<xs:enumeration value="ARS"/>
<xs:enumeration value="ATS"/>
<xs:enumeration value="AUD"/>
<xs:enumeration value="AWG"/>
<xs:enumeration value="AZN"/>
<xs:enumeration value="BAM"/>
<xs:enumeration value="BBD"/>
<xs:enumeration value="BDT"/>
<xs:enumeration value="BEF"/>
<xs:enumeration value="BGL"/>
<xs:enumeration value="BGN"/>
<xs:enumeration value="BHD"/>
<xs:enumeration value="BIF"/>
<xs:enumeration value="BMD"/>
<xs:enumeration value="BND"/>
<xs:enumeration value="BOB"/>
<xs:enumeration value="BRL"/>
<xs:enumeration value="BSD"/>
<xs:enumeration value="BTN"/>
<xs:enumeration value="BWP"/>
<xs:enumeration value="BYR"/>
<xs:enumeration value="BZD"/>
<xs:enumeration value="CAD"/>
<xs:enumeration value="CDF"/>
<xs:enumeration value="CHF"/>
<xs:enumeration value="CLP"/>
<xs:enumeration value="CNY"/>
<xs:enumeration value="COP"/>
<xs:enumeration value="CRC"/>
<xs:enumeration value="CUP"/>
<xs:enumeration value="CVE"/>
<xs:enumeration value="CYP"/>
<xs:enumeration value="CZK"/>
<xs:enumeration value="DEM"/>
<xs:enumeration value="DJF"/>
<xs:enumeration value="DKK"/>
<xs:enumeration value="DOP"/>
<xs:enumeration value="DZD"/>
<xs:enumeration value="EEK"/>
<xs:enumeration value="EGP"/>
<xs:enumeration value="ERN"/>
<xs:enumeration value="ESP"/>
<xs:enumeration value="ETB"/>
<xs:enumeration value="EUR"/>
<xs:enumeration value="FIM"/>
<xs:enumeration value="FJD"/>
<xs:enumeration value="FKP"/>
<xs:enumeration value="FRF"/>
<xs:enumeration value="GBP"/>
<xs:enumeration value="GEL"/>
<xs:enumeration value="GGP"/>
<xs:enumeration value="GHS"/>
<xs:enumeration value="GIP"/>
<xs:enumeration value="GMD"/>
<xs:enumeration value="GNF"/>
<xs:enumeration value="GRD"/>
<xs:enumeration value="GTQ"/>
<xs:enumeration value="GYD"/>
<xs:enumeration value="HKD"/>
<xs:enumeration value="HNL"/>
<xs:enumeration value="HRK"/>
<xs:enumeration value="HTG"/>
<xs:enumeration value="HUF"/>
<xs:enumeration value="IDR"/>
<xs:enumeration value="IEP"/>
<xs:enumeration value="ILS"/>
<xs:enumeration value="IMP"/>
<xs:enumeration value="INR"/>
<xs:enumeration value="IQD"/>
<xs:enumeration value="IRR"/>
<xs:enumeration value="ISK"/>
<xs:enumeration value="ITL"/>
<xs:enumeration value="JEP"/>
<xs:enumeration value="JMD"/>
<xs:enumeration value="JOD"/>
<xs:enumeration value="JPY"/>
<xs:enumeration value="KES"/>
<xs:enumeration value="KGS"/>
<xs:enumeration value="KHR"/>
<xs:enumeration value="KMF"/>
<xs:enumeration value="KPW"/>
<xs:enumeration value="KRW"/>
<xs:enumeration value="KWD"/>
<xs:enumeration value="KYD"/>
<xs:enumeration value="KZT"/>
<xs:enumeration value="LAK"/>
<xs:enumeration value="LBP"/>
<xs:enumeration value="LKR"/>
<xs:enumeration value="LRD"/>
<xs:enumeration value="LSL"/>
<xs:enumeration value="LTL"/>
<xs:enumeration value="LUF"/>
<xs:enumeration value="LVL"/>
<xs:enumeration value="LYD"/>
<xs:enumeration value="MAD"/>
<xs:enumeration value="MDL"/>
<xs:enumeration value="MGA"/>
<xs:enumeration value="MKD"/>
<xs:enumeration value="MMK"/>
<xs:enumeration value="MNT"/>
<xs:enumeration value="MOP"/>
<xs:enumeration value="MRO"/>
<xs:enumeration value="MTL"/>
<xs:enumeration value="MUR"/>
<xs:enumeration value="MVR"/>
<xs:enumeration value="MWK"/>
<xs:enumeration value="MXN"/>
<xs:enumeration value="MYR"/>
<xs:enumeration value="MZN"/>
<xs:enumeration value="NAD"/>
<xs:enumeration value="NIO"/>
<xs:enumeration value="NGN"/>
<xs:enumeration value="NLG"/>
<xs:enumeration value="NOK"/>
<xs:enumeration value="NPR"/>
<xs:enumeration value="NZD"/>
<xs:enumeration value="OMR"/>
<xs:enumeration value="PAB"/>
<xs:enumeration value="PEH"/>
<xs:enumeration value="PEI"/>
<xs:enumeration value="PEN"/>
<xs:enumeration value="PGK"/>
<xs:enumeration value="PHP"/>
<xs:enumeration value="PKR"/>
<xs:enumeration value="PLN"/>
<xs:enumeration value="PTE"/>
<xs:enumeration value="PYG"/>
<xs:enumeration value="QAR"/>
<xs:enumeration value="ROL"/>
<xs:enumeration value="RON"/>
<xs:enumeration value="RSD"/>
<xs:enumeration value="RUB"/>
<xs:enumeration value="RWF"/>
<xs:enumeration value="SAR"/>
<xs:enumeration value="SBD"/>
<xs:enumeration value="SCR"/>
<xs:enumeration value="SDG"/>
<xs:enumeration value="SEK"/>
<xs:enumeration value="SGD"/>
<xs:enumeration value="SHP"/>
<xs:enumeration value="SIT"/>
<xs:enumeration value="SKK"/>
<xs:enumeration value="SLL"/>
<xs:enumeration value="SOS"/>
<xs:enumeration value="SPL"/>
<xs:enumeration value="SRD"/>
<xs:enumeration value="STD"/>
<xs:enumeration value="SVC"/>
<xs:enumeration value="SYP"/>
<xs:enumeration value="SZL"/>
<xs:enumeration value="THB"/>
<xs:enumeration value="TJS"/>
<xs:enumeration value="TMM"/>
<xs:enumeration value="TND"/>
<xs:enumeration value="TOP"/>
<xs:enumeration value="TRL"/>
<xs:enumeration value="TRY"/>
<xs:enumeration value="TTD"/>
<xs:enumeration value="TVD"/>
<xs:enumeration value="TWD"/>
<xs:enumeration value="TZS"/>
<xs:enumeration value="UAH"/>
<xs:enumeration value="UGX"/>
<xs:enumeration value="USD"/>
<xs:enumeration value="UYU"/>
<xs:enumeration value="UZS"/>
<xs:enumeration value="VEB"/>
<xs:enumeration value="VEF"/>
<xs:enumeration value="VND"/>
<xs:enumeration value="VUV"/>
<xs:enumeration value="WST"/>
<xs:enumeration value="XAF"/>
<xs:enumeration value="XAG"/>
<xs:enumeration value="XAU"/>
<xs:enumeration value="XCD"/>
<xs:enumeration value="XDR"/>
<xs:enumeration value="XOF"/>
<xs:enumeration value="XPD"/>
<xs:enumeration value="XPF"/>
<xs:enumeration value="XPT"/>
<xs:enumeration value="YER"/>
<xs:enumeration value="ZAR"/>
<xs:enumeration value="ZMK"/>
<xs:enumeration value="ZWD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExchange">
<xs:annotation>
<xs:documentation>ISO 4-letter codes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="NYSE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMatrixStyle">
<xs:restriction base="xs:string">
<xs:enumeration value="DATA"/>
<xs:enumeration value="ROW"/>
<xs:enumeration value="COLUMN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdVariantType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="DATE"/>
<xs:enumeration value="DATETIME"/>
<xs:enumeration value="DOUBLE"/>
<xs:enumeration value="INTEGER"/>
<xs:enumeration value="SIZE"/>
<xs:enumeration value="TENOR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdVectorType">
<xs:annotation>
<xs:documentation>Indexed by date, time, tenor, etc</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="CHARACTER"/>
<xs:enumeration value="COMPLEX"/>
<xs:enumeration value="DATE"/>
<xs:enumeration value="DOUBLE"/>
<xs:enumeration value="INTEGER"/>
<xs:enumeration value="SIZE"/>
<xs:enumeration value="STRING"/>
<xs:enumeration value="TENOR"/>
<xs:enumeration value="TIME"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Time-related types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdDayOfMonth">
<xs:annotation>
<xs:documentation>From day 1 ro 31</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:int">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="31"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDayOfWeek">
<xs:annotation>
<xs:documentation>Starts with Sunday ...</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="SUNDAY"/>
<xs:enumeration value="MONDAY"/>
<xs:enumeration value="TUESDAY"/>
<xs:enumeration value="WEDNESDAY"/>
<xs:enumeration value="THURSDAY"/>
<xs:enumeration value="FRIDAY"/>
<xs:enumeration value="SATURDAY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdImmMonth">
<xs:annotation>
<xs:documentation>IMM Month Codes</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:length value="1"/>
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="F"/>
<xs:enumeration value="G"/>
<xs:enumeration value="H"/>
<xs:enumeration value="J"/>
<xs:enumeration value="K"/>
<xs:enumeration value="M"/>
<xs:enumeration value="N"/>
<xs:enumeration value="Q"/>
<xs:enumeration value="U"/>
<xs:enumeration value="V"/>
<xs:enumeration value="X"/>
<xs:enumeration value="Z"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMonthOfYear">
<xs:annotation>
<xs:documentation>January,February, ...</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="JANUARY"/>
<xs:enumeration value="FEBRUARY"/>
<xs:enumeration value="MARCH"/>
<xs:enumeration value="APRIL"/>
<xs:enumeration value="MAY"/>
<xs:enumeration value="JUNE"/>
<xs:enumeration value="JULY"/>
<xs:enumeration value="AUGUST"/>
<xs:enumeration value="SEPTEMBER"/>
<xs:enumeration value="OCTOBER"/>
<xs:enumeration value="NOVEMBER"/>
<xs:enumeration value="DECEMBER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRAtomicType">
<xs:restriction base="xs:string">
<xs:enumeration value="BOOLEAN"/>
<xs:enumeration value="CHARACTER"/>
<xs:enumeration value="COMPLEX"/>
<xs:enumeration value="DOUBLE"/>
<xs:enumeration value="INTEGER"/>
<xs:enumeration value="UNKNOWN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="ARRAY"/>
<xs:enumeration value="FACTOR"/>
<xs:enumeration value="LIST"/>
<xs:enumeration value="MATRIX"/>
<xs:enumeration value="SCALAR"/>
<xs:enumeration value="TABLE"/>
<xs:enumeration value="UNKNOWN"/>
<xs:enumeration value="VECTOR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRegion">
<xs:restriction base="xs:string">
<xs:enumeration value="AFRICA"/>
<xs:enumeration value="ASIA"/>
<xs:enumeration value="EUROPE"/>
<xs:enumeration value="NORTH_AMERICA"/>
<xs:enumeration value="OCEANIA"/>
<xs:enumeration value="SOUTH_AMERICA"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRoundType">
<xs:annotation>
<xs:documentation>Up, down, nearest, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AWAY_FROM_ZERO"/>
<xs:enumeration value="DOWN"/>
<xs:enumeration value="NEAREST"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="TOWARDS_ZERO"/>
<xs:enumeration value="UP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSeriesType">
<xs:annotation>
<xs:documentation>Indexed by date, time, tenor, etc</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="DATE"/>
<xs:enumeration value="DOUBLE"/>
<xs:enumeration value="STRING"/>
<xs:enumeration value="TENOR"/>
<xs:enumeration value="TIME"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSeriesCategory">
<xs:annotation>
<xs:documentation>Scalar, vector, matrix, etc</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ARRAY"/>
<xs:enumeration value="MATRIX"/>
<xs:enumeration value="SCALAR"/>
<xs:enumeration value="VECTOR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdTimeUnit">
<xs:annotation>
<xs:documentation>Years,months,days, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="SECONDS"/>
<xs:enumeration value="MINUTES"/>
<xs:enumeration value="HOURS"/>
<xs:enumeration value="DAYS"/>
<xs:enumeration value="BUSINESS_DAYS"/>
<xs:enumeration value="WEEKS"/>
<xs:enumeration value="MONTHS"/>
<xs:enumeration value="YEARS"/>
<xs:enumeration value="UNDEFINED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdWeekOfMonth">
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>One-or-the-other types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdDirection">
<xs:annotation>
<xs:documentation>Forward or backward?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="FORWARD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSortType">
<xs:annotation>
<xs:documentation>Ascending or descending?</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DECREASING"/>
<xs:enumeration value="INCREASING"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRowOrColumn">
<xs:restriction base="xs:string">
<xs:enumeration value="COLUMN"/>
<xs:enumeration value="ROW"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdUnionOrIntersection">
<xs:restriction base="xs:string">
<xs:enumeration value="INTERSECTION"/>
<xs:enumeration value="UNION"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdLowerOrUpper">
<xs:restriction base="xs:string">
<xs:enumeration value="LOWER"/>
<xs:enumeration value="UPPER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDirectOrInverse">
<xs:restriction base="xs:string">
<xs:enumeration value="DIRECT"/>
<xs:enumeration value="INVERSE"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Specialized dates</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdDateType">
<xs:annotation>
<xs:documentation>Special dates </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="CURRENT"/>
<xs:enumeration value="DATED"/>
<xs:enumeration value="ISSUE"/>
<xs:enumeration value="LAST"/>
<xs:enumeration value="MATURITY"/>
<xs:enumeration value="NEXT"/>
<xs:enumeration value="RESET"/>
<xs:enumeration value="SETTLE"/>
<xs:enumeration value="TRADE"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -0,0 +1,633 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="vector.xsd"/>
<xs:annotation>
<xs:documentation>Xsd representation of various types of two-dimensional matrices</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>Abstract base classes </xs:documentation>
</xs:annotation>
<xs:complexType name="XsdMatrix" abstract="true">
<xs:annotation>
<xs:documentation>Base class</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdRectangularMatrix" abstract="true">
<xs:annotation>
<xs:documentation>Base class</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdMatrix">
<xs:attribute name="rows" type="xs:unsignedInt" default="0">
<xs:annotation>
<xs:documentation>Number of rows</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="columns" type="xs:unsignedInt" default="0">
<xs:annotation>
<xs:documentation>Number of columns</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Rectangular matrices</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of unsigned integers. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslBooleanMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array. Array length must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslBooleanVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each row must be of length = # columns and the total number of rows must agree with the 'rows' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslBooleanVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each column must be of length = # rowss and the total number of columns must agree with the 'columns' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCharacterMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of unsigned integers. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslCharacterMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array. Array length must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XsdCharacterVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each row must be of length = # columns and the total number of rows must agree with the 'rows' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XsdCharacterVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each column must be of length = # rowss and the total number of columns must agree with the 'columns' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of doubles. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslDoubleMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array. Array length must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each row must be of length = # columns and the total number of rows must agree with the 'rows' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each column must be of length = # rowss and the total number of columns must agree with the 'columns' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of unsigned integers. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslIntegerMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array. Array length must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslIntegerVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each row must be of length = # columns and the total number of rows must agree with the 'rows' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslIntegerVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each column must be of length = # rowss and the total number of columns must agree with the 'columns' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdIntegerVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of unsigned integers. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslSizeMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array. Array length must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslSizeVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each row must be of length = # columns and the total number of rows must agree with the 'rows' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslSizeVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Each column must be of length = # rowss and the total number of columns must agree with the 'columns' attribute. </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attributeGroup ref="XsdSizeVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSymmetricDoubleMatrix">
<xs:annotation>
<xs:documentation>Only the lower or upper half of the matrix is specified</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslDoubleMatrixData">
<xs:annotation>
<xs:documentation>Matrix stored as 1-D array</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One row at a time </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One column at a time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="size" type="xs:nonNegativeInteger" default="0">
<xs:annotation>
<xs:documentation>Number of rows or columns</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="storage" type="XsdLowerOrUpper" default="LOWER">
<xs:annotation>
<xs:documentation>Lower- or upper-triangular storage? Default: LOWER</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdUpperTriangularDoubleMatrix">
<xs:annotation>
<xs:documentation>Only the upper half of the matrix is specified</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslDoubleMatrixData">
<xs:annotation>
<xs:documentation>Matrix contents stored in 1-D array</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One row at a time </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One column at a time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="size" type="xs:unsignedInt" default="0">
<xs:annotation>
<xs:documentation>Number of rows or columns</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSparseDoubleMatrix">
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:sequence>
<xs:element name="value" type="XslSparseDouble" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdBandDoubleMatrix">
<xs:annotation>
<xs:documentation>General (non-symmetric) double-precision banded matrix</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="band" type="XslDoubleBand" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Individual band. Array length must agree with matrix size less the absolute value of the band offset.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="size" type="xs:unsignedInt" default="0">
<xs:annotation>
<xs:documentation>Number of rows or columns</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:complexType>
<xs:complexType name="XsdLowerTriangularDoubleMatrix">
<xs:annotation>
<xs:documentation>Only the lower half of the matrix is specified</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslDoubleMatrixData">
<xs:annotation>
<xs:documentation>Matrix contents stored in 1-D array</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One row at a time </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslDoubleVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One column at a time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
<xs:attribute name="size" type="xs:nonNegativeInteger" use="optional" default="0">
<xs:annotation>
<xs:documentation>Number of rows or columns</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexMatrix">
<xs:annotation>
<xs:documentation>General rectangular matrix of complex numbers. The matrix contents are specified by row, by column, or as a linear array.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdRectangularMatrix">
<xs:choice minOccurs="0">
<xs:element name="data" type="XslComplexMatrixData">
<xs:annotation>
<xs:documentation>Data stored as pair of 1-D arrays. Matrix stored as 1-D array. Array lengths must agree with #rows x #columns</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XslComplexVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One row at a time </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XslComplexVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One column at a time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdHermitianMatrix">
<xs:complexContent>
<xs:extension base="XsdMatrix">
<xs:sequence minOccurs="0">
<xs:element name="data" type="XslComplexMatrixData">
<xs:annotation>
<xs:documentation>Matrix contents stored in 1-D array</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="row" type="XsdComplexVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One row at a time </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="column" type="XsdComplexVector" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>One column at a time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="size" type="xs:unsignedInt" default="0">
<xs:annotation>
<xs:documentation>Number of rowsor columns</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="storage" type="XsdLowerOrUpper" default="LOWER">
<xs:annotation>
<xs:documentation>Lower- or upper-triangular storage? Default: LOWER</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Results</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBandDoubleMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdBandDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdBandDoubleMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdBooleanMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdBooleanMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCharacterMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdCharacterMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdComplexMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdDoubleMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdIntegerMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdMatrixResidualResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="factor" type="XsdDoubleMatrix" minOccurs="0">
<xs:annotation>
<xs:documentation>The matrix factor</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="residual" type="XsdDoubleMatrix">
<xs:annotation>
<xs:documentation>Residual matrix</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="l1Norm" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>L1 norm of residual</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="l2Norm" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>L2 norm of residual</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="maxNorm" type="xs:double" minOccurs="0">
<xs:annotation>
<xs:documentation>Max. norm of residual</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdSizeMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdSizeMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSymmetricDoubleMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdSymmetricDoubleMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdLowerTriangularDoubleMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdLowerTriangularDoubleMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdUpperTriangularDoubleMatrixResult">
<xs:annotation>
<xs:documentation>Returns XsdDoubleMatrix output</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdUpperTriangularDoubleMatrix"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Helper classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XslDoubleBand">
<xs:annotation>
<xs:documentation>Individual band. Array length must agree with matrix size less the absolute value of the band offset.</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="XslDoubleVector">
<xs:attribute name="offset" type="xs:int" use="required">
<xs:annotation>
<xs:documentation>Offset from main diagonal. The offsets must be distinct and their absolute value must not exceed the matrix size.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslSparseDouble">
<xs:annotation>
<xs:documentation>Double with row and column attributes. Used to specify non-zero elements of sparse matrices</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="row" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>Element row. Must be less than total # matrix rows</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="column" type="xs:unsignedInt" use="required">
<xs:annotation>
<xs:documentation>Element column. Must be less than total # matrix columns</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslBooleanMatrixData">
<xs:simpleContent>
<xs:extension base="XslBooleanVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslDoubleMatrixData">
<xs:simpleContent>
<xs:extension base="XslDoubleVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslCharacterMatrixData">
<xs:simpleContent>
<xs:extension base="XsdCharacterVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslComplexMatrixData">
<xs:complexContent>
<xs:extension base="XsdComplexVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XslIntegerMatrixData">
<xs:simpleContent>
<xs:extension base="XslIntegerVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XslSizeMatrixData">
<xs:simpleContent>
<xs:extension base="XslSizeVector">
<xs:attribute name="order" type="XsdRowOrColumn" default="ROW">
<xs:annotation>
<xs:documentation>Row- or column-major storage? Default: ROW major storage</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Lists of matrices</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdDoubleMatrixList">
<xs:sequence>
<xs:element name="matrix" type="XsdDoubleMatrix" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@@ -0,0 +1,307 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (x64) (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="types.xsd"/>
<xs:include schemaLocation="value.xsd"/>
<xs:annotation>
<xs:documentation>Abstract base class</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdResult">
<xs:annotation>
<xs:documentation>Base class for output of calculation schemas</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Optional comments</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="calculationID" type="xs:IDREF" use="required">
<xs:annotation>
<xs:documentation>Reference to calculation scherma</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="elapsedTime" type="xs:duration">
<xs:annotation>
<xs:documentation>CPU time (refine this later)</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:annotation>
<xs:documentation>Derived classes</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanResult">
<xs:annotation>
<xs:documentation>Returns true or false</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:boolean"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCharacterResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdCharacter"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XslComplex"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCorrelationResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XslCorrelation"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateResult">
<xs:annotation>
<xs:documentation>Returns date</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:date"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateTimeResult">
<xs:annotation>
<xs:documentation>Returns dateTime</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:dateTime"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:double"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdErrorResult">
<xs:annotation>
<xs:documentation>Returns exception schema</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="error" type="XsdException"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerResult">
<xs:annotation>
<xs:documentation>Returns integer</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:integer"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdNonNegativeDoubleResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNonNegativeDouble"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdPositiveDoubleResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdPositiveDouble"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdPositiveIntegerResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:positiveInteger"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdProbabilityResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XslProbability"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeResult">
<xs:annotation>
<xs:documentation>Returns integer</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdStringResult">
<xs:annotation>
<xs:documentation>Returns string</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTenorResult">
<xs:annotation>
<xs:documentation>Returns XML duration</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:duration"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Sequences</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanListResult">
<xs:annotation>
<xs:documentation>Returns true or false</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:boolean" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateListResult">
<xs:annotation>
<xs:documentation>Returns date</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:date" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateTimeListResult">
<xs:annotation>
<xs:documentation>Returns dateTime</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:dateTime" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleListResult">
<xs:annotation>
<xs:documentation>Returns double</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:double" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerListResult">
<xs:annotation>
<xs:documentation>Returns integer</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:integer" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdStringListResult">
<xs:annotation>
<xs:documentation>Returns string</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTenorListResult">
<xs:annotation>
<xs:documentation>Returns XML duration</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="xs:duration" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>

View File

@@ -0,0 +1,294 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>Configuration</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="enums.xsd"/>
<xs:annotation>
<xs:documentation>All input schemas are derived from either data or calculation base schemas</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBaseSchema" abstract="true">
<xs:annotation>
<xs:documentation>Abstract base class for all input schemas</xs:documentation>
</xs:annotation>
<xs:sequence minOccurs="0">
<xs:element name="dependsOn" type="xs:IDREFS" minOccurs="0">
<xs:annotation>
<xs:documentation>Schemas upon which this schema depends</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="library" type="XsdLibrary" default="DEFAULT" minOccurs="0">
<xs:annotation>
<xs:documentation>Calculation library (if relevant) DEFAULT means we pick the one we think is best. Otherwise, we use the selected software library and throw an exception if the calculation is not available from that library.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="uniqueID" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>Unique identifier</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="referenceID" type="xs:IDREF" use="optional">
<xs:annotation>
<xs:documentation>Foreign key</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="XsdDataSchema" abstract="true">
<xs:annotation>
<xs:documentation>Base class for all schemas that generate a calculation object in the global cache. Same data schemas also generate output results.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdBaseSchema"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdNamedSchema" abstract="true">
<xs:annotation>
<xs:documentation>For calculators derived from market data of different dates ...</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Unique name</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="time" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Default: TODAY</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCalculationSchema" abstract="true">
<xs:complexContent>
<xs:extension base="XsdBaseSchema">
<xs:sequence>
<xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Optional comments (these are echoed in the corresponding result)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdParameters">
<xs:annotation>
<xs:appinfo>REFERENCE</xs:appinfo>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdDataSchema"/>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>More types</xs:documentation>
</xs:annotation>
<xs:simpleType name="XsdCharacter">
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="XslComplex">
<xs:annotation>
<xs:documentation>Complex number</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="real" type="xs:double" default="0.0" minOccurs="0">
<xs:annotation>
<xs:documentation>Real part</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="imaginary" type="xs:double" default="0.0" minOccurs="0">
<xs:annotation>
<xs:documentation>Imanginary part</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdException">
<xs:annotation>
<xs:documentation>All exceptions are returned as results to the output document. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="file" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>File in which error occurred</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="line" type="xs:unsignedInt" minOccurs="0">
<xs:annotation>
<xs:documentation>Line in source code where error occurred</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="method" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Method where exception thrown (or rethrown)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="condition" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>The assertion that has been violated </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="message" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Error message</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="source" type="XsdLibrary" default="DEFAULT" minOccurs="0">
<xs:annotation>
<xs:documentation>Was exception thrown in external library?</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdPlaceHolder">
<xs:annotation>
<xs:documentation>Empty complex type</xs:documentation>
</xs:annotation>
</xs:complexType>
<xs:complexType name="XsdQuantile">
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="percentile" use="required">
<xs:annotation>
<xs:documentation>Between 0.0 and 1.0</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:double">
<xs:maxInclusive value="1.0"/>
<xs:minInclusive value="0.0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdTimeVariant">
<xs:annotation>
<xs:documentation>Date, time, or tenolr </xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="date" type="xs:date">
<xs:annotation>
<xs:documentation>Date </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="time" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Date + time-of-day + time zone </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="xs:duration">
<xs:annotation>
<xs:documentation>Offset to reference time </xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:simpleType name="XsdDateOrType">
<xs:union memberTypes="xs:date XsdDateType"/>
</xs:simpleType>
<xs:complexType name="XsdNamedValue">
<xs:annotation>
<xs:documentation>Double with name attribute</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNameValuePair">
<xs:annotation>
<xs:documentation>Use to modify parameters ofr existing types</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="xs:anyType">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdVariant">
<xs:annotation>
<xs:documentation>Various built-in types</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="boolean" type="xs:boolean">
<xs:annotation>
<xs:documentation>True or false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="date" type="xs:date">
<xs:annotation>
<xs:documentation>Just what it says ....</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dateTime" type="xs:dateTime">
<xs:annotation>
<xs:documentation>Date + time of day</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="double" type="xs:double">
<xs:annotation>
<xs:documentation>Just what it says ...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="integer" type="xs:int">
<xs:annotation>
<xs:documentation>Just what it says ...</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="size" type="xs:unsignedInt">
<xs:annotation>
<xs:documentation>Unsigned integer</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="xs:duration">
<xs:annotation>
<xs:documentation>Tenor (duration)</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>Indexed types</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdIndexedDouble">
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attribute name="index" type="xs:nonNegativeInteger" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Configuration</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdCacheConfig">
<xs:sequence>
<xs:element name="resolveDependenciesAtInsertion" type="xs:boolean" default="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: true</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="allowUniqueIDOverwrite" type="xs:boolean" default="false" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: false</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="clearCacheAfterProcessing" type="xs:boolean" default="true" minOccurs="0">
<xs:annotation>
<xs:documentation>Default: true</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="xsdCacheConfig" type="XsdCacheConfig">
<xs:annotation>
<xs:documentation>Cache behavior</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>

View File

@@ -0,0 +1,350 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="types.xsd"/>
<xs:annotation>
<xs:documentation>Attributes allow inputs to read results of previous computations in the input document</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBoolean" mixed="true">
<xs:annotation>
<xs:documentation>By value or function evaliation</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:boolean">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdComplexValue">
<xs:annotation>
<xs:documentation>Complex number</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XslComplex">
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCorrelation" mixed="true">
<xs:simpleContent>
<xs:extension base="XslCorrelation">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdCorrelationVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdDate" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:date">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdDateVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdDateTime" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:dateTime">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdDateTimeVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdDouble" mixed="true">
<xs:annotation>
<xs:documentation>Double-precision number ( by value or reference ) </xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:double">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdTenor" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:duration">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdTenorVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdInteger" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdIntegerVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNonNegativeDouble" mixed="true">
<xs:annotation>
<xs:documentation>Non-negative double-precision number ( by value or reference ) </xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="XslNonNegativeDouble">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdNonNegativeDoubleVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdPositiveInteger" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:positiveInteger">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdIntegerVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdPositiveDouble" mixed="true">
<xs:simpleContent>
<xs:extension base="XslPositiveDouble">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdPositiveDoubleVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdProbability" mixed="true">
<xs:simpleContent>
<xs:extension base="XslProbability">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdString" mixed="true">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSize">
<xs:simpleContent>
<xs:extension base="xs:unsignedInt">
<xs:attributeGroup ref="XsdValueAttributes"/>
<xs:attributeGroup ref="XsdSizeVariableGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Need simple schemas to restrict underlying ranges</xs:documentation>
</xs:annotation>
<xs:simpleType name="XslCorrelation">
<xs:annotation>
<xs:documentation>Bounded by -1.0 and 1.0 </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:double">
<xs:minInclusive value="-1.0"/>
<xs:maxInclusive value="1.0"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XslNonNegativeDouble">
<xs:restriction base="xs:double">
<xs:minInclusive value="0.0"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XslPositiveDouble">
<xs:restriction base="xs:double">
<xs:minExclusive value="0.0"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XslProbability">
<xs:restriction base="xs:double">
<xs:minInclusive value="0.0"/>
<xs:maxInclusive value="1.0"/>
</xs:restriction>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Attribute groups</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="XsdValueAttributes">
<xs:attribute name="schemaID" type="xs:IDREF" use="optional">
<xs:annotation>
<xs:documentation>Referece to result of calculation schema</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="xpath" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Search inside the result schema</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="result" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>Search result, not enclosing schema</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdVariableGroup">
<xs:attribute name="variable" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>Is this part of the calibration? Default: false </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdCorrelationVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="XslCorrelation" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="XslCorrelation" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdDateVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:date" use="optional">
<xs:annotation>
<xs:documentation>Smallest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:date" use="optional">
<xs:annotation>
<xs:documentation>Largest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdDateTimeVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:dateTime" use="optional">
<xs:annotation>
<xs:documentation>Smallest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:dateTime" use="optional">
<xs:annotation>
<xs:documentation>Largest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdDoubleVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:double" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:double" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdEnumVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="include" use="optional">
<xs:annotation>
<xs:documentation>Search only these types</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:list itemType="xs:string"/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="exclude" use="optional">
<xs:annotation>
<xs:documentation>Avoid these types </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:list itemType="xs:string"/>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdIntegerVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:int" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:int" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdNonNegativeDoubleVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="XslNonNegativeDouble" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="XslNonNegativeDouble" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdPositiveDoubleVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="XslPositiveDouble" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="XslPositiveDouble" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdPositiveIntegerVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:positiveInteger" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:positiveInteger" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdProbabilityVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="XslProbability" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="XslProbability" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdSizeVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:unsignedInt" use="optional">
<xs:annotation>
<xs:documentation>Minimum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:unsignedInt" use="optional">
<xs:annotation>
<xs:documentation>Maximum value (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:attributeGroup name="XsdTenorVariableGroup">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attribute name="min" type="xs:duration" use="optional">
<xs:annotation>
<xs:documentation>Smallest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="max" type="xs:duration" use="optional">
<xs:annotation>
<xs:documentation>Largest possible date (no default) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
</xs:schema>

View File

@@ -0,0 +1,980 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:altova="http://www.altova.com/xml-schema-extensions" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="result.xsd"/>
<xs:include schemaLocation="value.xsd"/>
<xs:annotation>
<xs:documentation>XSD version of a 1-D array of built-in types</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanVector">
<xs:simpleContent>
<xs:extension base="XslBooleanVector">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdCharacterVector">
<xs:simpleContent>
<xs:extension base="XslCharacterVector">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdComplexVector">
<xs:annotation>
<xs:documentation>List of complex numbers</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XslComplexVector">
<xs:attributeGroup ref="XsdVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCorrelationVector">
<xs:simpleContent>
<xs:extension base="XslCorrelationVector">
<xs:attributeGroup ref="XsdCorrelationVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdDateVector">
<xs:simpleContent>
<xs:extension base="XslDateVector">
<xs:attributeGroup ref="XsdDateVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdDoubleVector">
<xs:simpleContent>
<xs:extension base="XslDoubleVector">
<xs:attributeGroup ref="XsdDoubleVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdIntegerVector">
<xs:simpleContent>
<xs:extension base="XslIntegerVector">
<xs:attributeGroup ref="XsdIntegerVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNonNegativeDoubleVector">
<xs:simpleContent>
<xs:extension base="XslNonNegativeDoubleVector">
<xs:attributeGroup ref="XsdNonNegativeDoubleVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdPositiveDoubleVector">
<xs:simpleContent>
<xs:extension base="XslPositiveDoubleVector">
<xs:attributeGroup ref="XsdPositiveDoubleVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdPositiveIntegerVector">
<xs:simpleContent>
<xs:extension base="XslPositiveIntegerVector">
<xs:attributeGroup ref="XsdPositiveIntegerVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdProbabilityVector">
<xs:simpleContent>
<xs:extension base="XslProbabilityVector">
<xs:attributeGroup ref="XsdProbabilityVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSizeVector">
<xs:simpleContent>
<xs:extension base="XslSizeVector">
<xs:attributeGroup ref="XsdSizeVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdStringVector">
<xs:simpleContent>
<xs:extension base="XslStringVector">
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdTenorVector">
<xs:simpleContent>
<xs:extension base="XslTenorVector">
<xs:attributeGroup ref="XsdTenorVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdTimeVector">
<xs:simpleContent>
<xs:extension base="XslTimeVector">
<xs:attributeGroup ref="XsdDateTimeVariableGroup"/>
<xs:attributeGroup ref="XsdValueAttributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Any-of-the-above (can;t use polymorphism since these are mostly simple types)</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdVectorChoice">
<xs:annotation>
<xs:documentation>Choice of vector types</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="boolean" type="XslBooleanVector">
<xs:annotation>
<xs:documentation>Boolean vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="character" type="XsdCharacterVector">
<xs:annotation>
<xs:documentation>Character vector (string)</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="complex" type="XsdComplexVector">
<xs:annotation>
<xs:documentation>Complex vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="date" type="XslDateVector">
<xs:annotation>
<xs:documentation>Date vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="double" type="XslDoubleVector">
<xs:annotation>
<xs:documentation>Double vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="integer" type="XslIntegerVector">
<xs:annotation>
<xs:documentation>Integer vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="size" type="XslSizeVector">
<xs:annotation>
<xs:documentation>Unsigned integer vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="string" type="XsdStringVector">
<xs:annotation>
<xs:documentation>String vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="XslTenorVector">
<xs:annotation>
<xs:documentation>Duration vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="time" type="XslTimeVector">
<xs:annotation>
<xs:documentation>Date/time vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:annotation>
<xs:documentation>Named vectors</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdNamedBooleanVector">
<xs:simpleContent>
<xs:extension base="XslBooleanVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedComplexVector">
<xs:complexContent>
<xs:extension base="XsdComplexVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdNamedDateVector">
<xs:simpleContent>
<xs:extension base="XslDateVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedDoubleVector">
<xs:simpleContent>
<xs:extension base="XslDoubleVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedIntegerVector">
<xs:simpleContent>
<xs:extension base="XslIntegerVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedSizeVector">
<xs:simpleContent>
<xs:extension base="XslSizeVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedStringVector">
<xs:complexContent>
<xs:extension base="XsdStringVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdNamedTenorVector">
<xs:simpleContent>
<xs:extension base="XslTenorVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdNamedTimeVector">
<xs:simpleContent>
<xs:extension base="XslTimeVector">
<xs:attribute name="name" type="xs:string" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Sparse vectors</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdSparseVector" abstract="true">
<xs:annotation>
<xs:documentation>Abstract base class </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="index" type="XslSizeVector"/>
</xs:sequence>
<xs:attribute name="size" type="xs:nonNegativeInteger" use="required"/>
</xs:complexType>
<xs:complexType name="XsdSparseDoubleVector" abstract="false">
<xs:complexContent>
<xs:extension base="XsdSparseVector">
<xs:sequence>
<xs:element name="value" type="XslDoubleVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Smart vectors</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdSmartDateVector">
<xs:simpleContent>
<xs:extension base="XslDateVector">
<xs:attributeGroup ref="XsdSmartVectorGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSmartDoubleVector">
<xs:simpleContent>
<xs:extension base="XslDoubleVector">
<xs:attributeGroup ref="XsdSmartVectorGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSmartIntegerVector">
<xs:simpleContent>
<xs:extension base="XslIntegerVector">
<xs:attributeGroup ref="XsdSmartVectorGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSmartTenorVector">
<xs:simpleContent>
<xs:extension base="XslTenorVector">
<xs:attributeGroup ref="XsdSmartVectorGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSmartTimeVector">
<xs:simpleContent>
<xs:extension base="XslTimeVector">
<xs:attributeGroup ref="XsdSmartVectorGroup"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Results</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdVectorResult" abstract="true">
<xs:annotation>
<xs:documentation>Abstract base class</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdResult"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdBooleanVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslBooleanVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCharacterVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XsdCharacterVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XsdComplexVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdCorrelationVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslCorrelationVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of dates</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslDateVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleVectorResult">
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslDoubleVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslIntegerVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdNonNegativeDoubleVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslNonNegativeDoubleVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdPositiveDoubleVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslPositiveDoubleVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdPositiveIntegerVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslPositiveIntegerVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdProbabilityVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of booleans</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslProbabilityVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeVectorResult">
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslSizeVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdStringVectorResult">
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XsdSizeVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdQuantileVector">
<xs:simpleContent>
<xs:extension base="XsdDoubleVector">
<xs:attribute name="percentile" type="XslProbability" use="required">
<xs:annotation>
<xs:documentation>Between 0.0 and 1.0</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdTenorVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of xs:dateTimes</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslTenorVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTimeVectorResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of xs:dateTimes</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:sequence>
<xs:element name="value" type="XslTimeVector"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdVectorChoiceResult" abstract="false">
<xs:annotation>
<xs:documentation>Returns list of xs:dateTimes</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="XsdVectorResult">
<xs:choice>
<xs:element name="boolean" type="XsdBooleanVector">
<xs:annotation>
<xs:documentation>Boolean vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="character" type="XsdCharacterVector">
<xs:annotation>
<xs:documentation>Character vector </xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="complex" type="XsdComplexVector">
<xs:annotation>
<xs:documentation>Complex vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="date" type="XsdDateVector">
<xs:annotation>
<xs:documentation>Date vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="double" type="XsdDoubleVector">
<xs:annotation>
<xs:documentation>Double vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="integer" type="XsdIntegerVector">
<xs:annotation>
<xs:documentation>Integer vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="size" type="XsdSizeVector">
<xs:annotation>
<xs:documentation>Unsigned integer vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="string" type="XsdStringVector">
<xs:annotation>
<xs:documentation>String vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tenor" type="XsdTenorVector">
<xs:annotation>
<xs:documentation>Duration vector</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="time" type="XsdTimeVector">
<xs:annotation>
<xs:documentation>Date/time vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Vector map results</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedBooleanVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedComplexVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedDateVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedDoubleVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedIntegerVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedSizeVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdStringVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedStringVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTenorVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedTenorVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTimeVectorMapResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="value" type="XsdNamedTimeVector" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Vector lists</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdBooleanVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdComplexVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdDateVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdDoubleVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdIntegerVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdSizeVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTenorVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdTenorVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTimeVectorList">
<xs:complexContent>
<xs:extension base="XsdDataSchema">
<xs:sequence>
<xs:element name="row" type="XsdTimeVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Vector list results</xs:documentation>
</xs:annotation>
<xs:complexType name="XsdBooleanVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdBooleanVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdComplexVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdComplexVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDateVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdDateVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdDoubleVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdDoubleVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdIntegerVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdIntegerVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdSizeVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdSizeVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTenorVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdTenorVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XsdTimeVectorListResult">
<xs:complexContent>
<xs:extension base="XsdResult">
<xs:sequence>
<xs:element name="row" type="XsdTimeVector" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>Row vector</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:annotation>
<xs:documentation>Helper schemas </xs:documentation>
</xs:annotation>
<xs:simpleType name="XslBooleanVector">
<xs:list itemType="xs:boolean"/>
</xs:simpleType>
<xs:simpleType name="XslCharacterVector">
<xs:list itemType="XsdCharacter"/>
</xs:simpleType>
<xs:complexType name="XslComplexVector">
<xs:annotation>
<xs:documentation>List of complex numbers</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="real" type="XslDoubleVector">
<xs:annotation>
<xs:documentation>List of real parts</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="imag" type="XslDoubleVector">
<xs:annotation>
<xs:documentation>List of imaginary parts</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="XslCorrelationVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="XslCorrelation"/>
</xs:simpleType>
<xs:simpleType name="XslDateVector">
<xs:annotation>
<xs:documentation>List of dates (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:date"/>
</xs:simpleType>
<xs:simpleType name="XslDoubleVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:double"/>
</xs:simpleType>
<xs:simpleType name="XslIntegerVector">
<xs:list itemType="xs:int"/>
</xs:simpleType>
<xs:simpleType name="XslNonNegativeDoubleVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="XslNonNegativeDouble"/>
</xs:simpleType>
<xs:simpleType name="XslPositiveDoubleVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="XslPositiveDouble"/>
</xs:simpleType>
<xs:simpleType name="XslPositiveIntegerVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:positiveInteger"/>
</xs:simpleType>
<xs:simpleType name="XslProbabilityVector">
<xs:annotation>
<xs:documentation>List of doubles (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="XslProbability"/>
</xs:simpleType>
<xs:simpleType name="XslSizeVector">
<xs:annotation>
<xs:documentation>List of unsigned integers</xs:documentation>
</xs:annotation>
<xs:list itemType="xs:unsignedInt"/>
</xs:simpleType>
<xs:simpleType name="XslStringVector">
<xs:annotation>
<xs:documentation>List of strings (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:string"/>
</xs:simpleType>
<xs:simpleType name="XslTenorVector">
<xs:list itemType="xs:duration"/>
</xs:simpleType>
<xs:simpleType name="XslTimeVector">
<xs:annotation>
<xs:documentation>List of xs:dateTime values (unordered) </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:dateTime"/>
</xs:simpleType>
<xs:annotation>
<xs:documentation>Attributes</xs:documentation>
</xs:annotation>
<xs:attributeGroup name="XsdSmartVectorGroup">
<xs:attribute name="start" type="xs:unsignedInt" use="optional" default="0">
<xs:annotation>
<xs:documentation>Starting index ( Default : 0 ) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="stride" type="xs:positiveInteger" use="optional" default="1">
<xs:annotation>
<xs:documentation>Stride (Default: 1) </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="repeat" type="xs:unsignedInt" use="optional" default="0">
<xs:annotation>
<xs:documentation>Starting index ( Default : 0 ) </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
</xs:schema>

View File

@@ -0,0 +1,369 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="../xsd-core/types.xsd"/>
<xs:simpleType name="XsdAggregateType">
<xs:annotation>
<xs:documentation>Maximum, minimum, average, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="AVERAGE"/>
<xs:enumeration value="DECILE"/>
<xs:enumeration value="MAXIMUM"/>
<xs:enumeration value="MINIMUM"/>
<xs:enumeration value="TOTAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdAverageType">
<xs:annotation>
<xs:documentation>Arithmetic, geometric, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="ARITHMETIC"/>
<xs:enumeration value="GEOMETRIC"/>
<xs:enumeration value="HARMONIC"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdBinomialType">
<xs:annotation>
<xs:documentation>Binomial solution methods</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="ADDITIVE_EQP"/>
<xs:enumeration value="COX_ROSS_RUBINSTEIN"/>
<xs:enumeration value="JARROW_RUDD"/>
<xs:enumeration value="JOSHI4"/>
<xs:enumeration value="LEISEN_REIMER"/>
<xs:enumeration value="TIAN"/>
<xs:enumeration value="TRIGEORGIS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdConjugateGradientType">
<xs:annotation>
<xs:documentation>Conjugate gradient solvers </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="FLETCHER_REEVES"/>
<xs:enumeration value="POLAK_RIBIERE"/>
<xs:enumeration value="BROYDEN_FLETCHER_GOLDFARB_SHANNO"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCopulaType">
<xs:restriction base="xs:string">
<xs:enumeration value="ARCHIMEDEAN"/>
<xs:enumeration value="DEPENDENT"/>
<xs:enumeration value="ELLIPTIC"/>
<xs:enumeration value="INDEPENDENT"/>
<xs:enumeration value="EXPONENTIAL"/>
<xs:enumeration value="MIXTURE"/>
<xs:enumeration value="RISK"/>
<xs:enumeration value="VINE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdCorrelationType">
<xs:restriction base="xs:string">
<xs:enumeration value="KENDALL"/>
<xs:enumeration value="PEARSON"/>
<xs:enumeration value="SPEARMAN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDifferenceType">
<xs:annotation>
<xs:documentation>Finite-difference types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="CENTRAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdDistributionType">
<xs:annotation>
<xs:documentation>One- and multi-dimensional distributions</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ASYMPTOTIC"/>
<xs:enumeration value="BERNOULLI"/>
<xs:enumeration value="BETA"/>
<xs:enumeration value="BINOMIAL"/>
<xs:enumeration value="CAUCHY"/>
<xs:enumeration value="CHI_SQUARE"/>
<xs:enumeration value="COMPOUND_POISSON"/>
<xs:enumeration value="CONDITIONAL"/>
<xs:enumeration value="CONVOLUTION"/>
<xs:enumeration value="COPULA"/>
<xs:enumeration value="COPULA_DISTRIBUTION"/>
<xs:enumeration value="DISCRETE"/>
<xs:enumeration value="EMPIRICAL"/>
<xs:enumeration value="EXPONENTIAL"/>
<xs:enumeration value="EXP_POWER"/>
<xs:enumeration value="EXTREME_VALUE"/>
<xs:enumeration value="FISHER_F"/>
<xs:enumeration value="GAMMA"/>
<xs:enumeration value="GENERALIZED_INVERSE_GAUSSIAN"/>
<xs:enumeration value="GENERIC"/>
<xs:enumeration value="GUMBEL"/>
<xs:enumeration value="INVERSE_CHI_SQUARE"/>
<xs:enumeration value="INVERSE_GAMMA"/>
<xs:enumeration value="INVERSE_GAUSSIAN"/>
<xs:enumeration value="LAPLACE"/>
<xs:enumeration value="LEVY_STABLE"/>
<xs:enumeration value="LHPA_GAUSSIAN"/>
<xs:enumeration value="LOGARITHMIC"/>
<xs:enumeration value="LOGISTIC"/>
<xs:enumeration value="LOGNORMAL"/>
<xs:enumeration value="MIXTURE"/>
<xs:enumeration value="NORMAL"/>
<xs:enumeration value="NORMAL_GAMMA"/>
<xs:enumeration value="NORMAL_INVERSE_GAUSSIAN"/>
<xs:enumeration value="PARETO"/>
<xs:enumeration value="POISSON"/>
<xs:enumeration value="RAYLEIGH"/>
<xs:enumeration value="SIMPLE"/>
<xs:enumeration value="SPECIAL"/>
<xs:enumeration value="STUDENT_T"/>
<xs:enumeration value="TRIANGULAR"/>
<xs:enumeration value="TRUNCATED"/>
<xs:enumeration value="UNIFORM"/>
<xs:enumeration value="VARIANCE_GAMMA"/>
<xs:enumeration value="WEIBULL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdEndpointType">
<xs:annotation>
<xs:documentation>Which endpoints (if any) to be included</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BOTH"/>
<xs:enumeration value="LEFT"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="RIGHT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdEvolveType">
<xs:annotation>
<xs:documentation>How to evaluate coefficients in MC time-step evolution</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="EULER"/>
<xs:enumeration value="EULER_END"/>
<xs:enumeration value="EXACT"/>
<xs:enumeration value="MILSTEIN"/>
<xs:enumeration value="PREDICTOR_CORRECTOR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdExtrapolate">
<xs:annotation>
<xs:documentation>Extrapolate outside original range</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
<xs:enumeration value="CONSTANT"/>
<xs:enumeration value="LINEAR"/>
<xs:enumeration value="NONE"/>
<xs:enumeration value="ZERO"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdGammaRngType">
<xs:annotation>
<xs:documentation>RNGs for gamma distribution</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="KNUTH"/>
<xs:enumeration value="MARSAGLIA_TSANG"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdInterpolateType">
<xs:annotation>
<xs:documentation>Corresponding to 'details' above</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ABCD"/>
<xs:enumeration value="BACKWARD_FLAT"/>
<xs:enumeration value="BASIS_SPLINE"/>
<xs:enumeration value="CONVEX_MONOTONE"/>
<xs:enumeration value="CUBIC_SPLINE"/>
<xs:enumeration value="FORWARD_FLAT"/>
<xs:enumeration value="LINEAR"/>
<xs:enumeration value="LOGLINEAR"/>
<xs:enumeration value="SABR"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdLinearSolverType">
<xs:annotation>
<xs:documentation>LU decomp, Cholesky, etc.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="BACKWARD"/>
<xs:enumeration value="CHOLESKY"/>
<xs:enumeration value="CONJUGATE_GRADIENT"/>
<xs:enumeration value="FORWARD"/>
<xs:enumeration value="GENERALIZED_MINIMUM_RESIDUAL"/>
<xs:enumeration value="LEAST_SQUARES"/>
<xs:enumeration value="LU_DECOMP"/>
<xs:enumeration value="QR_DECOMP"/>
<xs:enumeration value="PSEUDO_SQRT"/>
<xs:enumeration value="STABLE_BICONGUGATE_GRADIENT"/>
<xs:enumeration value="SV_DECOMP"/>
<xs:enumeration value="VANDERMONDE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMinLinearBasis">
<xs:annotation>
<xs:documentation>Initial LP basis</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ADVANCED"/>
<xs:enumeration value="BIXBY"/>
<xs:enumeration value="STANDARD"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMinLinearMethod">
<xs:annotation>
<xs:documentation>Linear programming methods</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="INTERIOR"/>
<xs:enumeration value="SIMPLEX"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMinLinearScale">
<xs:annotation>
<xs:documentation>scaling for linear programming</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="AUTOMATIC"/>
<xs:enumeration value="EQUILIBRATION"/>
<xs:enumeration value="GEOMETRIC_MEAN"/>
<xs:enumeration value="NONE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdMomentType">
<xs:annotation>
<xs:documentation>First 4 moments</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="MEAN"/>
<xs:enumeration value="VARIANCE"/>
<xs:enumeration value="SKEWNESS"/>
<xs:enumeration value="KURTOSIS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdNormalRngType">
<xs:annotation>
<xs:documentation>RNGs for normal distribution</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BOX_MULLER"/>
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="RATIO"/>
<xs:enumeration value="ZIGGURAT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPathScheme">
<xs:annotation>
<xs:documentation>Time-step schemes for path generation</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="EULER"/>
<xs:enumeration value="MILSTEIN"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdPseudoRandomType">
<xs:annotation>
<xs:documentation>Pseudo RNG types</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="ECUYER"/>
<xs:enumeration value="KNUTH"/>
<xs:enumeration value="FIBONACCI"/>
<xs:enumeration value="GERMAIN"/>
<xs:enumeration value="MERSENNE"/>
<xs:enumeration value="MINSTD"/>
<xs:enumeration value="RANLUX"/>
<xs:enumeration value="TAUSWORTHE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdRandomType">
<xs:annotation>
<xs:documentation>Pseuo-random, quasi-random, etc</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="PSEUDO"/>
<xs:enumeration value="QUASI"/>
<xs:enumeration value="TRUE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdQuasiRandomType">
<xs:annotation>
<xs:documentation>For low-discrepancy RNGs ... </xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="FAURE"/>
<xs:enumeration value="HALTON"/>
<xs:enumeration value="NIEDERREITER"/>
<xs:enumeration value="SOBOL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSalvageType">
<xs:annotation>
<xs:documentation>For pseudo square-root calculation</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="NONE"/>
<xs:enumeration value="SPECTRAL"/>
<xs:enumeration value="HYPERSPHERE"/>
<xs:enumeration value="LOWER_DIAGONAL"/>
<xs:enumeration value="HIGHAM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSingularValueType">
<xs:annotation>
<xs:documentation>Singular value decomposition</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="DEFAULT"/>
<xs:enumeration value="JACOBI"/>
<xs:enumeration value="MODIFIED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdSobolDirectionIntegers">
<xs:annotation>
<xs:documentation>Sobol QRNG direction integers</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="JAECKEL"/>
<xs:enumeration value="JOE_KUO_D5"/>
<xs:enumeration value="JOE_KUO_D6"/>
<xs:enumeration value="JOE_KUO_D7"/>
<xs:enumeration value="KUO"/>
<xs:enumeration value="KUO2"/>
<xs:enumeration value="KUO3"/>
<xs:enumeration value="SOBOL_LEVITAN"/>
<xs:enumeration value="SOBOL_LEVITAN_LEMIEUX"/>
<xs:enumeration value="UNIT"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="XsdWaveletType">
<xs:annotation>
<xs:documentation>FFT and other transforms</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="BSPLINE"/>
<xs:enumeration value="DAUBECHIES"/>
<xs:enumeration value="HAAR"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2010 rel. 3 (http://www.altova.com) by Michael Edward Rose (OmniMarkets) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="enums.xsd"/>
<xs:include schemaLocation="../xsd-core/value.xsd"/>
<xs:include schemaLocation="../xsd-core/matrix.xsd"/>
<xs:include schemaLocation="../xsd-core/bounds.xsd"/>
<xs:complexType name="XsdErrorBounds">
<xs:annotation>
<xs:documentation>Numerical error bounds</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="absolute" type="XsdPositiveDouble" default="1.0e-4" minOccurs="0">
<xs:annotation>
<xs:documentation>Absolute error bound - must be positive</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="relative" type="XsdPositiveDouble" default="1.0e-4" minOccurs="0">
<xs:annotation>
<xs:documentation>Relative error bound - must be positive</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdSmoothnessPenalty">
<xs:annotation>
<xs:documentation>Regulates curve or surface smoothness in least-squares fitting. The penalty measures the variation or curvature of the curve or surface to be approxumated and is added to the least-squares objective function. </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="variation" type="XsdNonNegativeDouble" default="0.0" minOccurs="0">
<xs:annotation>
<xs:documentation>Variation penalty. Penalizes integral of squared first derivative.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="curvature" type="XsdNonNegativeDouble" default="0.0" minOccurs="0">
<xs:annotation>
<xs:documentation>Curvature penalty. Penalizes integral of squared second derivative.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="mesh" type="XsdPositiveDouble" default="0.25" minOccurs="0">
<xs:annotation>
<xs:documentation>Required for discrete approximation. Default: 0.25</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdDoubleCompare">
<xs:sequence>
<xs:element name="exact" type="xs:double">
<xs:annotation>
<xs:documentation>Analytic value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="approx" type="xs:double">
<xs:annotation>
<xs:documentation>Numerical approximation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="error" type="xs:double" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdDoubleVectorCompare">
<xs:sequence>
<xs:element name="exact" type="XsdDoubleVector">
<xs:annotation>
<xs:documentation>Analytic value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="approx" type="XsdDoubleVector">
<xs:annotation>
<xs:documentation>Numerical approximation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="error" type="XsdDoubleVector" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdDoubleMatrixCompare">
<xs:sequence>
<xs:element name="exact" type="XsdDoubleMatrix">
<xs:annotation>
<xs:documentation>Analytic value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="approx" type="XsdDoubleMatrix">
<xs:annotation>
<xs:documentation>Numerical approximation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="error" type="XsdDoubleMatrix" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="XsdRounding">
<xs:simpleContent>
<xs:extension base="XsdPositiveDouble">
<xs:attribute name="type" type="XsdRoundType" default="NEAREST">
<xs:annotation>
<xs:documentation>Default: NEAREST</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="XsdSymmetricDoubleMatrixCompare">
<xs:sequence>
<xs:element name="exact" type="XsdSymmetricDoubleMatrix">
<xs:annotation>
<xs:documentation>Analytic value</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="approx" type="XsdSymmetricDoubleMatrix">
<xs:annotation>
<xs:documentation>Numerical approximation</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="error" type="XsdSymmetricDoubleMatrix" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>