<?xml version="1.0" encoding="UTF-8"?>
<!-- Vestoris feed format "corporateaction" version 1.0. Generated from the data set definition; see https://vestoris.com/help/feeds/corporateaction -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:vestoris:feed:corporateaction:1.0" targetNamespace="urn:vestoris:feed:corporateaction:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
  <xs:annotation><xs:documentation>Corporate actions. Stock splits and cash dividends. A split adjusts every open tax lot (quantity times the ratio, unit cost divided by it) on the ex-date; a dividend books cash to each account holding the security. Applied deterministically and undoable with the batch. Key: ref.</xs:documentation></xs:annotation>
  <xs:element name="feed">
    <xs:annotation><xs:documentation>One file: the header attributes, then the records.</xs:documentation></xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="record" type="Record" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="businessDate" type="xs:date" use="required"><xs:annotation><xs:documentation>The business date the data is for (YYYY-MM-DD).</xs:documentation></xs:annotation></xs:attribute>
      <xs:attribute name="firm" use="required"><xs:annotation><xs:documentation>Your firm code, shown on Data › Feeds (e.g. F00012).</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z][0-9]{5}"/></xs:restriction></xs:simpleType></xs:attribute>
      <xs:attribute name="source" use="optional"><xs:annotation><xs:documentation>Who produced the file (vendor or system name).</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:maxLength value="80"/></xs:restriction></xs:simpleType></xs:attribute>
      <xs:attribute name="generated" type="xs:dateTime" use="required"><xs:annotation><xs:documentation>When the file was produced (UTC).</xs:documentation></xs:annotation></xs:attribute>
      <xs:attribute name="recordCount" type="xs:nonNegativeInteger" use="required"><xs:annotation><xs:documentation>The number of record elements. A file whose count does not match is refused (F004): it was probably cut short.</xs:documentation></xs:annotation></xs:attribute>
      <xs:attribute name="mode" use="optional" default="delta"><xs:annotation><xs:documentation>delta: only the records in the file change. full: the file is complete (this data set has no inactivation: full behaves as delta).</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="delta"/><xs:enumeration value="full"/></xs:restriction></xs:simpleType></xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Record">
    <xs:annotation><xs:documentation>One corporate actions record. Elements may appear in any order.</xs:documentation></xs:annotation>
    <xs:all>
      <xs:element name="ref" minOccurs="1">
        <xs:annotation><xs:documentation>Your (or the vendor&apos;s) reference for the event. The key. A code: letters, digits, &quot;_&quot;, &quot;.&quot; or &quot;-&quot;, up to 40. Part of the key.</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z0-9][A-Z0-9_.\-]{0,39}"/></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="symbol" minOccurs="1">
        <xs:annotation><xs:documentation>The security. A ticker symbol: letters, digits, &quot;.&quot; or &quot;-&quot;, up to 12.</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z][A-Z0-9.\-]{0,11}"/></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="kind" minOccurs="1">
        <xs:annotation><xs:documentation>split or dividend. One of: split, dividend.</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="split"/><xs:enumeration value="dividend"/></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="exDate" minOccurs="1">
        <xs:annotation><xs:documentation>The ex-date: the action applies to holdings at the start of this day. An ISO date, YYYY-MM-DD.</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:date"></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="payDate" minOccurs="0">
        <xs:annotation><xs:documentation>Payment date (dividends). An ISO date, YYYY-MM-DD.</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:date"></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="ratio" minOccurs="0">
        <xs:annotation><xs:documentation>Split: new shares per old share (2 for a 2-for-1 split, 0.1 for a 1-for-10 reverse split). A decimal number written as text, e.g. 1234.5 (min 1.0E-6 max 1000).</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:decimal"><xs:minInclusive value="0.000001"/><xs:maxInclusive value="1000"/><xs:totalDigits value="25"/><xs:fractionDigits value="10"/></xs:restriction></xs:simpleType>
      </xs:element>
      <xs:element name="amount" minOccurs="0">
        <xs:annotation><xs:documentation>Dividend: cash per share, in the security&apos;s currency. A decimal number written as text, e.g. 1234.5 (min 0 max 100000).</xs:documentation></xs:annotation>
        <xs:simpleType><xs:restriction base="xs:decimal"><xs:minInclusive value="0"/><xs:maxInclusive value="100000"/><xs:totalDigits value="25"/><xs:fractionDigits value="10"/></xs:restriction></xs:simpleType>
      </xs:element>
    </xs:all>
    <xs:attribute name="action" use="optional" default="upsert"><xs:annotation><xs:documentation>upsert (insert or update by key).</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="upsert"/></xs:restriction></xs:simpleType></xs:attribute>
  </xs:complexType>
</xs:schema>
