IRS Form 8872 XML Schema
Date: 2003-05-04. From: http://www.irs.gov/pub/irs-schema/8872schema.zip
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace="http://www.irs.gov/eforms" xmlns="http://www.irs.gov/eforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <xsd:annotation> <xsd:documentation> <xsd:Author>Brett DiPerna</xsd:Author> <xsd:Version>Version 1.1</xsd:Version> </xsd:documentation> </xsd:annotation> <xsd:include schemaLocation="887xefileTypes.xsd"/> <xsd:element name="form8872"> <xsd:annotation> <xsd:documentation> <xsd:description>Root element for the 8872 Form</xsd:description> <xsd:LineNumber>Root Element</xsd:LineNumber> </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="OrganizationName" final="restriction"> <xsd:annotation> <xsd:documentation> <xsd:description>The Name of the Organization</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="1"/> <xsd:maxLength value="70"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="MailingAddress" type="USAddressType"> <xsd:annotation> <xsd:documentation> <xsd:description>Organization's Mailing Address</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FilingType"> <xsd:complexType> <xsd:choice> <xsd:annotation> <xsd:documentation> <xsd:description>Type of report: Inital, Amended, Final or Change Of Address</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:element name="InitalReport" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:int"> <xsd:totalDigits value="1"/> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ChangeOfAddress" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:int"> <xsd:totalDigits value="1"/> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="AmendedReport" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:int"> <xsd:totalDigits value="1"/> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="FinalReport" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:int"> <xsd:totalDigits value="1"/> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="DateEstablished"> <xsd:annotation> <xsd:documentation> <xsd:description>Date the Organization was Established</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="DateType"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="eMail" final="restriction" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="EmailAddressType"> <xsd:minLength value="7"/> <xsd:maxLength value="150"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="CustodianName"> <xsd:annotation> <xsd:documentation> <xsd:description>CustodianName</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="1"/> <xsd:maxLength value="50"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="CustodianAddress" type="USAddressType"> <xsd:annotation> <xsd:documentation> <xsd:description>The Custodian Address</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ContactPerson"> <xsd:annotation> <xsd:documentation> <xsd:description>The Name of the Contact Person</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="0"/> <xsd:maxLength value="50"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ContactAddress" type="USAddressType"> <xsd:annotation> <xsd:documentation> <xsd:description>The Contact Person's Address</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="BusinessAddress" type="USAddressType"> <xsd:annotation> <xsd:documentation> <xsd:description>The Business Address of the Organization</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="PeriodBeginDate"> <xsd:annotation> <xsd:documentation> <xsd:description>The date for the Beginning Period</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="DateType"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="PeriodEndDate"> <xsd:annotation> <xsd:documentation> <xsd:description>The date for the Ending Period</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:simpleType> <xsd:restriction base="DateType"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ReportType"> <xsd:complexType> <xsd:annotation> <xsd:documentation> <xsd:description>The Type of Report</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element name="PreElectionReport" minOccurs="0"> <xsd:complexType> <xsd:all> <xsd:element name="ElectionType"> <xsd:simpleType> <xsd:restriction base="ElectionType"/> </xsd:simpleType> </xsd:element> <xsd:element name="ElectionDate" type="DateType"/> <xsd:element name="State" type="StateType"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="PostGeneralElectionReport" minOccurs="0"> <xsd:complexType> <xsd:all> <xsd:element name="ElectionDate" type="DateType"/> <xsd:element name="State" type="StateType"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="FirstQuarterlyReport" type="CheckboxTypeString" minOccurs="0"/> <xsd:element name="SecondQuarterlyReport" type="CheckboxTypeString" minOccurs="0"/> <xsd:element name="ThirdQuarterlyReport" type="CheckboxTypeString" minOccurs="0"/> <xsd:element name="YearEndReport" type="CheckboxTypeString" minOccurs="0"/> <xsd:element name="MonthlyReport" minOccurs="0"> <xsd:complexType> <xsd:all> <xsd:element name="ReportMonth" type="MonthType"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="MidYearReport" type="CheckboxTypeString" minOccurs="0"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="ReportedContributions" type="USAmountType"> <xsd:annotation> <xsd:documentation> <xsd:description>Total Amount of Reported Contributions</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ReportedExpenditures" type="USAmountType"> <xsd:annotation> <xsd:documentation> <xsd:description>Total Amount of Reported Expeditures</xsd:description> </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ScheduleA" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> <xsd:description>Schedule A Element's</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ContributorName"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="1"/> <xsd:maxLength value="50"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ContributorAddress" type="USAddressType"/> <xsd:element name="ContributorEmployer" final="restriction"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="0"/> <xsd:maxLength value="70"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ContributorOccupation" final="restriction"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="1"/> <xsd:maxLength value="70"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ContributionDate"> <xsd:simpleType> <xsd:restriction base="DateType"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ContributionAmount"> <xsd:simpleType> <xsd:restriction base="USAmountType"> <xsd:totalDigits value="17"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="AggregateContributionsYTD"> <xsd:simpleType> <xsd:restriction base="USAmountType"> <xsd:totalDigits value="17"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ScheduleB" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> <xsd:description>Schedule B Element's</xsd:description> </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="RecipientName"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="1"/> <xsd:maxLength value="50"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="RecipientAddress" type="USAddressType"/> <xsd:element name="RecipientEmployer"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="1"/> <xsd:maxLength value="70"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="RecipientOccupation"> <xsd:simpleType> <xsd:restriction base="StringType"> <xsd:minLength value="1"/> <xsd:maxLength value="70"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ExpenditureDate"> <xsd:simpleType> <xsd:restriction base="DateType"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ExpenditureAmount"> <xsd:simpleType> <xsd:restriction base="USAmountType"> <xsd:totalDigits value="17"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="ExpenditurePurpose"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="1"/> <xsd:maxLength value="512"/> </xsd:restriction> </xsd:simpleType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>