Skip to content. | Skip to navigation

Personal tools
Sections
You are here: Home Members Eric Jahn can standards Red Cross Schema v. .01X

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>