Red Cross Schema v. .01X
This is a proposed change to the v. 01 Schema which makes its types importable.
redcross.xsd
—
Extensible Markup Language (XML),
11 kB (11959 bytes)
File contents
<?xml version="1.0" encoding="UTF-8"?>
<!-- added a targetNamespace and a default namespace-->
<xs:schema targetNamespace="http://www.redcross.org/schema/redcross.xsd" xmlns="http://www.redcross.org/schema/redcross.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.01+1">
<xs:complexType name="tClient">
<xs:sequence>
<xs:element name="IndividualRecordID" type="tIndividualRecordID"/>
<xs:element name="FirstName" type="tString50" minOccurs="0"/>
<xs:element name="MiddleName" type="tString50" minOccurs="0"/>
<xs:element name="LastName" type="tString50" minOccurs="0"/>
<xs:element name="Suffix" type="tString10" minOccurs="0"/>
<xs:element name="DateOfBirth" type="xs:date" minOccurs="0"/>
<xs:element name="Ethnicity" type="tEthnicity" minOccurs="0"/>
<xs:element name="Race" type="tRace" minOccurs="0"/>
<xs:element name="Gender" type="tGender" minOccurs="0"/>
<xs:element name="PreDisasterLivingSituation" type="tString50" minOccurs="0"/>
<xs:element name="PreDisasterAddress" type="tAddress" minOccurs="0"/>
<xs:element name="PostDisasterAddress" type="tAddress" minOccurs="0"/>
<xs:element name="BestPhone" type="tPhoneNumber" minOccurs="0"/>
<xs:element name="OtherPhone" type="tPhoneNumber" minOccurs="0"/>
<xs:element name="VerificationDocumentation" type="tString32" minOccurs="0"/>
<xs:element name="CaseID" type="tString32" minOccurs="0"/>
<xs:element name="SpecialNeeds" type="tString50" minOccurs="0"/>
<xs:element name="ServicesProvided" type="tNarrative" minOccurs="0"/>
<xs:element name="ServicesProvidedDate" type="xs:date" minOccurs="0"/>
<xs:element name="PreferredLanguage" type="tString50" minOccurs="0"/>
<xs:element name="EnglishSpeaker" type="xs:boolean" minOccurs="0"/>
<xs:element name="HeadOfHousehold" type="xs:boolean" minOccurs="0"/>
<xs:element name="HouseholdMembers" minOccurs="0">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="HouseholdMember" type="tHouseholdMember"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ServicesNeeded" type="tNarrative" minOccurs="0"/>
<xs:element name="SourceProgramName" type="tString50" minOccurs="0"/>
<xs:element name="SourceProgramID" type="tString32" minOccurs="0"/>
<xs:element name="SourceProgramDate" type="xs:date" minOccurs="0"/>
<xs:element name="SourceProgramCity" type="tString50" minOccurs="0"/>
<xs:element name="SourceProgamState" type="tState" minOccurs="0"/>
<xs:element name="SourceProgramType" type="tString50" minOccurs="0"/>
<xs:element name="SourceProgramContactInformation" type="tString50" minOccurs="0"/>
<xs:element name="ReleaseInformation" type="tString50" minOccurs="0"/>
<xs:element name="DisasterName" type="tString50" minOccurs="0"/>
<xs:element name="CaseManager" type="tString50" minOccurs="0"/>
<xs:element name="CaseManagerBestPhone" type="tPhoneNumber" minOccurs="0"/>
<xs:element name="DamageAssessment" type="tString50" minOccurs="0"/>
<xs:element name="AliasOrLegalName" type="tString50" minOccurs="0"/>
<xs:element name="AlternateContactNumber" type="tPhoneNumber" minOccurs="0"/>
<xs:element name="AlternatePhoneNumber" type="tPhoneNumber" minOccurs="0"/>
<xs:element name="FEMARegistrationNumber" type="tFEMANumber" minOccurs="0"/>
<xs:element name="Narrative" type="tNarrative" minOccurs="0"/>
<xs:element name="GovernmentShare" type="xs:boolean" minOccurs="0"/>
<xs:element name="IncidentDRONumber" type="tDRONumber" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="RecordCreationDate" type="xs:date" use="required"/>
<xs:attribute name="RecordCreationTime" type="xs:time"/>
<xs:attribute name="RecordEditDate" type="xs:date"/>
<xs:attribute name="RecordEditTime" type="xs:time"/>
</xs:complexType>
<xs:complexType name="tAddress">
<xs:sequence>
<xs:element name="Line1" type="tString50" minOccurs="0"/>
<xs:element name="Line2" type="tString50" minOccurs="0"/>
<xs:element name="City" type="tString50" minOccurs="0"/>
<xs:element name="County" type="tString50" minOccurs="0"/>
<xs:element name="State" type="tState" minOccurs="0"/>
<xs:element name="ZipCode" type="uZipCode" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="tDRONumber">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{4,5}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tEthnicity">
<xs:restriction base="xs:string">
<xs:enumeration value="American Indian/Alaska Native"/>
<xs:enumeration value="Asian"/>
<xs:enumeration value="Black or African Am."/>
<xs:enumeration value="Native Hawaiian or Other Pacific Islander"/>
<xs:enumeration value="White"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tFEMANumber">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{9}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tGender">
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="tHouseholdMember">
<xs:sequence>
<xs:element name="HouseholdMemberID" type="tString32"/>
<xs:element name="Relationship" type="tString32"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tIndividualRecordID">
<xs:simpleContent>
<xs:extension base="tString32">
<xs:attribute name="IndividualRecordIDHash" type="xs:boolean" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="tRace">
<xs:restriction base="xs:string">
<xs:enumeration value="Hispanic or Latino"/>
<xs:enumeration value="Not Hispanic or Latino"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tString50">
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tNarrative">
<xs:restriction base="xs:string">
<xs:maxLength value="250"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tPhoneNumber">
<xs:restriction base="xs:string">
<xs:pattern value="[2-9A-PR-Y][0-9A-PR-Y]{2}[2-9A-PR-Y][0-9A-PR-Y]{2}[0-9A-PR-Y]{4}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tString32">
<xs:restriction base="xs:string">
<xs:maxLength value="32"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tState">
<xs:restriction base="xs:string">
<xs:enumeration value="AK"/>
<xs:enumeration value="AL"/>
<xs:enumeration value="AR"/>
<xs:enumeration value="AZ"/>
<xs:enumeration value="CA"/>
<xs:enumeration value="CO"/>
<xs:enumeration value="CT"/>
<xs:enumeration value="DE"/>
<xs:enumeration value="FL"/>
<xs:enumeration value="GA"/>
<xs:enumeration value="HI"/>
<xs:enumeration value="IA"/>
<xs:enumeration value="ID"/>
<xs:enumeration value="IL"/>
<xs:enumeration value="IN"/>
<xs:enumeration value="KS"/>
<xs:enumeration value="KY"/>
<xs:enumeration value="LA"/>
<xs:enumeration value="MA"/>
<xs:enumeration value="MD"/>
<xs:enumeration value="ME"/>
<xs:enumeration value="MI"/>
<xs:enumeration value="MN"/>
<xs:enumeration value="MO"/>
<xs:enumeration value="MS"/>
<xs:enumeration value="MT"/>
<xs:enumeration value="NC"/>
<xs:enumeration value="ND"/>
<xs:enumeration value="NE"/>
<xs:enumeration value="NH"/>
<xs:enumeration value="NJ"/>
<xs:enumeration value="NM"/>
<xs:enumeration value="NV"/>
<xs:enumeration value="NY"/>
<xs:enumeration value="OH"/>
<xs:enumeration value="OK"/>
<xs:enumeration value="OR"/>
<xs:enumeration value="PA"/>
<xs:enumeration value="RI"/>
<xs:enumeration value="SC"/>
<xs:enumeration value="SD"/>
<xs:enumeration value="TN"/>
<xs:enumeration value="TX"/>
<xs:enumeration value="UT"/>
<xs:enumeration value="VA"/>
<xs:enumeration value="VT"/>
<xs:enumeration value="WA"/>
<xs:enumeration value="WI"/>
<xs:enumeration value="WV"/>
<xs:enumeration value="WY"/>
<xs:enumeration value="DC"/>
<xs:enumeration value="AS"/>
<xs:enumeration value="FM"/>
<xs:enumeration value="GU"/>
<xs:enumeration value="MH"/>
<xs:enumeration value="MP"/>
<xs:enumeration value="PR"/>
<xs:enumeration value="PW"/>
<xs:enumeration value="VI"/>
<xs:enumeration value="AE"/>
<xs:enumeration value="AA"/>
<xs:enumeration value="AE"/>
<xs:enumeration value="AE"/>
<xs:enumeration value="AE"/>
<xs:enumeration value="AP"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tString10">
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tVersion">
<xs:restriction base="xs:decimal">
<xs:totalDigits value="4"/>
<xs:fractionDigits value="2"/>
<xs:minInclusive value="0.01"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tZipCode">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9]{5})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tZipCode4">
<xs:restriction base="xs:string">
<xs:pattern value="([0-9]{5})-([0-9]{4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="uZipCode">
<xs:union memberTypes="tZipCode tZipCode4"/>
</xs:simpleType>
<xs:element name="ClientDataSet">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:element name="Client" type="tClient" block="#all" />
</xs:sequence>
<xs:attribute name="DataSourceName" type="xs:string" use="required"/>
<xs:attribute name="DataSourceID" type="xs:integer"/>
<xs:attribute name="DataSourceDate" type="xs:date"/>
<xs:attribute name="SchemaVersion" type="tVersion" use="required"/>
<xs:attribute name="GeneratorApp" type="xs:string" use="required"/>
<xs:attribute name="GeneratorVendor" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>



