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>