<!--
Open Financial Exchange Specification (c)1996-2003 ("Specification") by all of its publishers:
CheckFree Corp., Intuit Inc., and Microsoft Corporation. All rights reserved.
Revision History:
Version Date Editor Email Addr Short Description
p18 2002-02-11 altenburgd@businesslogic.com Initial revision
p20 2002-03-09 altenburgd@businesslogic.com Renamed type 'SecurityInfo' to 'GeneralSecurityInfo'
Created abstract type 'SecurityInfo'
and made MutualFundInfo, StockInfo, OptionInfo,
DebtInfo, and OtherInfo to extend it
p21 2002-03-17 altenburgd@businesslogic.com Renamed SecurityInfo to AbstractSecurityInfo
p21 2002-03-17 altenburgd@businesslogic.com Changed elementFormDefault to "unqualified"
Changed namespace to "http://ofx.net/types/2003/04"
p22 2003-03-24 altenburgd@businesslogic.com Fixed typo in MutualFundInfo
p23 2002-05-13 altenburgd@businesslogic.com Bugfixes based on Intuit Schema QA
RC4 2003-06-24 gil_clark@intuit.com Added collapse to fixed length, non-string types and enums.
-->
<xsd:schema targetNamespace="http://ofx.net/types/2003/04" xmlns:ofx="http://ofx.net/types/2003/04" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
<xsd:include schemaLocation="OFX_Common.xsd"/>
<xsd:simpleType name="AssetClassEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "ASSETCLASSENUM" is of type "AssetClassEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="DOMESTICBOND"/>
<xsd:enumeration value="INTLBOND"/>
<xsd:enumeration value="LARGESTOCK"/>
<xsd:enumeration value="SMALLSTOCK"/>
<xsd:enumeration value="INTLSTOCK"/>
<xsd:enumeration value="MONEYMRKT"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CallTypeEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "CALLTYPEENUM" is of type "CallTypeEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="CALL"/>
<xsd:enumeration value="PUT"/>
<xsd:enumeration value="PREFUND"/>
<xsd:enumeration value="MATURITY"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="CouponFrequencyEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "COUPONFREQENUM" is of type "CouponFrequencyEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="MONTHLY"/>
<xsd:enumeration value="QUARTERLY"/>
<xsd:enumeration value="SEMIANNUAL"/>
<xsd:enumeration value="ANNUAL"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DebtClassEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "DEBTCLASSENUM" is of type "DebtClassEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="TREASURY"/>
<xsd:enumeration value="MUNICIPAL"/>
<xsd:enumeration value="CORPORATE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DebtEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "DEBTENUM" is of type "DebtEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="COUPON"/>
<xsd:enumeration value="ZERO"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="DebtInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "DEBTINFO" is of type "DebtInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ofx:AbstractSecurityInfo">
<xsd:sequence>
<xsd:element name="PARVALUE" type="ofx:AmountType"/>
<xsd:element name="DEBTTYPE" type="ofx:DebtEnum"/>
<xsd:element name="DEBTCLASS" type="ofx:DebtClassEnum" minOccurs="0"/>
<xsd:element name="COUPONRT" type="ofx:RateType" minOccurs="0"/>
<xsd:element name="DTCOUPON" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="COUPONFREQ" type="ofx:CouponFrequencyEnum" minOccurs="0"/>
<xsd:element name="CALLPRICE" type="ofx:UnitPriceType" minOccurs="0"/>
<xsd:element name="YIELDTOCALL" type="ofx:RateType" minOccurs="0"/>
<xsd:element name="DTCALL" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="CALLTYPE" type="ofx:CallTypeEnum" minOccurs="0"/>
<xsd:element name="YIELDTOMAT" type="ofx:RateType" minOccurs="0"/>
<xsd:element name="DTMAT" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="ASSETCLASS" type="ofx:AssetClassEnum" minOccurs="0"/>
<xsd:element name="FIASSETCLASS" type="ofx:GenericNameType" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="EmptyType">
<xsd:annotation>
<xsd:documentation>
The OFX element "EMPTY" is of type "EmptyType"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="FinancialInstitutionMutualFundAssetClass">
<xsd:annotation>
<xsd:documentation>
The OFX element "FIMFASSETCLASS" is of type "FinancialInstitutionMutualFundAssetClass"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="FIPORTION" type="ofx:FinancialInstitutionPortion" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FinancialInstitutionPortion">
<xsd:annotation>
<xsd:documentation>
The OFX element "FIPORTION" is of type "FinancialInstitutionPortion"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="FIASSETCLASS" type="ofx:GenericNameType"/>
<xsd:element name="PERCENT" type="ofx:RateType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MutualFundAssetClass">
<xsd:annotation>
<xsd:documentation>
The OFX element "MFASSETCLASS" is of type "MutualFundAssetClass"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="PORTION" type="ofx:Portion" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MutualFundInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "MFINFO" is of type "MutualFundInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ofx:AbstractSecurityInfo">
<xsd:sequence>
<xsd:element name="MFTYPE" type="ofx:MutualFundTypeEnum" minOccurs="0"/>
<xsd:element name="YIELD" type="ofx:RateType" minOccurs="0"/>
<xsd:element name="DTYIELDASOF" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="MFASSETCLASS" type="ofx:MutualFundAssetClass" minOccurs="0"/>
<xsd:element name="FIMFASSETCLASS" type="ofx:FinancialInstitutionMutualFundAssetClass" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="MutualFundTypeEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "MFTENUM" is of type "MutualFundTypeEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="OPENEND"/>
<xsd:enumeration value="CLOSEEND"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="OptionInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "OPTINFO" is of type "OptionInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ofx:AbstractSecurityInfo">
<xsd:sequence>
<xsd:element name="OPTTYPE" type="ofx:OptionTypeEnum"/>
<xsd:element name="STRIKEPRICE" type="ofx:UnitPriceType"/>
<xsd:element name="DTEXPIRE" type="ofx:DateTimeType"/>
<xsd:element name="SHPERCTRCT" type="ofx:SharesPerType"/>
<xsd:element name="SECID" type="ofx:SecurityId" minOccurs="0"/>
<xsd:element name="ASSETCLASS" type="ofx:AssetClassEnum" minOccurs="0"/>
<xsd:element name="FIASSETCLASS" type="ofx:GenericNameType" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="OptionTypeEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "OPTTYPEENUM" is of type "OptionTypeEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="CALL"/>
<xsd:enumeration value="PUT"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="OtherInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "OTHERINFO" is of type "OtherInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ofx:AbstractSecurityInfo">
<xsd:sequence>
<xsd:element name="TYPEDESC" type="ofx:TypeDescriptionType" minOccurs="0"/>
<xsd:element name="ASSETCLASS" type="ofx:AssetClassEnum" minOccurs="0"/>
<xsd:element name="FIASSETCLASS" type="ofx:GenericNameType" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="Portion">
<xsd:annotation>
<xsd:documentation>
The OFX element "PORTION" is of type "Portion"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="ASSETCLASS" type="ofx:AssetClassEnum"/>
<xsd:element name="PERCENT" type="ofx:RateType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="Rating">
<xsd:annotation>
<xsd:documentation>
The OFX element "RATING" is of type "Rating"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10"/>
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="GeneralSecurityInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "SECINFO" is of type "GeneralSecurityInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="SECID" type="ofx:SecurityId"/>
<xsd:element name="SECNAME" type="ofx:SecurityNameType"/>
<xsd:element name="TICKER" type="ofx:TickerType" minOccurs="0"/>
<xsd:element name="FIID" type="ofx:FinancialInstitutionIdType" minOccurs="0"/>
<xsd:element name="RATING" type="ofx:Rating" minOccurs="0"/>
<xsd:element name="UNITPRICE" type="ofx:UnitPriceType" minOccurs="0"/>
<xsd:element name="DTASOF" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
<xsd:element name="MEMO" type="ofx:MessageType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AbstractSecurityInfo" abstract="true">
<xsd:sequence>
<xsd:element name="SECINFO" type="ofx:GeneralSecurityInfo"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SecurityList">
<xsd:annotation>
<xsd:documentation>
The OFX element "SECLIST" is of type "SecurityList"
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="MFINFO" type="ofx:MutualFundInfo"/>
<xsd:element name="STOCKINFO" type="ofx:StockInfo"/>
<xsd:element name="OPTINFO" type="ofx:OptionInfo"/>
<xsd:element name="DEBTINFO" type="ofx:DebtInfo"/>
<xsd:element name="OTHERINFO" type="ofx:OtherInfo"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="StockEnum">
<xsd:annotation>
<xsd:documentation>
The OFX element "STOCKENUM" is of type "StockEnum"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:whiteSpace value="collapse"/>
<xsd:enumeration value="COMMON"/>
<xsd:enumeration value="PREFERRED"/>
<xsd:enumeration value="CONVERTIBLE"/>
<xsd:enumeration value="OTHER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="StockInfo">
<xsd:annotation>
<xsd:documentation>
The OFX element "STOCKINFO" is of type "StockInfo"
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ofx:AbstractSecurityInfo">
<xsd:sequence>
<xsd:element name="STOCKTYPE" type="ofx:StockEnum" minOccurs="0"/>
<xsd:element name="YIELD" type="ofx:RateType" minOccurs="0"/>
<xsd:element name="DTYIELDASOF" type="ofx:DateTimeType" minOccurs="0"/>
<xsd:element name="ASSETCLASS" type="ofx:AssetClassEnum" minOccurs="0"/>
<xsd:element name="FIASSETCLASS" type="ofx:GenericNameType" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="TickerType">
<xsd:annotation>
<xsd:documentation>
The OFX element "TICKER" is of type "TickerType"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="TypeDescriptionType">
<xsd:annotation>
<xsd:documentation>
The OFX element "TYPEDESC" is of type "TypeDescriptionType"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="32"/>
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
|