text:
<smooks-resource-list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd"
  xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.3.xsd" xmlns:camel="http://www.milyn.org/xsd/smooks/camel-1.4.xsd"
  xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
  xsi:schemaLocation="
  http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd http://www.milyn.org/xsd/smooks/smooks-core-1.4.xsd
  http://www.milyn.org/xsd/smooks/javabean-1.3.xsd http://www.milyn.org/xsd/smooks/javabean-1.3.xsd
  http://www.milyn.org/xsd/smooks/camel-1.4.xsd http://www.milyn.org/xsd/smooks/camel-1.4.xsd
  http://www.milyn.org/xsd/smooks-1.1.xsd http://www.milyn.org/xsd/smooks-1.1.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

  <params>
    <param name="gradeType">Final</param>
  </params>

  <reader>
    <features>
      <setOff feature="http://xml.org/sax/features/external-general-entities" />
      <setOff feature="http://xml.org/sax/features/external-parameter-entities" />
    </features>
  </reader>

  <core:filterSettings defaultSerialization="false" readerPoolSize="5" terminateOnException="false" type="SAX" />

 <!-- School mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrganization/School">
    <jb:expression property="recordType">'school'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="schoolMetaData" />
    <jb:wiring property="attributes" beanIdRef="schoolAttributes" />
  </jb:bean>

  <jb:bean beanId="schoolMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/School">
    <jb:expression property="neutralRecordKeyValueFieldNames">'stateOrganizationId'</jb:expression>
    <jb:expression property="sliEntityType">'educationOrganization'</jb:expression>
  </jb:bean>

  <jb:bean beanId="schoolAttributes" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School">
    <jb:value property="stateOrganizationId" data="School/StateOrganizationId" />
    <jb:wiring property="educationOrgIdentificationCode" beanIdRef="educationOrgIdentificationCodeTypeArray" />
    <jb:value property="nameOfInstitution" data="School/NameOfInstitution" />
    <jb:value property="shortNameOfInstitution" data="School/ShortNameOfInstitution" />
    <jb:wiring property="organizationCategories" beanIdRef="educationOrganizationCategoryTypeArray" />
    <jb:wiring property="address" beanIdRef="addressSchoolTypeArray" />
    <jb:wiring property="telephone" beanIdRef="institutionTelephoneTypeArray" />
    <jb:value property="webSite" data="School/WebSite" />
    <jb:value property="operationalStatus" data="School/OperationalStatus" />
    <jb:wiring property="accountabilityRatings" beanIdRef="accountabilityRatingsTypeArray" />
    <jb:wiring beanIdRef="SLC-School_Attributes_SLC-ProgramReferenceTypeArray" property="ProgramReference"/>
    <jb:wiring property="gradesOffered" beanIdRef="gradesOfferedTypeArray" />
    <jb:wiring property="schoolCategories" beanIdRef="schoolCategoriesTypeArray" />
    <jb:value property="schoolType" data="School/SchoolType" />
    <jb:value property="charterStatus" data="School/CharterStatus" />
    <jb:value property="titleIPartASchoolDesignation" data="School/TitleIPartASchoolDesignation" />
    <jb:value property="magnetSpecialProgramEmphasisSchool" data="School/MagnetSpecialProgramEmphasisSchool" />
    <jb:value property="administrativeFundingControl" data="School/AdministrativeFundingControl" />
    <jb:wiring property="LocalEducationAgencyReference" beanIdRef="School_LEA_Reference" />
  </jb:bean>

    <jb:bean beanId="School_LEA_Reference" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/LocalEducationAgencyReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="School_LEA_EducationalOrgIdentity" />
    </jb:bean>
    <jb:bean beanId="School_LEA_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/LocalEducationAgencyReference/EducationalOrgIdentity">
        <jb:value property="StateOrganizationId" data="InterchangeEducationOrganization/School/LocalEducationAgencyReference/EducationalOrgIdentity/StateOrganizationId" />
    </jb:bean>

  <jb:bean beanId="educationOrgIdentificationCodeTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:wiring beanIdRef="educationOrgIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="educationOrgIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/School/EducationOrgIdentificationCode">
    <jb:value property="identificationSystem" data="School/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="School/EducationOrgIdentificationCode/Id" />
  </jb:bean>

  <jb:bean beanId="educationOrganizationCategoryTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:value data="School/OrganizationCategories/OrganizationCategory" />
  </jb:bean>

  <jb:bean beanId="addressSchoolTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:wiring beanIdRef="addressSchoolType" />
  </jb:bean>
  <jb:bean beanId="addressSchoolType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/Address">
    <jb:value property="addressType" data="School/Address/@AddressType" />
    <jb:value property="streetNumberName" data="School/Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="School/Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="School/Address/BuildingSiteNumber" />
    <jb:value property="city" data="School/Address/City" />
    <jb:value property="stateAbbreviation" data="School/Address/StateAbbreviation" />
    <jb:value property="postalCode" data="School/Address/PostalCode" />
    <jb:value property="nameOfCounty" data="School/Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="School/Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="School/Address/CountryCode" />
    <jb:value property="latitude" data="School/Address/Latitude" />
    <jb:value property="longitude" data="School/Address/Longitude" />
    <jb:value property="openDate" data="School/Address/BeginDate" />
    <jb:value property="closeDate" data="School/Address/EndDate" />
  </jb:bean>

  <jb:bean beanId="institutionTelephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:wiring beanIdRef="institutionTelephoneType" />
  </jb:bean>
  <jb:bean beanId="institutionTelephoneType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/Telephone">
    <jb:value property="institutionTelephoneNumberType" data="School/Telephone/@InstitutionTelephoneNumberType" />
    <jb:value property="telephoneNumber" data="School/Telephone/TelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="accountabilityRatingsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:wiring beanIdRef="accountabilityRatingsType" />
  </jb:bean>
  <jb:bean beanId="accountabilityRatingsType" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/School/AccountabilityRatings">
    <jb:value property="ratingTitle" data="School/AccountabilityRatings/RatingTitle" />
    <jb:value property="rating" data="School/AccountabilityRatings/Rating" />
    <jb:value property="ratingDate" data="School/AccountabilityRatings/RatingDate" />
    <jb:value property="ratingOrganization" data="School/AccountabilityRatings/RatingOrganization" />
    <jb:value property="ratingProgram" data="School/AccountabilityRatings/RatingProgram" />
  </jb:bean>

  <jb:bean beanId="SLC-School_Attributes_SLC-ProgramReferenceTypeArray" class="java.util.ArrayList" createOnElement="School">
    <jb:wiring beanIdRef="SLC-School_Attributes_SLC-ProgramReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-School_Attributes_SLC-ProgramReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/ProgramReference">
    <jb:wiring beanIdRef="SLC-School_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" property="ProgramIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-School_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/School/ProgramReference/ProgramIdentity">
    <jb:value data="School/ProgramReference/ProgramIdentity/ProgramId" property="ProgramId"/>
  </jb:bean>

  <jb:bean beanId="gradesOfferedTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:value data="School/GradesOffered/GradeLevel" />
  </jb:bean>

  <jb:bean beanId="schoolCategoriesTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/School">
    <jb:value data="School/SchoolCategories/SchoolCategory" />
  </jb:bean>
  <!-- End School Mapping -->

  <!-- StateEducationAgency mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:expression property="recordType">'stateEducationAgency'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="stateEducationOrganizationMetaData" />
    <jb:wiring property="attributes" beanIdRef="stateEducationOrganizationAttributes" />
  </jb:bean>

  <jb:bean beanId="stateEducationOrganizationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:expression property="neutralRecordKeyValueFieldNames">'stateOrganizationId'</jb:expression>
    <jb:expression property="sliEntityType">'educationOrganization'</jb:expression>
  </jb:bean>

  <jb:bean beanId="stateEducationOrganizationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:value property="stateOrganizationId" data="StateEducationAgency/StateOrganizationId" />
    <jb:wiring property="educationOrgIdentificationCode" beanIdRef="stateEducationAgency_educationOrgIdentificationCodeTypeArray" />
    <jb:value property="nameOfInstitution" data="StateEducationAgency/NameOfInstitution" />
    <jb:value property="shortNameOfInstitution" data="StateEducationAgency/ShortNameOfInstitution" />
    <jb:wiring property="organizationCategories" beanIdRef="stateEducationAgency_educationOrganizationCategoryTypeArray" />
    <jb:wiring property="address" beanIdRef="stateEducationAgency_addressSchoolTypeArray" />
    <jb:wiring property="telephone" beanIdRef="stateEducationAgency_institutionTelephoneTypeArray" />
    <jb:value property="webSite" data="StateEducationAgency/WebSite" />
    <jb:value property="operationalStatus" data="StateEducationAgency/OperationalStatus" />
    <jb:wiring property="accountabilityRatings" beanIdRef="stateEducationAgency_accountabilityRatingsTypeArray" />
    <jb:wiring beanIdRef="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceTypeArray" property="ProgramReference"/>
  </jb:bean>

  <jb:bean beanId="stateEducationAgency_educationOrgIdentificationCodeTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:wiring beanIdRef="stateEducationAgency_educationOrgIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="stateEducationAgency_educationOrgIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/StateEducationAgency/EducationOrgIdentificationCode">
    <jb:value property="identificationSystem" data="StateEducationAgency/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="StateEducationAgency/EducationOrgIdentificationCode/Id" />
  </jb:bean>

  <jb:bean beanId="stateEducationAgency_educationOrganizationCategoryTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:value data="StateEducationAgency/OrganizationCategories/OrganizationCategory" />
  </jb:bean>

  <jb:bean beanId="stateEducationAgency_addressSchoolTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:wiring beanIdRef="stateEducationAgency_addressSchoolType" />
  </jb:bean>
  <jb:bean beanId="stateEducationAgency_addressSchoolType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:value property="addressType" data="StateEducationAgency/Address/@AddressType" />
    <jb:value property="streetNumberName" data="StateEducationAgency/Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="StateEducationAgency/Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="StateEducationAgency/Address/BuildingSiteNumber" />
    <jb:value property="city" data="StateEducationAgency/Address/City" />
    <jb:value property="stateAbbreviation" data="StateEducationAgency/Address/StateAbbreviation" />
    <jb:value property="postalCode" data="StateEducationAgency/Address/PostalCode" />
    <jb:value property="nameOfCounty" data="StateEducationAgency/Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="StateEducationAgency/Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="StateEducationAgency/Address/CountryCode" />
    <jb:value property="latitude" data="StateEducationAgency/Address/Latitude" />
    <jb:value property="longitude" data="StateEducationAgency/Address/Longitude" />
    <jb:value property="openDate" data="StateEducationAgency/Address/BeginDate" />
    <jb:value property="closeDate" data="StateEducationAgency/Address/EndDate" />
  </jb:bean>

  <jb:bean beanId="stateEducationAgency_institutionTelephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:wiring beanIdRef="stateEducationAgency_institutionTelephoneType" />
  </jb:bean>
  <jb:bean beanId="stateEducationAgency_institutionTelephoneType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:value property="institutionTelephoneNumberType" data="StateEducationAgency/Telephone/@InstitutionTelephoneNumberType" />
    <jb:value property="telephoneNumber" data="StateEducationAgency/Telephone/TelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="stateEducationAgency_accountabilityRatingsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:wiring beanIdRef="stateEducationAgency_accountabilityRatingsType" />
  </jb:bean>
  <jb:bean beanId="stateEducationAgency_accountabilityRatingsType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/StateEducationAgency">
    <jb:value property="ratingTitle" data="StateEducationAgency/AccountabilityRatings/RatingTitle" />
    <jb:value property="rating" data="StateEducationAgency/AccountabilityRatings/Rating" />
    <jb:value property="ratingDate" data="StateEducationAgency/AccountabilityRatings/RatingDate" />
    <jb:value property="ratingOrganization" data="StateEducationAgency/AccountabilityRatings/RatingOrganization" />
    <jb:value property="ratingProgram" data="StateEducationAgency/AccountabilityRatings/RatingProgram" />
  </jb:bean>

  <jb:bean beanId="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceTypeArray" class="java.util.ArrayList" createOnElement="StateEducationAgency">
    <jb:wiring beanIdRef="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/StateEducationAgency/ProgramReference">
    <jb:wiring beanIdRef="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" property="ProgramIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StateEducationAgency_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/StateEducationAgency/ProgramReference/ProgramIdentity">
    <jb:value data="StateEducationAgency/ProgramReference/ProgramIdentity/ProgramId" property="ProgramId"/>
  </jb:bean>
  <!-- End StateEducationAgency Mapping -->

  <!-- LocalEducationAgency mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:expression property="recordType">'localEducationAgency'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="localEducationAgencyMetaData" />
    <jb:wiring property="attributes" beanIdRef="localEducationOrganizationAttributes" />
  </jb:bean>

  <jb:bean beanId="localEducationAgencyMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:expression property="neutralRecordKeyValueFieldNames">'stateOrganizationId'</jb:expression>
    <jb:expression property="sliEntityType">'educationOrganization'</jb:expression>
  </jb:bean>

  <jb:bean beanId="localEducationOrganizationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:value property="stateOrganizationId" data="LocalEducationAgency/StateOrganizationId" />
    <jb:wiring property="educationOrgIdentificationCode" beanIdRef="localEducationOrganization_educationOrgIdentificationCodeTypeArray" />
    <jb:value property="nameOfInstitution" data="LocalEducationAgency/NameOfInstitution" />
    <jb:value property="shortNameOfInstitution" data="LocalEducationAgency/ShortNameOfInstitution" />
    <jb:wiring property="organizationCategories" beanIdRef="localEducationOrganization_educationOrganizationCategoryTypeArray" />
    <jb:wiring property="address" beanIdRef="localEducationOrganization_addressSchoolTypeArray" />
    <jb:wiring property="telephone" beanIdRef="localEducationOrganization_institutionTelephoneTypeArray" />
    <jb:value property="webSite" data="LocalEducationAgency/WebSite" />
    <jb:value property="operationalStatus" data="LocalEducationAgency/OperationalStatus" />
    <jb:wiring property="accountabilityRatings" beanIdRef="localEducationOrganization_accountabilityRatingsTypeArray" />
    <jb:wiring property="StateEducationAgencyReference" beanIdRef="LEA_SEA_Reference" />
    <jb:wiring beanIdRef="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceTypeArray" property="ProgramReference"/>
    <jb:value property="parentEducationAgencyReference"
      data="LocalEducationAgency/StateEducationAgencyReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:value property="LEACategory" data="LocalEducationAgency/LEACategory" />
    <jb:value property="charterStatus" data="LocalEducationAgency/CharterStatus" />
    <jb:value property="localEducationAgencyReference"
      data="LocalEducationAgency/LocalEducationAgencyReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:value property="educationServiceCenterReference"
      data="LocalEducationAgency/EducationServiceCenterReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:wiring property="LocalEducationAgencyReference"   beanIdRef="LEA_LEA_Reference" />
    <jb:wiring property="EducationServiceCenterReference" beanIdRef="LEA_ESC_Reference" />
  </jb:bean>

    <jb:bean beanId="LEA_LEA_Reference" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/LocalEducationAgencyReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="LEA_LEA_EducationalOrgIdentity" />
    </jb:bean>
    <jb:bean beanId="LEA_LEA_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/LocalEducationAgencyReference/EducationalOrgIdentity">
        <jb:value property="StateOrganizationId" data="InterchangeEducationOrganization/LocalEducationAgency/LocalEducationAgencyReference/EducationalOrgIdentity/StateOrganizationId" />
    </jb:bean>

    <jb:bean beanId="LEA_SEA_Reference" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/StateEducationAgencyReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="LEA_SEA_EducationalOrgIdentity" />
    </jb:bean>
    <jb:bean beanId="LEA_SEA_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/StateEducationAgencyReference/EducationalOrgIdentity">
        <jb:value property="StateOrganizationId" data="InterchangeEducationOrganization/LocalEducationAgency/StateEducationAgencyReference/EducationalOrgIdentity/StateOrganizationId" />
    </jb:bean>

  <jb:bean beanId="localEducationOrganization_educationOrgIdentificationCodeTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:wiring beanIdRef="localEducationOrganization_educationOrgIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="localEducationOrganization_educationOrgIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/LocalEducationAgency/EducationOrgIdentificationCode">
    <jb:value property="identificationSystem" data="EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="EducationOrgIdentificationCode/Id" />
  </jb:bean>

  <jb:bean beanId="localEducationOrganization_educationOrganizationCategoryTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:value data="LocalEducationAgency/OrganizationCategories/OrganizationCategory" />
  </jb:bean>

  <jb:bean beanId="localEducationOrganization_addressSchoolTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:wiring beanIdRef="localEducationOrganization_addressSchoolType" />
  </jb:bean>
  <jb:bean beanId="localEducationOrganization_addressSchoolType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:value property="addressType" data="LocalEducationAgency/Address/@AddressType" />
    <jb:value property="streetNumberName" data="LocalEducationAgency/Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="LocalEducationAgency/Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="LocalEducationAgency/Address/BuildingSiteNumber" />
    <jb:value property="city" data="LocalEducationAgency/Address/City" />
    <jb:value property="stateAbbreviation" data="LocalEducationAgency/Address/StateAbbreviation" />
    <jb:value property="postalCode" data="LocalEducationAgency/Address/PostalCode" />
    <jb:value property="nameOfCounty" data="LocalEducationAgency/Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="LocalEducationAgency/Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="LocalEducationAgency/Address/CountryCode" />
    <jb:value property="latitude" data="LocalEducationAgency/Address/Latitude" />
    <jb:value property="longitude" data="LocalEducationAgency/Address/Longitude" />
    <jb:value property="openDate" data="LocalEducationAgency/Address/BeginDate" />
    <jb:value property="closeDate" data="LocalEducationAgency/Address/EndDate" />
  </jb:bean>

  <jb:bean beanId="localEducationOrganization_institutionTelephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:wiring beanIdRef="localEducationOrganization_institutionTelephoneType" />
  </jb:bean>
  <jb:bean beanId="localEducationOrganization_institutionTelephoneType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:value property="institutionTelephoneNumberType" data="LocalEducationAgency/Telephone/@InstitutionTelephoneNumberType" />
    <jb:value property="telephoneNumber" data="LocalEducationAgency/Telephone/TelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="localEducationOrganization_accountabilityRatingsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:wiring beanIdRef="localEducationOrganization_accountabilityRatingsType" />
  </jb:bean>
  <jb:bean beanId="localEducationOrganization_accountabilityRatingsType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency">
    <jb:value property="ratingTitle" data="LocalEducationAgency/AccountabilityRatings/RatingTitle" />
    <jb:value property="rating" data="LocalEducationAgency/AccountabilityRatings/Rating" />
    <jb:value property="ratingDate" data="LocalEducationAgency/AccountabilityRatings/RatingDate" />
    <jb:value property="ratingOrganization" data="LocalEducationAgency/AccountabilityRatings/RatingOrganization" />
    <jb:value property="ratingProgram" data="LocalEducationAgency/AccountabilityRatings/RatingProgram" />
  </jb:bean>

  <jb:bean beanId="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceTypeArray" class="java.util.ArrayList" createOnElement="LocalEducationAgency">
    <jb:wiring beanIdRef="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/ProgramReference">
    <jb:wiring beanIdRef="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" property="ProgramIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-LocalEducationAgency_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/LocalEducationAgency/ProgramReference/ProgramIdentity">
    <jb:value data="LocalEducationAgency/ProgramReference/ProgramIdentity/ProgramId" property="ProgramId"/>
  </jb:bean>
  <!-- End LocalEducationAgency Mapping -->

  <!--  StudentSchoolAssociation Mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation">
    <jb:expression property="recordType">'studentSchoolAssociation'</jb:expression>
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes" property="attributes"/>
    <jb:wiring property="metaData" beanIdRef="StudentSchoolAssociationMetaData" />
  </jb:bean>

  <jb:bean beanId="StudentSchoolAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,SchoolReference,EntryDate'</jb:expression>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation">
    <jb:value data="StudentSchoolAssociation/EntryType" property="EntryType"/>
    <jb:value data="StudentSchoolAssociation/ClassOf" property="ClassOf"/>
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_EducationalPlansType" property="EducationalPlans"/>
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociation_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:value data="StudentSchoolAssociation/EntryDate" property="EntryDate"/>
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType" property="SchoolReference"/>
    <jb:value data="StudentSchoolAssociation/SchoolYear" property="SchoolYear"/>
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType" property="GraduationPlanReference"/>
    <jb:value data="StudentSchoolAssociation/SchoolChoiceTransfer" property="SchoolChoiceTransfer"/>
    <jb:value data="StudentSchoolAssociation/ExitWithdrawType" property="ExitWithdrawType"/>
    <jb:value data="StudentSchoolAssociation/ExitWithdrawDate" property="ExitWithdrawDate"/>
    <jb:value data="StudentSchoolAssociation/EntryGradeLevel" property="EntryGradeLevel"/>
    <jb:value data="StudentSchoolAssociation/RepeatGradeIndicator" property="RepeatGradeIndicator"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociation_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/StudentReference/StudentIdentity">
    <jb:value data="StudentSchoolAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_EducationalPlansType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/EducationalPlans">
    <jb:value data="StudentSchoolAssociation/EducationalPlans/EducationalPlan" property="EducationalPlan"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/SchoolReference">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity">
    <jb:value data="StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
   <!--
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType_EducationOrgIdentificationCodeArray" property="EducationOrgIdentificationCode"/>
  -->
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType_EducationOrgIdentificationCodeArray" class="java.util.ArrayList" createOnElement="StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType_EducationOrgIdentificationCode"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_EducationalOrgReferenceType_EducationalOrgIdentityType_EducationOrgIdentificationCode" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode">
    <jb:value data="StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode/@IdentificationSystem" property="IdentificationSystem"/>
    <jb:value data="StudentSchoolAssociation/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode/ID" property="ID"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/GraduationPlanReference">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType" property="GraduationPlanIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/GraduationPlanReference/GraduationPlanIdentity">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="StudentSchoolAssociation/GraduationPlanReference/GraduationPlanIdentity/GraduationPlanType" property="GraduationPlanType"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/GraduationPlanReference/GraduationPlanIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentSchoolAssociationExtension_Attributes_SLC-GraduationPlanReferenceType_SLC-GraduationPlanIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSchoolAssociation/GraduationPlanReference/GraduationPlanIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="StudentSchoolAssociation/GraduationPlanReference/GraduationPlanIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- Start Teacher mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:expression property="recordType">'teacher'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="teacherMetaData" />
    <jb:wiring property="attributes" beanIdRef="teacherAttributes" />
  </jb:bean>

    <jb:bean beanId="teacherMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:expression property="neutralRecordKeyValueFieldNames">'staffUniqueStateId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="teacherAttributes" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:value property="staffUniqueStateId" data="StaffUniqueStateId" />
    <jb:wiring property="staffIdentificationCode" beanIdRef="staffIdentificationCodeTypeArray" />
    <jb:wiring property="name" beanIdRef="teacherNameType" />
    <jb:wiring property="otherName" beanIdRef="teacherOtherNameTypeArray" />
    <jb:value property="sex" data="Sex" />
    <jb:value property="birthDate" data="BirthDate" />
    <jb:wiring property="address" beanIdRef="teacherAddressTypeArray" />
    <jb:wiring property="telephone" beanIdRef="teacherTelephoneTypeArray" />
    <jb:wiring property="electronicMail" beanIdRef="teacherElectronicMailTypeArray" />
    <jb:value property="hispanicLatinoEthnicity" data="HispanicLatinoEthnicity" decoder="Boolean" />
    <jb:value property="oldEthnicity" data="OldEthnicity" />
    <jb:wiring property="race" beanIdRef="teacherRaceItemTypeArray" />
    <jb:value property="highestLevelOfEducationCompleted" data="HighestLevelOfEducationCompleted" />
    <jb:value property="yearsOfPriorProfessionalExperience" data="YearsOfPriorProfessionalExperience" decoder="Integer" />
    <jb:value property="yearsOfPriorTeachingExperience" data="YearsOfPriorTeachingExperience" decoder="Integer" />
    <jb:wiring property="credentials" beanIdRef="teacherCredentialTypeArray" />
    <jb:value property="loginId" data="LoginId" />
    <jb:value property="teacherUniqueStateId" data="TeacherUniqueStateId" />
    <jb:value property="highlyQualifiedTeacher" data="HighlyQualifiedTeacher" decoder="Boolean" />
  </jb:bean>

  <jb:bean beanId="staffIdentificationCodeTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="staffIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="staffIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Teacher/StaffIdentificationCode">
    <jb:value property="identificationSystem" data="StaffIdentificationCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode" data="StaffIdentificationCode/@AssigningOrganizationCode" />
    <jb:value property="ID" data="StaffIdentificationCode/ID" />
  </jb:bean>

  <jb:bean beanId="teacherNameType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:value property="verification" data="Name/@Verification" />
    <jb:value property="personalTitlePrefix" data="Name/PersonalTitlePrefix" />
    <jb:value property="firstName" data="Name/FirstName" />
    <jb:value property="middleName" data="Name/MiddleName" />
    <jb:value property="lastSurname" data="Name/LastSurname" />
    <jb:value property="generationCodeSuffix" data="Name/GenerationCodeSuffix" />
    <jb:value property="maidenName" data="Name/MaidenName" />
  </jb:bean>

  <jb:bean beanId="teacherOtherNameTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="teacherOtherNameType" />
  </jb:bean>
  <jb:bean beanId="teacherOtherNameType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher/OtherName">
    <jb:value property="otherNameType" data="OtherName/@OtherNameType" />
    <jb:value property="personalTitlePrefix" data="OtherName/PersonalTitlePrefix" />
    <jb:value property="firstName" data="OtherName/FirstName" />
    <jb:value property="middleName" data="OtherName/MiddleName" />
    <jb:value property="lastSurname" data="OtherName/LastSurname" />
    <jb:value property="generationCodeSuffix" data="OtherName/GenerationCodeSuffix" />
  </jb:bean>

  <jb:bean beanId="teacherAddressTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="teacherAddressType" />
  </jb:bean>
  <jb:bean beanId="teacherAddressType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher/Address">
    <jb:value property="addressType" data="Address/@AddressType" />
    <jb:value property="streetNumberName" data="Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="Address/BuildingSiteNumber" />
    <jb:value property="city" data="Address/City" />
    <jb:value property="stateAbbreviation" data="Address/StateAbbreviation" />
    <jb:value property="postalCode" data="Address/PostalCode" />
    <jb:value property="nameOfCounty" data="Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="Address/CountryCode" />
    <jb:value property="latitude" data="Address/Latitude" />
    <jb:value property="longitude" data="Address/Longitude" />
    <jb:value property="openDate" data="Address/OpenDate" />
    <jb:value property="closeDate" data="Address/CloseDate" />
  </jb:bean>
  <jb:bean beanId="teacherTelephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="teacherTelephoneType" />
  </jb:bean>
  <jb:bean beanId="teacherTelephoneType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher/Telephone">
    <jb:value property="telephoneNumberType" data="Telephone/@TelephoneNumberType" />
    <jb:value property="primaryTelephoneNumberIndicator" data="Telephone/@PrimaryTelephoneNumberIndicator"
      decoder="Boolean" />
    <jb:value property="telephoneNumber" data="Telephone/TelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="teacherElectronicMailTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="teacherElectronicMailType" />
  </jb:bean>
  <jb:bean beanId="teacherElectronicMailType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher/ElectronicMail">
    <jb:value property="emailAddressType" data="ElectronicMail/@EmailAddressType" />
    <jb:value property="emailAddress" data="ElectronicMail/EmailAddress" />
  </jb:bean>

  <jb:bean beanId="teacherRaceItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:value data="Teacher/Race/RacialCategory" />
  </jb:bean>

  <jb:bean beanId="teacherCredentialTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Teacher">
    <jb:wiring beanIdRef="teacherCredentialType" />
  </jb:bean>
  <jb:bean beanId="teacherCredentialType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Teacher/Credentials">
    <jb:value property="credentialType" data="Credentials/CredentialType" />
    <jb:wiring property="credentialField" beanIdRef="teacherCredentialFieldDescriptorArray" />
    <jb:value property="level" data="Credentials/Level" />
    <jb:value property="teachingCredentialType" data="Credentials/TeachingCredentialType" />
    <jb:value property="credentialIssuanceDate" data="Credentials/CredentialIssuanceDate" />
    <jb:value property="credentialExpirationDate" data="Credentials/CredentialExpirationDate" />
    <jb:value property="teachingCredentialBasis" data="Credentials/TeachingCredentialBasis" />
  </jb:bean>

  <jb:bean beanId="teacherCredentialFieldDescriptorArray" class="java.util.ArrayList"
    createOnElement="InterchangeStaffAssociation/Teacher/Credentials/CredentialField">
    <jb:wiring beanIdRef="teacherCredentialFieldDescriptorCodeValue" />
    <jb:wiring beanIdRef="teacherCredentialFieldDescriptorDescription" />
  </jb:bean>

  <jb:bean beanId="teacherCredentialFieldDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Teacher/Credentials/CredentialField/Description">
    <jb:value property="description" data="Credentials/CredentialField/Description" />
  </jb:bean>

  <jb:bean beanId="teacherCredentialFieldDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Teacher/Credentials/CredentialField/CodeValue">
    <jb:value property="codeValue" data="Credentials/CredentialField/CodeValue" />
  </jb:bean>

  <!-- End Teacher Mapping -->

  <!-- Start Staff mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:expression property="recordType">'staff'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="staffMetaData" />
    <jb:wiring property="attributes" beanIdRef="staffAttributes" />
  </jb:bean>

  <jb:bean beanId="staffMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Staff">
    <jb:expression property="neutralRecordKeyValueFieldNames">'staffUniqueStateId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="staffAttributes" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:value property="staffUniqueStateId" data="StaffUniqueStateId" />
    <jb:wiring property="staffIdentificationCode" beanIdRef="staffIdentificationCodeTypeArray" />
    <jb:wiring property="name" beanIdRef="staffNameType" />
    <jb:wiring property="otherName" beanIdRef="staffOtherNameTypeArray" />
    <jb:value property="sex" data="Sex" />
    <jb:value property="birthDate" data="BirthDate" />
    <jb:wiring property="address" beanIdRef="staffAddressTypeArray" />
    <jb:wiring property="telephone" beanIdRef="staffTelephoneTypeArray" />
    <jb:wiring property="electronicMail" beanIdRef="staffElectronicMailTypeArray" />
    <jb:value property="hispanicLatinoEthnicity" data="HispanicLatinoEthnicity" decoder="Boolean" />
    <jb:value property="oldEthnicity" data="OldEthnicity" />
    <jb:wiring property="race" beanIdRef="staffRaceItemTypeArray" />
    <jb:value property="highestLevelOfEducationCompleted" data="HighestLevelOfEducationCompleted" />
    <jb:value property="yearsOfPriorProfessionalExperience" data="YearsOfPriorProfessionalExperience" decoder="Integer" />
    <jb:value property="yearsOfPriorTeachingExperience" data="YearsOfPriorTeachingExperience" decoder="Integer" />
    <jb:wiring property="credentials" beanIdRef="staffCredentialTypeArray" />
    <jb:value property="loginId" data="LoginId" />
  </jb:bean>

  <jb:bean beanId="staffIdentificationCodeTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="staffIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="staffIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Staff/StaffIdentificationCode">
    <jb:value property="identificationSystem" data="StaffIdentificationCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode" data="StaffIdentificationCode/@AssigningOrganizationCode" />
    <jb:value property="ID" data="StaffIdentificationCode/ID" />
  </jb:bean>

  <jb:bean beanId="staffNameType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:value property="verification" data="Name/@Verification" />
    <jb:value property="personalTitlePrefix" data="Name/PersonalTitlePrefix" />
    <jb:value property="firstName" data="Name/FirstName" />
    <jb:value property="middleName" data="Name/MiddleName" />
    <jb:value property="lastSurname" data="Name/LastSurname" />
    <jb:value property="generationCodeSuffix" data="Name/GenerationCodeSuffix" />
    <jb:value property="maidenName" data="Name/MaidenName" />
  </jb:bean>

  <jb:bean beanId="staffOtherNameTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="staffOtherNameType" />
  </jb:bean>
  <jb:bean beanId="staffOtherNameType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff/OtherName">
    <jb:value property="otherNameType" data="OtherName/@OtherNameType" />
    <jb:value property="personalTitlePrefix" data="OtherName/PersonalTitlePrefix" />
    <jb:value property="firstName" data="OtherName/FirstName" />
    <jb:value property="middleName" data="OtherName/MiddleName" />
    <jb:value property="lastSurname" data="OtherName/LastSurname" />
    <jb:value property="generationCodeSuffix" data="OtherName/GenerationCodeSuffix" />
  </jb:bean>

  <jb:bean beanId="staffAddressTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="staffAddressType" />
  </jb:bean>
  <jb:bean beanId="staffAddressType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff/Address">
    <jb:value property="addressType" data="Address/@AddressType" />
    <jb:value property="streetNumberName" data="Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="Address/BuildingSiteNumber" />
    <jb:value property="city" data="Address/City" />
    <jb:value property="stateAbbreviation" data="Address/StateAbbreviation" />
    <jb:value property="postalCode" data="Address/PostalCode" />
    <jb:value property="nameOfCounty" data="Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="Address/CountryCode" />
    <jb:value property="latitude" data="Address/Latitude" />
    <jb:value property="longitude" data="Address/Longitude" />
    <jb:value property="openDate" data="Address/OpenDate" />
    <jb:value property="closeDate" data="Address/CloseDate" />
  </jb:bean>
  <jb:bean beanId="staffTelephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="staffTelephoneType" />
  </jb:bean>
  <jb:bean beanId="staffTelephoneType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff/Telephone">
    <jb:value property="telephoneNumberType" data="Telephone/@TelephoneNumberType" />
    <jb:value property="primaryTelephoneNumberIndicator" data="Telephone/@PrimaryTelephoneNumberIndicator"
      decoder="Boolean" />
    <jb:value property="telephoneNumber" data="Telephone/TelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="staffElectronicMailTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="teacherElectronicMailType" />
  </jb:bean>
  <jb:bean beanId="staffElectronicMailType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff/ElectronicMail">
    <jb:value property="emailAddressType" data="ElectronicMail/@EmailAddressType" />
    <jb:value property="emailAddress" data="ElectronicMail/EmailAddress" />
  </jb:bean>

  <jb:bean beanId="staffRaceItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff/Race/">
    <jb:value data="Staff/Race/RacialCategory"/>
  </jb:bean>

  <jb:bean beanId="staffCredentialTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/Staff">
    <jb:wiring beanIdRef="staffCredentialType" />
  </jb:bean>
  <jb:bean beanId="staffCredentialType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/Staff/Credentials">
    <jb:value property="credentialType" data="Credentials/CredentialType" />
    <jb:wiring property="credentialField" beanIdRef="staffCredentialFieldDescriptorArray" />
    <jb:value property="level" data="Credentials/Level" />
    <jb:value property="teachingCredentialType" data="Credentials/TeachingCredentialType" />
    <jb:value property="credentialIssuanceDate" data="Credentials/CredentialIssuanceDate" />
    <jb:value property="credentialExpirationDate" data="Credentials/CredentialExpirationDate" />
    <jb:value property="teachingCredentialBasis" data="Credentials/TeachingCredentialBasis" />
  </jb:bean>

  <jb:bean beanId="staffCredentialFieldDescriptorArray" class="java.util.ArrayList"
    createOnElement="InterchangeStaffAssociation/Staff/Credentials/CredentialField">
    <jb:wiring beanIdRef="staffCredentialFieldDescriptorCodeValue" />
    <jb:wiring beanIdRef="staffCredentialFieldDescriptorDescription" />
  </jb:bean>

  <jb:bean beanId="staffCredentialFieldDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Staff/Credentials/CredentialField/Description">
    <jb:value property="description" data="Credentials/CredentialField/Description" />
  </jb:bean>

  <jb:bean beanId="staffCredentialFieldDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/Staff/Credentials/CredentialField/CodeValue">
    <jb:value property="codeValue" data="Credentials/CredentialField/CodeValue" />
  </jb:bean>

  <!-- End Staff Mapping -->

 <!-- Start Staff EdOrg Assoc mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation">
    <jb:expression property="recordType">'staffEducationOrganizationAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="staffEdOrgMetaData" />
    <jb:wiring property="attributes" beanIdRef="staffEdOrgAttributes" />
  </jb:bean>

  <jb:bean beanId="staffEdOrgMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'EducationOrganizationReference,StaffReference,staffClassification,beginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="staffEdOrgAssocLocalId" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation">
    <jb:value property="educationOrganizationReference" data="StaffEducationOrgAssignmentAssociation/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:value property="beginDate" data="StaffEducationOrgAssignmentAssociation/BeginDate" />
  </jb:bean>

  <jb:bean beanId="staffEdOrgAttributes" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation">
    <jb:wiring property="EducationOrganizationReference" beanIdRef="staffEdOrgAssoc_EdOrgReference" />
    <jb:wiring beanIdRef="SLC-StaffEducationOrgAssignmentAssociation_Attributes_SLC-StaffReferenceType" property="StaffReference"/>
    <jb:value property="staffClassification" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffClassification" />
    <jb:value property="positionTitle" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/PositionTitle" />
    <jb:value property="beginDate" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/BeginDate" />
    <jb:value property="endDate" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/EndDate" />
  </jb:bean>

  <jb:bean beanId="SLC-StaffEducationOrgAssignmentAssociation_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffReference">
    <jb:wiring beanIdRef="SLC-StaffEducationOrgAssignmentAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StaffEducationOrgAssignmentAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffReference/StaffIdentity">
    <jb:value data="StaffEducationOrgAssignmentAssociation/StaffReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="staffEdOrgAssoc_EdOrgReference" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="staffEdOrgAssoc_EdOrgReferenc_EdOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="staffEdOrgAssoc_EdOrgReferenc_EdOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="staffEdOrgAssoc_staffReference" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffReference">
    <jb:wiring property="staffIdentity" beanIdRef="staffEdOrgAssoc_staffReference_staffIdentity" />
  </jb:bean>

  <jb:bean beanId="staffEdOrgAssoc_staffReference_staffIdentity" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffReference/StaffIdentity">
    <jb:value property="staffUniqueStateId" data="InterchangeStaffAssociation/StaffEducationOrgAssignmentAssociation/StaffReference/StaffIdentity/StaffUniqueStateId" />
  </jb:bean>

  <!-- End Staff Ed Org Association -->

  <!-- Student Section Association mapping -->

  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation">
    <jb:expression property="recordType">'studentSectionAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="SSAMetaData" />
    <jb:wiring property="attributes" beanIdRef="SSAAttributes" />
  </jb:bean>

  <jb:bean beanId="SSAMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,SectionReference,beginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="SSAAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation">
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType" property="SectionReference"/>
    <jb:value property="beginDate" data="StudentSectionAssociation/BeginDate" />
    <jb:value property="endDate" data="StudentSectionAssociation/EndDate" />
    <jb:value property="homeroomIndicator" data="StudentSectionAssociation/HomeroomIndicator" decoder="Boolean" />
    <jb:value property="repeatIdentifier" data="StudentSectionAssociation/RepeatIdentifier" />
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/StudentReference/StudentIdentity">
    <jb:value data="StudentSectionAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/SectionReference">
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/SectionReference/SectionIdentity">
    <jb:value data="StudentSectionAssociation/SectionReference/SectionIdentity/UniqueSectionCode" property="UniqueSectionCode"/>
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentEnrollment/StudentSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="StudentSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- Section Mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeMasterSchedule/Section">
    <jb:expression property="recordType">'section'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="sectionMetaData" />
    <jb:wiring property="attributes" beanIdRef="sectionAttributes" />
  </jb:bean>

  <jb:bean beanId="sectionMetaData" class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/Section">
    <jb:expression property="neutralRecordKeyValueFieldNames">'SchoolReference,uniqueSectionCode'</jb:expression>
  </jb:bean>

  <jb:bean beanId="sectionAttributes" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section">

   <!-- UniqueSectionCode -->
    <jb:value property="uniqueSectionCode" data="Section/UniqueSectionCode" />

    <!--SequenceOfCourse -->
    <jb:value property="sequenceOfCourse" data="Section/SequenceOfCourse" decoder="Integer" />

    <!-- EducationalEnvironment -->
    <jb:value property="educationalEnvironment" data="Section/EducationalEnvironment" />

    <!-- MediumOfinstruction -->
    <jb:value property="mediumOfInstruction" data="Section/MediumOfInstruction" />

    <!-- PopulationServed -->
    <jb:value property="populationServed" data="Section/PopulationServed" />

    <!-- AvailableCredit -->
    <jb:wiring property="availableCredit" beanIdRef="AvailableCreditType" />

    <!-- CourseOfferingReference -->
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType" property="CourseOfferingReference"/>

    <!-- School Reference -->
    <jb:wiring property="SchoolReference" beanIdRef="section_schoolReference" />

    <!--  Session Reference -->
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-SessionReferenceType" property="SessionReference"/>

    <!-- ProgramReference -->
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-ProgramReferenceTypeArray" property="ProgramReference"/>
  </jb:bean>

    <!-- CourseOffering Reference -->
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType" property="CourseOfferingIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType" property="SessionReference"/>
    <jb:value data="Section/CourseOfferingReference/CourseOfferingIdentity/LocalCourseCode" property="LocalCourseCode"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="Section/CourseOfferingReference/CourseOfferingIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType" property="SessionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference/SessionIdentity">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference/SessionIdentity/SessionName" property="SessionName"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference/SessionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-CourseOfferingReferenceType_SLC-CourseOfferingIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="Section/CourseOfferingReference/CourseOfferingIdentity/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

    <!-- School Reference -->
    <jb:bean beanId="section_schoolReference" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SchoolReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="section_schoolReference_EducationalOrgIdentity" />
    </jb:bean>
    <jb:bean beanId="section_schoolReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SchoolReference/EducationalOrgIdentity">
        <jb:value property="StateOrganizationId" data="InterchangeMasterSchedule/Section/SchoolReference/EducationalOrgIdentity/StateOrganizationId" />
    </jb:bean>

    <!-- Session Reference -->
      <jb:bean beanId="SLC-Section_Attributes_SLC-SessionReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SessionReference">
        <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" property="SessionIdentity"/>
      </jb:bean>
      <jb:bean beanId="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SessionReference/SessionIdentity">
        <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
        <jb:value data="Section/SessionReference/SessionIdentity/SessionName" property="SessionName"/>
      </jb:bean>
      <jb:bean beanId="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SessionReference/SessionIdentity/EducationalOrgReference">
        <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
      </jb:bean>
      <jb:bean beanId="SLC-Section_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity">
        <jb:value data="Section/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
      </jb:bean>

        <!-- ProgramReferenceType -->
  <jb:bean beanId="SLC-Section_Attributes_SLC-ProgramReferenceTypeArray" class="java.util.ArrayList" createOnElement="Section">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-ProgramReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-ProgramReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/ProgramReference">
    <jb:wiring beanIdRef="SLC-Section_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" property="ProgramIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Section_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/ProgramReference/ProgramIdentity">
    <jb:value data="Section/ProgramReference/ProgramIdentity/ProgramId" property="ProgramId"/>
  </jb:bean>

  <!-- AvailableCreditsType -->
  <jb:bean beanId="AvailableCreditType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/Section/AvailableCredit">
    <jb:value property="creditType" data="Section/AvailableCredit/@CreditType" />
    <jb:value property="creditConversion" data="Section/AvailableCredit/@CreditConversion" decoder="Double" />
    <jb:value property="Credit" data="Section/AvailableCredit/Credit" decoder="Double" />
  </jb:bean>

  <!-- TeacherSectionAssociation Mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation">
    <jb:expression property="recordType">'teacherSectionAssociation'</jb:expression>
    <jb:wiring property="attributes" beanIdRef="teacherSectionAttributes" />
    <jb:wiring property="metaData" beanIdRef="teacherSectionAssociationMetaData" />
  </jb:bean>

    <jb:bean beanId="teacherSectionAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'TeacherReference,SectionReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="teacherSectionAttributes" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation">
    <jb:value property="schoolId" data="TeacherSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId"/>
    <jb:value property="courseId" data="TeacherSectionAssociation/SectionReference/SectionIdentity/LocalCourseCode" />
    <jb:value property="sessionId" data="TeacherSectionAssociation/SectionReference/SectionIdentity/SessionName" />

    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType" property="SectionReference"/>

    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-StaffReferenceType" property="TeacherReference"/>
    <jb:value property="beginDate" data="TeacherSectionAssociation/BeginDate" />
    <jb:value property="endDate" data="TeacherSectionAssociation/EndDate" />
    <jb:value property="highlyQualifiedTeacher" data="TeacherSectionAssociation/HighlyQualifiedTeacher" decoder="Boolean" />
    <jb:value property="classroomPosition" data="TeacherSectionAssociation/ClassroomPosition" />
  </jb:bean>

  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/SectionReference">
    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/SectionReference/SectionIdentity">
    <jb:value data="TeacherSectionAssociation/SectionReference/SectionIdentity/UniqueSectionCode" property="UniqueSectionCode"/>
    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="TeacherSectionAssociation/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/TeacherReference">
    <jb:wiring beanIdRef="SLC-TeacherSectionAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-TeacherSectionAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSectionAssociation/TeacherReference/StaffIdentity">
    <jb:value data="TeacherSectionAssociation/TeacherReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <!-- End of TeacherSectionAssociation Mapping -->

  <!-- TeacherSchoolAssociation Mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation">
    <jb:expression property="recordType">'teacherSchoolAssociation'</jb:expression>
    <jb:expression property="association">true</jb:expression>
    <jb:wiring property="attributes" beanIdRef="teacherSchoolAttributes" />
    <jb:wiring property="metaData" beanIdRef="teacherSchoolAssociationMetaData" />
</jb:bean>

  <jb:bean beanId="teacherSchoolAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'TeacherReference,SchoolReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="teacherSchoolAttributes" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation">

    <!-- TeacherReference -->
    <jb:wiring beanIdRef="SLC-TeacherSchoolAssociation_Attributes_SLC-StaffReferenceType" property="TeacherReference"/>

    <!-- SchoolReference -->
    <jb:wiring property="SchoolReference"   beanIdRef="SchoolReferenceMap" />

    <!-- ProgramAssignment -->
    <jb:value property="programAssignment" data="TeacherSchoolAssociation/ProgramAssignment" />

    <!-- InstructionGradeLevels -->
    <jb:wiring property="instructionalGradeLevels" beanIdRef="GradeLevelsTypeArray" />

    <!-- AcademicSubjects -->
    <jb:wiring property="academicSubjects" beanIdRef="AcademicSubjectsTypeArray" />
  </jb:bean>

   <jb:bean beanId="SchoolReferenceMap" class="java.util.HashMap" createOnElement="TeacherSchoolAssociation/SchoolReference">
    <jb:wiring property="EducationalOrgIdentity"  beanIdRef="SchoolIdentityMap" />
   </jb:bean>

   <jb:bean beanId="SchoolIdentityMap" class="java.util.HashMap" createOnElement="TeacherSchoolAssociation/SchoolReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="TeacherSchoolAssociation/SchoolReference/EducationalOrgIdentity/StateOrganizationId" />
   </jb:bean>

  <jb:bean beanId="SLC-TeacherSchoolAssociation_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation/TeacherReference">
    <jb:wiring beanIdRef="SLC-TeacherSchoolAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-TeacherSchoolAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation/TeacherReference/StaffIdentity">
    <jb:value data="TeacherSchoolAssociation/TeacherReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <!--Gravelevels -->
  <jb:bean beanId="GradeLevelsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation">
    <jb:value data="TeacherSchoolAssociation/InstructionalGradeLevels/GradeLevel" />
  </jb:bean>

  <!--AcademicSubjects -->
  <jb:bean beanId="AcademicSubjectsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStaffAssociation/TeacherSchoolAssociation">
    <jb:value data="TeacherSchoolAssociation/AcademicSubjects/AcademicSubject" />
  </jb:bean>

  <!-- Course mapping -->

  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrganization/Course">

    <!-- jb:value property="sourceId" data="" / -->
    <!-- jb:value property="jobId" data="" / -->
    <jb:expression property="recordType">'course'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="courseMetaData" />

    <!-- Use courseCode so that every instance of a same-titled course will be stored -->
    <jb:wiring property="attributes" beanIdRef="courseAttributes" />
  </jb:bean>

  <jb:bean beanId="courseMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/Course">
    <jb:expression property="neutralRecordKeyValueFieldNames">'EducationOrganizationReference,uniqueCourseId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="courseAttributes" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course">
    <jb:value property="courseTitle" data="Course/CourseTitle" />
    <jb:value property="numberOfParts" data="Course/NumberOfParts" decoder="Integer"/>
    <!-- CourseCode -->
    <jb:wiring property="courseCode" beanIdRef="courseCodeTypeArray" />
    <jb:value property="courseLevel" data="Course/CourseLevel" />
    <jb:wiring property="courseLevelCharacteristics" beanIdRef="CourseLevelCharacteristicsArray" />
    <!-- <jb:value property="gradesOffered" data="Course/GradesOffered/GradeLevel" /> -->
    <jb:wiring property="gradesOffered" beanIdRef="Course_gradesOfferedArray" />
    <jb:value property="subjectArea" data="Course/SubjectArea" />
    <jb:value property="courseDescription" data="Course/CourseDescription" />
    <jb:value property="dateCourseAdopted" data="Course/DateCourseAdopted" />
    <jb:value property="highSchoolCourseRequirement" data="Course/HighSchoolCourseRequirement" decoder="Boolean"/>
    <jb:value property="courseGPAApplicability" data="Course/CourseGPAApplicability" />
    <jb:value property="courseDefinedBy" data="Course/CourseDefinedBy" />
    <!-- MinimumAvailableCredit -->
    <jb:wiring property="minimumAvailableCredit" beanIdRef="MinimumAvailableCreditType" />
    <!-- MaximumAvilableCredit -->
    <jb:wiring property="maximumAvailableCredit" beanIdRef="MaximumAvailableCreditType" />
    <jb:value property="careerPathway" data="Course/CareerPathway" />
    <!-- EducationOrgReference reference type -->
    <jb:wiring property="EducationOrganizationReference" beanIdRef="Course_EducationOrgReference" />
    <!-- this schoolId field is added to pass validation unit test: CourseEntityTest
         the parent id is resolved correctly during ingestion -->
    <jb:value property="schoolId" data="Course/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    <!-- uniqueCourseId - simple type -->
    <jb:value property="uniqueCourseId" data="Course/UniqueCourseId" />
    <jb:wiring beanIdRef="SLC-Course_Attributes_SLC-LearningObjectiveReferenceTypeArray" property="LearningObjectiveReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-Course_Attributes_SLC-LearningObjectiveReferenceTypeArray" class="java.util.ArrayList" createOnElement="Course">
    <jb:wiring beanIdRef="SLC-Course_Attributes_SLC-LearningObjectiveReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-Course_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Course/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-Course_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Course_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Course/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="Course/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="Course/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="Course/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

  <jb:bean beanId="Course_gradesOfferedArray" class="java.util.ArrayList" createOnElement="Course/GradesOffered">
    <jb:value data="Course/GradesOffered/GradeLevel" />
  </jb:bean>

  <jb:bean beanId="courseCodeTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/Course">
    <jb:wiring beanIdRef="courseCodeType" />
  </jb:bean>
  <jb:bean beanId="courseCodeType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course/CourseCode">
    <jb:value property="ID" data="Course/CourseCode/ID" />
    <jb:value property="identificationSystem" data="Course/CourseCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode" data="Course/CourseCode/@AssigningOrganizationCode" />
  </jb:bean>

  <jb:bean beanId="CourseLevelCharacteristicsArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/Course/CourseLevelCharacteristics">
    <jb:value data="Course/CourseLevelCharacteristics/CourseLevelCharacteristic" />
  </jb:bean>

  <jb:bean beanId="MinimumAvailableCreditType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course/MinimumAvailableCredit">

    <jb:value property="credit" data="Course/MinimumAvailableCredit/Credit" decoder="Double" />
    <jb:value property="creditType" data="Course/MinimumAvailableCredit/@CreditType" />
    <jb:value property="creditConversion" data="Course/MinimumAvailableCredit/@CreditConversion" decoder="Double" />
  </jb:bean>

  <jb:bean beanId="MaximumAvailableCreditType" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course/MaximumAvailableCredit">
    <jb:value property="credit" data="Course/MaximumAvailableCredit/Credit" decoder="Double"/>
    <jb:value property="creditType" data="Course/MaximumAvailableCredit/@CreditType" />
    <jb:value property="creditConversion" data="Course/MaximumAvailableCredit/@CreditConversion" decoder="Double"/>
  </jb:bean>

  <!-- Course supporting objects: EducationOrgReference -->
  <jb:bean beanId="Course_EducationOrgReference" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="Course_EducationOrgReference_EducationalOrgIdentity" />
  </jb:bean>
  <jb:bean beanId="Course_EducationOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Course/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="Course/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <!-- ObjectiveAssessment Mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:expression property="recordType">'objectiveAssessment'</jb:expression>
    <jb:value property="localId" data="InterchangeAssessmentMetadata/ObjectiveAssessment/IdentificationCode" />
    <jb:wiring property="attributes" beanIdRef="objectiveAssessmentAttributes" />
  </jb:bean>

  <jb:bean beanId="objectiveAssessmentAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:value property="id" data="InterchangeAssessmentMetadata/ObjectiveAssessment/IdentificationCode" />
    <jb:value property="identificationCode" data="InterchangeAssessmentMetadata/ObjectiveAssessment/IdentificationCode" />
    <jb:value property="maxRawScore" data="InterchangeAssessmentMetadata/ObjectiveAssessment/MaxRawScore" decoder="Integer" />
    <jb:value property="percentOfAssessment" data="InterchangeAssessmentMetadata/ObjectiveAssessment/PercentOfAssessment" decoder="Integer"/>
    <jb:value property="nomenclature" data="InterchangeAssessmentMetadata/ObjectiveAssessment/Nomenclature" />
    <jb:wiring property="assessmentItemRefs" beanIdRef="SubObjectiveAssessmentItemReferenceTypeArray" />
    <jb:wiring property="subObjectiveRefs" beanIdRef="SubObjectiveAssessmentsArray" />
    <jb:wiring beanIdRef="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceTypeArray" property="learningObjectives"/>
  </jb:bean>

  <jb:bean beanId="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:wiring beanIdRef="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ObjectiveAssessment_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="ObjectiveAssessment/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="ObjectiveAssessment/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="ObjectiveAssessment/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

  <!-- Objective Assessments Performance Levels Type -->
  <jb:bean beanId="objectiveAssessmentPerformanceLevelTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:wiring beanIdRef="objectiveAssessmentPerformanceLevelType" />
  </jb:bean>

  <jb:bean beanId="objectiveAssessmentPerformanceLevelType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel">
    <jb:wiring property="performanceLevelDescriptor" beanIdRef="objectiveAssessmentPerformanceLevelDescriptorArray" />
    <jb:value property="assessmentReportingMethod" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/AssessmentReportingMethod" />
    <jb:value property="minimumScore" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/MinimumScore" />
    <jb:value property="maximumScore" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/MaximumScore" />
  </jb:bean>

  <jb:bean beanId="objectiveAssessmentPerformanceLevelDescriptorArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel">
    <jb:wiring beanIdRef="objectiveAssessmentPerformanceDescriptorDescription" />
    <jb:wiring beanIdRef="objectiveAssessmentPerformanceDescriptorCodeValue" />
  </jb:bean>

  <jb:bean beanId="objectiveAssessmentPerformanceDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel/CodeValue">
    <jb:value property="codeValue" data="AssessmentPerformanceLevel/PerformanceLevel/CodeValue" />
  </jb:bean>

   <jb:bean beanId="objectiveAssessmentPerformanceDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel/Description">
    <jb:value property="description" data="AssessmentPerformanceLevel/PerformanceLevel/Description" />
  </jb:bean>

  <jb:bean beanId="SubObjectiveAssessmentsArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:value data="ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
<!--    <jb:wiring beanIdRef="ObjectiveItemRef" /> -->
  </jb:bean>

  <!-- AssessmentItemReferenceType -->
  <jb:bean beanId="SubObjectiveAssessmentItemReferenceTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:wiring beanIdRef="SubObjectiveAssessmentItemReferenceType" />
  </jb:bean>
  <jb:bean beanId="SubObjectiveAssessmentItemReferenceType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentItemReference">
    <jb:value property="identificationCode" data="ObjectiveAssessment/AssessmentItemReference/AssessmentItemIdentity/AssessmentItemIdentificationCode" />
  </jb:bean>

  <!-- AssessmentItem -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/AssessmentItem">
    <jb:expression property="recordType">'assessmentItem'</jb:expression>
    <jb:wiring property="attributes" beanIdRef="assessmentItemAttributes" />
  </jb:bean>

  <jb:bean beanId="assessmentItemAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentItem">
    <jb:value property="identificationCode" data="AssessmentItem/IdentificationCode" />
    <jb:value property="itemCategory" data="AssessmentItem/ItemCategory" />
    <jb:value property="maxRawScore" decoder="Integer" data="MaxRawScore" />
    <jb:value property="correctResponse" data="CorrectResponse" />
    <jb:value property="nomenclature" data="Nomenclature" />
    <jb:wiring property="learningStandards" beanIdRef="assessmentItemLearningStandardRefsArray" />
 <!--   <jb:wiring property="assessmentReference" beanIdRef="AssessmentItem_AssessmentReferenceType" /> -->
  </jb:bean>

  <jb:bean beanId="assessmentItemLearningStandardRefsArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/AssessmentItem">
    <jb:wiring beanIdRef="assessmentItemLearningStandardRef" />
  </jb:bean>

<jb:bean beanId="assessmentItemLearningStandardRef" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentItem/LearningStandardReference">
    <jb:wiring property="LearningStandardIdentity" beanIdRef="assessmentItemLearningStandardIdentity" />
  </jb:bean>

  <jb:bean beanId="assessmentItemLearningStandardIdentity" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentItem/LearningStandardReference">
    <jb:value property="IdentificationCode" data="LearningStandardReference/LearningStandardIdentity/IdentificationCode" />
  </jb:bean>
  <!--
  <jb:bean beanId="AssessmentItem_AssessmentReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentItem/AssessmentReference">
    <jb:wiring beanIdRef="AssessmentItem_AssessmentReferenceType_AssessmentIdentityType" property="AssessmentIdentity"/>
  </jb:bean>
  <jb:bean beanId="AssessmentItem_AssessmentReferenceType_AssessmentIdentityType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentItem/AssessmentReference/AssessmentIdentity">
    <jb:value data="AssessmentIdentity/GradeLevelAssessed" property="GradeLevelAssessed"/>
    <jb:value data="AssessmentIdentity/Version" property="Version" decoder="Integer"/>
    <jb:value data="AssessmentIdentity/AcademicSubject" property="AcademicSubject"/>
    <jb:value data="AssessmentIdentity/AssessmentTitle" property="AssessmentTitle"/>
  </jb:bean>
  -->

  <!-- StudentAssessmentItem -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:expression property="recordType">'studentAssessmentItem'</jb:expression>
    <jb:wiring property="attributes" beanIdRef="studentAssItemAttributes" />
    <jb:wiring property="localParentIds" beanIdRef="studentAssItemParentIds" />
  </jb:bean>

  <jb:bean beanId="studentAssItemAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:value property="assessmentResponse" data="StudentAssessmentItem/AssessmentResponse" />
    <jb:value property="responseIndicator" data="StudentAssessmentItem/ResponseIndicator" />
    <jb:value property="assessmentItemResult" data="StudentAssessmentItem/AssessmentItemResult" />
    <jb:value property="rawScoreResult" data="StudentAssessmentItem/RawScoreResult" decoder="Integer" />
  </jb:bean>

  <jb:bean beanId="studentAssItemParentIds" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:wiring property="studentAssessmentReference" beanIdRef="studentAssessmentItem_studentAssessmentReference" />
    <jb:value property="assessmentItemIdentificatonCode" data="StudentAssessmentItem/AssessmentItemReference/AssessmentItemIdentity/AssessmentItemIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentItem_studentAssessmentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:value property="administrationDate" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/AdministrationDate" />
    <jb:wiring property="studentReference" beanIdRef="studentAssessmentItem_studentReference" />
    <jb:wiring property="assessmentReference" beanIdRef="studentAssessmentItem_assessmentReference" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentItem_studentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:value property="studentUniqueStateId" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentItem_assessmentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessmentItem">
    <jb:value property="assessmentTitle" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AssessmentTitle" />
    <jb:value property="academicSubject" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AcademicSubject" />
    <jb:value property="gradeLevelAssessed" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/GradeLevelAssessed" />
    <jb:value property="version" data="StudentAssessmentItem/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/Version" decoder="Integer"/>
  </jb:bean>
  <!-- End of ObjectiveAssessment Mapping -->

    <!-- LearningObjective mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/LearningObjective">
    <jb:expression property="recordType">'learningObjective'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="learningObjectiveMetaData" />
    <jb:wiring property="attributes" beanIdRef="learningObjectiveAttributes" />
  </jb:bean>

 <jb:bean beanId="learningObjectiveMetaData" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/LearningObjective">
    <jb:expression property="neutralRecordKeyValueFieldNames">'objective,academicSubject,objectiveGradeLevel'</jb:expression>
  </jb:bean>

  <jb:bean beanId="learningObjectiveAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective">
    <jb:wiring property="learningObjectiveId" beanIdRef="learningObjectiveIdRef" />
    <jb:value property="objective" data="LearningObjective/Objective" />
    <jb:value property="description" data="LearningObjective/Description" />
    <jb:value property="academicSubject" data="LearningObjective/AcademicSubject" />
    <jb:value property="objectiveGradeLevel" data="LearningObjective/ObjectiveGradeLevel" />
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceTypeArray" property="LearningStandardReference"/>
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceTypeArray" property="learningObjectiveRefs"/>
  </jb:bean>

  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceTypeArray" class="java.util.ArrayList" createOnElement="LearningObjective">
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType"/>
  </jb:bean>

  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective/LearningStandardReference">
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType_SLC-LearningStandardIdentityType" property="LearningStandardIdentity"/>
  </jb:bean>

  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType_SLC-LearningStandardIdentityType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective/LearningStandardReference/LearningStandardIdentity">
    <jb:value data="LearningObjective/LearningStandardReference/LearningStandardIdentity/IdentificationCode" property="IdentificationCode"/>
  </jb:bean>

  <jb:bean beanId="learningObjectiveIdRef" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective/LearningObjectiveId">
    <jb:value property="identificationCode" data="LearningObjective/LearningObjectiveId/IdentificationCode" />
    <jb:value property="contentStandardName" data="LearningObjective/LearningObjectiveId/@ContentStandardName" />
  </jb:bean>

  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/LearningObjective">
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType"/>
  </jb:bean>

  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

<!-- LearningObjective for interchangeStudentGrade -->
<jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentGrade/LearningObjective">
    <jb:expression property="recordType">'learningObjective'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="learningObjectiveMetaDataSGLO" />
    <jb:wiring property="attributes" beanIdRef="learningObjectiveAttributesSGLO" />
  </jb:bean>

  <jb:bean beanId="learningObjectiveMetaDataSGLO" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/LearningObjective">
    <jb:expression property="neutralRecordKeyValueFieldNames">'objective,academicSubject,objectiveGradeLevel'</jb:expression>
  </jb:bean>

  <jb:bean beanId="learningObjectiveAttributesSGLO" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective">
    <jb:wiring property="learningObjectiveId" beanIdRef="learningObjectiveIdRefSGLO" />
    <jb:value property="objective" data="InterchangeStudentGrade/LearningObjective/Objective" />
    <jb:value property="description" data="InterchangeStudentGrade/LearningObjective/Description" />
    <jb:value property="academicSubject" data="InterchangeStudentGrade/LearningObjective/AcademicSubject" />
    <jb:value property="objectiveGradeLevel" data="InterchangeStudentGrade/LearningObjective/ObjectiveGradeLevel" />
    <jb:wiring property="LearningStandardReference" beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceTypeArray" />
    <jb:wiring beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceTypeArray" property="learningObjectiveRefs"/>
  </jb:bean>

  <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/LearningObjective">
    <jb:wiring beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType" />
  </jb:bean>

  <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective/LearningObjectiveReference">
    <jb:wiring beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="LearningObjective/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

 <jb:bean beanId="learningObjectiveIdRefSGLO" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective/LearningObjectiveId">
    <jb:value property="identificationCode" data="InterchangeStudentGrade/LearningObjective/LearningObjectiveId/IdentificationCode" />
    <jb:value property="contentStandardName" data="InterchangeStudentGrade/LearningObjective/LearningObjectiveId/IdentificationCode/@ContentStandardName" />
  </jb:bean>

    <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/LearningObjective">
    <jb:wiring beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType"/>
  </jb:bean>

  <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective/LearningStandardReference">
    <jb:wiring beanIdRef="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType_SLC-LearningStandardIdentityType" property="LearningStandardIdentity"/>
  </jb:bean>

  <jb:bean beanId="SG_SLC-LearningObjective_Attributes_SLC-LearningStandardReferenceType_SLC-LearningStandardIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningObjective/LearningStandardReference/LearningStandardIdentity">
    <jb:value data="LearningObjective/LearningStandardReference/LearningStandardIdentity/IdentificationCode" property="IdentificationCode"/>
  </jb:bean>

  <jb:bean beanId="learningStandardRefIdRefSGLO" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/LearningStandardReference/LearningStandardIdentity/LearningStandardId">
    <jb:value property="identificationCode"  data="InterchangeStudentGrade/LearningStandardId/IdentificationCode" />
    <jb:value property="contentStandardName" data="InterchangeStudentGrade/LearningStandardId/@ContentStandardName" />
  </jb:bean>

  <!-- Learning Standard mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="LearningStandard">
    <jb:expression property="recordType">'learningStandard'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="learningStandardMetaData" />
    <jb:wiring property="attributes" beanIdRef="learningStandardAttributes" />
  </jb:bean>

  <jb:bean beanId="learningStandardMetaData" class="java.util.HashMap"
    createOnElement="LearningStandard">
    <jb:expression property="neutralRecordKeyValueFieldNames">'learningStandardId.identificationCode'</jb:expression>
  </jb:bean>

  <jb:bean beanId="learningStandardAttributes" class="java.util.HashMap" createOnElement="LearningStandard">
    <jb:wiring property="learningStandardId" beanIdRef="LearningStandardId"/>
    <jb:value property="description" data="Description"></jb:value>
    <jb:value property="contentStandard" data="ContentStandard"></jb:value>
    <jb:value property="gradeLevel" data="GradeLevel"></jb:value>
    <jb:value property="subjectArea" data="SubjectArea"></jb:value>
    <jb:value property="courseTitle" data="CourseTitle"></jb:value>
  </jb:bean>

   <jb:bean beanId="LearningStandardId" class="java.util.HashMap" createOnElement="LearningStandard">
    <jb:value property="identificationCode" data="LearningStandardId/IdentificationCode"></jb:value>
    <jb:value property="contentStandardName" data="LearningStandardId/@ContentStandardName"></jb:value>
  </jb:bean>

  <!-- ObjectiveAssessmentReferenceType -->
  <jb:bean beanId="ObjectiveAssessmentReferenceTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:wiring beanIdRef="ObjectiveAssessmentReferenceType" />
  </jb:bean>
  <jb:bean beanId="ObjectiveAssessmentReferenceType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/ObjectiveAssessmentReference">
    <jb:value property="id" data="ObjectiveAssessment/ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
    <jb:value property="ref" data="ObjectiveAssessment/ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
  </jb:bean>

  <!-- AssessmentPerformanceLevelsType -->
  <jb:bean beanId="assessmentPerformanceLevelTypeArrayOA" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment">
    <jb:wiring beanIdRef="assessmentPerformanceLevelTypeOA" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceLevelTypeOA" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel">
    <jb:wiring property="performanceLevelDescriptor" beanIdRef="assessmentPerformanceLevelDescriptorArrayOA" />
    <jb:value property="assessmentReportingMethod" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/AssessmentReportingMethod" />
    <jb:value property="minimumScore" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/MinimumScore" />
    <jb:value property="maximumScore" data="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/MaximumScore" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceLevelDescriptorArrayOA" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel">
    <jb:wiring beanIdRef="assessmentPerformanceDescriptorCodeValueOA" />
    <jb:wiring beanIdRef="assessmentPerformanceDescriptorDescriptionOA" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceDescriptorCodeValueOA" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel/CodeValue">
    <jb:value property="codeValue" data="AssessmentPerformanceLevel/PerformanceLevel/CodeValue" />
  </jb:bean>

   <jb:bean beanId="assessmentPerformanceDescriptorDescriptionOA" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/ObjectiveAssessment/AssessmentPerformanceLevel/PerformanceLevel/Description">
    <jb:value property="description" data="AssessmentPerformanceLevel/PerformanceLevel/Description" />
  </jb:bean>

  <!-- AssessmentPeriodDescriptorType -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/AssessmentPeriodDescriptor">
    <jb:expression property="recordType">'assessmentPeriodDescriptor'</jb:expression>
    <jb:value property="localId" data="InterchangeAssessmentMetadata/AssessmentPeriodDescriptor/CodeValue" />
    <jb:wiring property="attributes" beanIdRef="assessmentPeriodDescriptorAttributes" />
  </jb:bean>

  <jb:bean beanId="assessmentPeriodDescriptorAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentPeriodDescriptor">
    <jb:value property="codeValue" data="AssessmentPeriodDescriptor/CodeValue" />
    <jb:value property="description" data="AssessmentPeriodDescriptor/Description" />
    <jb:value property="shortDescription" data="AssessmentPeriodDescriptor/ShortDescription" />
    <jb:value property="beginDate" data="AssessmentPeriodDescriptor/BeginDate" />
    <jb:value property="endDate" data="AssessmentPeriodDescriptor/EndDate" />
  </jb:bean>

  <!-- Assessment mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:expression property="recordType">'assessment'</jb:expression>
    <jb:value property="localId" data="InterchangeAssessmentMetadata/Assessment/AssessmentIdentificationCode/ID" />
    <jb:wiring property="attributes" beanIdRef="assessmentAttributes" />
  </jb:bean>

  <jb:bean beanId="assessmentAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:value property="assessmentTitle" data="Assessment/AssessmentTitle" />
    <jb:wiring property="assessmentIdentificationCode" beanIdRef="assessmentIdentificationCodeTypeArray" />
    <jb:value property="assessmentCategory" data="Assessment/AssessmentCategory" />
    <jb:value property="academicSubject" data="Assessment/AcademicSubject" />
    <jb:value property="gradeLevelAssessed" data="Assessment/GradeLevelAssessed" />
    <jb:value property="lowestGradeLevelAssessed" data="Assessment/LowestGradeLevelAssessed" />
    <jb:wiring property="assessmentPerformanceLevel" beanIdRef="assessmentPerformanceLevelTypeArray" />
    <jb:value property="contentStandard" data="Assessment/ContentStandard" />
    <jb:value property="assessmentForm" data="Assessment/AssessmentForm" />
    <jb:value property="version" data="Assessment/Version" decoder="Integer" />
    <jb:value property="revisionDate" data="Assessment/RevisionDate" />
    <jb:value property="maxRawScore" data="Assessment/MaxRawScore" decoder="Integer" />
    <jb:value property="nomenclature" data="Assessment/Nomenclature" />
    <jb:value property="parentAssessmentFamilyTitle" data="Assessment/AssessmentFamilyReference/AssessmentFamilyIdentity/AssessmentFamilyTitle"/>
    <jb:value property="periodDescriptorRef" data="Assessment/AssessmentPeriod/CodeValue"/>
    <jb:wiring property="assessmentItem" beanIdRef="AssessmentItemArrayResolvedReferences" />
    <jb:wiring property="objectiveAssessmentRefs" beanIdRef="objectiveAssessmentRefs" />
  </jb:bean>

  <jb:bean beanId="AssessmentItemArrayResolvedReferences" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:wiring beanIdRef="AssessmentItemResolvedReference" />
  </jb:bean>

  <jb:bean beanId="AssessmentItemResolvedReference" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentItemReference">
    <jb:value property="identificationCode" data="InterchangeAssessmentMetadata/Assessment/AssessmentItemReference/AssessmentItemIdentity/AssessmentItemIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="AssessmentItemLearningStandardResolvedReferencesArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentItemReference">
    <jb:wiring beanIdRef="AssessmentItemLearningStandardReferenceType" />
  </jb:bean>

  <jb:bean beanId="AssessmentItemLearningStandardReferenceType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentItemReference/AssessmentItem/LearningStandardReference">
    <jb:wiring property="LearningStandardIdentity" beanIdRef="AssessmentItemLearningStandardIdentityType" />
  </jb:bean>

  <jb:bean beanId="AssessmentItemLearningStandardIdentityType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentItemReference/AssessmentItem/LearningStandardReference">
    <jb:value property="IdentificationCode" data="LearningStandardReference/LearningStandardIdentity/IdentificationCode" />
  </jb:bean>

  <jb:bean beanId="objectiveAssessmentRefs" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:value data="Assessment/ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode"></jb:value>
  </jb:bean>

  <jb:bean beanId="assessmentIdentificationCodeTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentIdentificationCode">
    <jb:wiring beanIdRef="assessmentIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="assessmentIdentificationCodeType" class="java.util.HashMap"
    createOnElement="AssessmentIdentificationCode">
    <jb:value property="identificationSystem"
      data="AssessmentIdentificationCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode"
      data="AssessmentIdentificationCode/@AssigningOrganizationCode" />
    <jb:value property="ID" data="AssessmentIdentificationCode/ID" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceLevelTypeArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:wiring beanIdRef="assessmentPerformanceLevelType" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceLevelType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel">
    <jb:wiring property="performanceLevelDescriptor" beanIdRef="assessmentPerformanceLevelDescriptorArray" />
    <jb:value property="assessmentReportingMethod"
      data="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/AssessmentReportingMethod" />
    <jb:value property="minimumScore" data="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/MinimumScore"
      decoder="Integer"/>
    <jb:value property="maximumScore" data="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/MaximumScore"
      decoder="Integer"/>
  </jb:bean>

   <jb:bean beanId="assessmentPerformanceLevelDescriptorArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/PerformanceLevel">
    <jb:wiring beanIdRef="assessmentPerformanceDescriptorCodeValue" />
    <jb:wiring beanIdRef="assessmentPerformanceDescriptorDescription" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/PerformanceLevel/Description">
    <jb:value property="description" data="AssessmentPerformanceLevel/PerformanceLevel/Description" />
  </jb:bean>

  <jb:bean beanId="assessmentPerformanceDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPerformanceLevel/PerformanceLevel/CodeValue">
    <jb:value property="codeValue" data="AssessmentPerformanceLevel/PerformanceLevel/CodeValue" />
  </jb:bean>

  <jb:bean beanId="assessmentPeriodType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPeriod">
    <jb:wiring property="codeValues" beanIdRef="codeValueChoiceArray" />
    <jb:wiring property="shortDescriptions" beanIdRef="shortDescriptionChoiceArray" />
    <jb:wiring property="descriptions" beanIdRef="descriptionChoiceArray" />
  </jb:bean>
  <jb:bean beanId="codeValueChoiceArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPeriod">
    <jb:value data="Assessment/AssessmentPeriod/CodeValue" />
  </jb:bean>
  <jb:bean beanId="shortDescriptionChoiceArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPeriod">
    <jb:value data="Assessment/AssessmentPeriod/ShortDescription" />
  </jb:bean>
  <jb:bean beanId="descriptionChoiceArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment/AssessmentPeriod">
    <jb:value data="Assessment/AssessmentPeriod/Description" />
  </jb:bean>

  <!-- JWC - remove??? -->
  <jb:bean beanId="objectiveAssessmentReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:wiring beanIdRef="objectiveAssessmentReferenceType" />
  </jb:bean>
  <jb:bean beanId="objectiveAssessmentReferenceType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/ObjectiveAssessmentReference">
    <jb:value property="id" data="ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
    <jb:value property="ref" data="ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="assessmentFamilyReferenceType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/">
    <jb:wiring property="assessmentFamilyIdentity" beanIdRef="assessmentFamilyIdentityType" />
  </jb:bean>
  <jb:bean beanId="assessmentFamilyIdentityType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:value property="assessmentFamilyTitle" data="Assessment/AssessmentFamilyReference/AssessmentFamilyIdentity/AssessmentFamilyTitle" />
  </jb:bean>
  <jb:bean beanId="sectionReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeAssessmentMetadata/Assessment">
    <jb:wiring beanIdRef="sectionReferenceType" />
  </jb:bean>
  <jb:bean beanId="sectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/Assessment/SectionReference">
    <jb:wiring property="sectionIdentity" beanIdRef="sectionIdentityType" />
  </jb:bean>
  <jb:bean beanId="sectionIdentityType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity">
    <jb:value property="stateOrganizationId"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:wiring property="educationOrgIdentificationCodes" beanIdRef="educationOrgIdentificationCodeTypeArray" />
    <jb:value property="uniqueSectionCode"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/UniqueSectionCode" />
    <jb:wiring property="courseCode" beanIdRef="courseCodeType" />
    <jb:value property="localCourseCode"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/LocalCourseCode" />
    <jb:value property="schoolYear" data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/SchoolYear" />
    <jb:value property="term" data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/Term" />
    <jb:value property="classPeriodName"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/ClassPeriodName" />
    <jb:value property="location" data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/Location" />
  </jb:bean>
  <jb:bean beanId="educationOrgIdentificationCodeTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity">
    <jb:wiring beanIdRef="educationOrgIdentificationCodeType" />
  </jb:bean>
  <jb:bean beanId="educationOrgIdentificationCodeType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/EducationOrgIdentificationCode">
    <jb:value property="identificationSystem"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="id"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/EducationOrgIdentificationCode/ID" />
  </jb:bean>
  <jb:bean beanId="courseCodeType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/CourseCode">
    <jb:value property="identificationSystem"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/CourseCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/CourseCode/@AssigningOrganizationCode" />
    <jb:value property="id"
      data="InterchangeAssessmentMetadata/Assessment/SectionReference/SectionIdentity/CourseCode/ID" />
  </jb:bean>
  <!-- End Assessment -->

  <!-- Session mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrgCalendar/Session">
    <jb:expression property="recordType">'session'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="sessionMetaData" />
    <jb:wiring property="attributes" beanIdRef="sessionAttributes" />
  </jb:bean>

  <jb:bean beanId="sessionMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrgCalendar/Session">
    <jb:expression property="neutralRecordKeyValueFieldNames">'EducationOrganizationReference,sessionName'</jb:expression>
  </jb:bean>

  <jb:bean beanId="sessionAttributes" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session">
    <jb:value property="sessionName" data="Session/SessionName" />
    <jb:value property="schoolYear" data="Session/SchoolYear" />
    <jb:value property="term" data="Session/Term" />
    <jb:value property="beginDate" data="Session/BeginDate" />
    <jb:value property="endDate" data="Session/EndDate" />
    <jb:value property="totalInstructionalDays" data="Session/TotalInstructionalDays" decoder="Integer" />
    <jb:value property="schoolId" data="Session/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId"/>
    <jb:wiring property="EducationOrganizationReference" beanIdRef="Session_EducationOrganizationReference"/>
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-GradingPeriodReferenceTypeArray" property="GradingPeriodReference"/>
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-EducationalOrgReferenceType" property="EducationOrganizationReference"/>
  </jb:bean>

    <jb:bean beanId="Session_EducationOrganizationReference" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/EducationOrganizationReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="Session_EducationOrganizationReference_EducationalOrgIdentity" />
    </jb:bean>
    <jb:bean beanId="Session_EducationOrganizationReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/EducationOrganizationReference/EducationalOrgIdentity">
        <jb:value property="StateOrganizationId" data="InterchangeEducationOrgCalendar/Session/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    </jb:bean>

  <jb:bean beanId="SLC-Session_Attributes_SLC-GradingPeriodReferenceTypeArray" class="java.util.ArrayList" createOnElement="Session">
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-GradingPeriodReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-Session_Attributes_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="Session/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="Session/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
  </jb:bean>
  <jb:bean beanId="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Session_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="Session/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="SLC-Session_Attributes_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/EducationOrganizationReference">
    <jb:wiring beanIdRef="SLC-Session_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Session_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/Session/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value data="Session/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="session_gradingPeriod_educationalOrgIdentity_array" class="java.util.ArrayList"
           createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference">
        <jb:wiring beanIdRef="session_gradingPeriod_educationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="session_gradingPeriod_educationalOrgIdentity" class="java.util.HashMap"
           createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference">
        <jb:value property="stateOrganizationId" data="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/StateOrganizationId" />
        <jb:wiring property="educationOrgIdentificationCode" beanIdRef="session_gradingPeriod_educationalOrgIdentificationCode_Array" />
  </jb:bean>

  <jb:bean beanId="session_gradingPeriod_educationalOrgIdentificationCode_Array" class="java.util.ArrayList"
           createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode" >
    <jb:wiring beanIdRef="session_gradingPeriod_educationalOrgIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="session_gradingPeriod_educationalOrgIdentificationCode" class="java.util.HashMap"
           createOnElement="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode">
    <jb:value property="ID" data="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode/ID" />
    <jb:value property="IdentificationSystem" data="InterchangeEducationOrgCalendar/Session/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode/IdentificationSystem" />
  </jb:bean>

  <!-- Assessment family mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">
    <jb:expression property="recordType">'assessmentFamily'</jb:expression>
    <jb:value property="localId" data="AssessmentFamily/AssessmentFamilyTitle" />
    <jb:wiring property="attributes" beanIdRef="AssessmentFamilyAttributes" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamilyAttributes" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">

    <jb:value property="AssessmentFamilyTitle" data="AssessmentFamily/AssessmentFamilyTitle" />
    <jb:wiring property="AssessmentFamilyIdentificationCode" beanIdRef="AssessmentFamily_AssessmentIdentificationCodeArray" />
    <jb:value property="AssessmentCategory" data="AssessmentFamily/AssessmentCategory" />
    <jb:value property="AcademicSubject" data="AssessmentFamily/AcademicSubject" />
    <jb:value property="GradeLevelAssessed" data="AssessmentFamily/GradeLevelAssessed" />
    <jb:value property="LowestGradeLevelAssessed" data="AssessmentFamily/LowestGradeLevelAssessed" />
    <jb:value property="ContentStandard" data="AssessmentFamily/ContentStandard" />
    <jb:value property="Version" data="AssessmentFamily/Version" />
    <jb:value property="RevisionDate" data="AssessmentFamily/RevisionDate" />
    <jb:value property="Nomenclature" data="AssessmentFamily/Nomenclature" />
    <jb:wiring property="AssessmentPeriods" beanIdRef="AssessmentFamily_AssessmentPeriodArray" />
    <jb:value property="parentAssessmentFamilyTitle" data="AssessmentFamily/AssessmentFamilyReference/AssessmentFamilyIdentity/AssessmentFamilyTitle"/>
  </jb:bean>

  <jb:bean beanId="AssessmentFamily_AssessmentIdentificationCodeArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">
    <jb:wiring beanIdRef="AssessmentFamily_AssessmentIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamily_AssessmentIdentificationCode" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentFamilyIdentificationCode">
    <jb:value property="ID" data="AssessmentFamily/AssessmentFamilyIdentificationCode/ID" />
    <jb:value property="IdentificationSystem" data="AssessmentFamily/AssessmentFamilyIdentificationCode/@IdentificationSystem" />
    <jb:value property="AssigningOrganizationCode" data="AssessmentFamily/AssessmentFamilyIdentificationCode/@AssigningOrganizationCode" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamily_AssessmentPeriodArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">
    <jb:wiring beanIdRef="AssessmentFamily_AssessmentPeriodType" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamily_AssessmentPeriodType" class="java.util.HashMap"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods">
    <jb:wiring property="CodeValues" beanIdRef="AssessmentFamily_CodeValueChoiceArray" />
    <jb:wiring property="ShortDescriptions" beanIdRef="AssessmentFamily_ShortDescriptionChoiceArray" />
    <jb:wiring property="Descriptions" beanIdRef="AssessmentFamily_DescriptionChoiceArray" />
  </jb:bean>
  <jb:bean beanId="AssessmentFamily_CodeValueChoiceArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods">
    <jb:value data="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods/CodeValue" />
  </jb:bean>
  <jb:bean beanId="AssessmentFamily_ShortDescriptionChoiceArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods">
    <jb:value data="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods/ShortDescription" />
  </jb:bean>
  <jb:bean beanId="AssessmentFamily_DescriptionChoiceArray" class="java.util.ArrayList"
    createOnElement="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods">
    <jb:value data="InterchangeAssessmentMetadata/AssessmentFamily/AssessmentPeriods" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamilyReferenceType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">
    <jb:wiring property="AssessmentFamilyIdentity" beanIdRef="AssessmentFamilyIdentityType" />
  </jb:bean>

  <jb:bean beanId="AssessmentFamilyIdentityType" class="java.util.HashMap" createOnElement="InterchangeAssessmentMetadata/AssessmentFamily">
    <jb:value property="AssessmentFamilyTitle"
      data="AssessmentFamily/AssessmentFamilyReference/AssessmentFamilyIdentity/AssessmentFamilyTitle" />
  </jb:bean>

  <!-- studentObjectiveAssessment -->

  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:expression property="recordType">'studentObjectiveAssessment'</jb:expression>
    <jb:wiring property="attributes" beanIdRef="studentObjectiveAssessmentAttributes" />
  </jb:bean>

  <jb:bean beanId="studentObjectiveAssessmentAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:wiring property="scoreResults" beanIdRef="ScoreResultsTypeArray" />
    <jb:wiring property="performanceLevelDescriptors" beanIdRef="SOAperformanceLevelDescriptorsArray" />
    <jb:value property="objectiveAssessmentRef" data="StudentObjectiveAssessment/ObjectiveAssessmentReference/ObjectiveAssessmentIdentity/ObjectiveAssessmentIdentificationCode" />
    <jb:wiring property="studentAssessmentReference" beanIdRef="studentObjectiveAssessment_studentAssessmentReference" />
  </jb:bean>

  <jb:bean beanId="studentObjectiveAssessment_studentAssessmentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:value property="administrationDate" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AdministrationDate" />
    <jb:wiring property="studentReference" beanIdRef="studentObjectiveAssessment_studentReference" />
    <jb:wiring property="assessmentReference" beanIdRef="studentObjectiveAssessment_assessmentReference" />
  </jb:bean>

  <jb:bean beanId="studentObjectiveAssessment_studentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:value property="studentUniqueStateId" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" />
  </jb:bean>

  <jb:bean beanId="studentObjectiveAssessment_assessmentReference" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:value property="identificationSystem" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AssessmentIdentificationCode/@IdentificationSystem" />
    <jb:value property="id" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AssessmentIdentificationCode/ID" />
    <jb:value property="assessmentTitle" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AssessmentTitle" />
    <jb:value property="academicSubject" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/AcademicSubject" />
    <jb:value property="gradeLevelAssessed" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/GradeLevelAssessed" />
    <jb:value property="version" data="StudentObjectiveAssessment/StudentAssessmentReference/StudentAssessmentIdentity/AssessmentReference/AssessmentIdentity/Version" decoder="Integer" />
  </jb:bean>

  <jb:bean beanId="ScoreResultsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:wiring beanIdRef="ScoreResults" />
  </jb:bean>

  <jb:bean beanId="ScoreResults" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:value property="assessmentReportingMethod" data="StudentObjectiveAssessment/ScoreResults/@AssessmentReportingMethod" />
    <jb:value property="result" data="StudentObjectiveAssessment/ScoreResults/Result" />
  </jb:bean>

  <jb:bean beanId="SOAperformanceLevelsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:wiring beanIdRef="SOAperformanceLevelsTypeArrayIntermediate" />
  </jb:bean>

  <jb:bean beanId="SOAperformanceLevelsTypeArrayIntermediate" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment">
    <jb:wiring beanIdRef="SOAPerformanceDescriptorCodeValue" />
    <jb:wiring beanIdRef="SOAPerformanceDescriptorDescription" />
  </jb:bean>

  <jb:bean beanId="SOAPerformanceDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment/PerformanceLevels/Description">
    <jb:value property="description" data="PerformanceLevels/Description" />
  </jb:bean>

  <jb:bean beanId="SOAPerformanceDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentObjectiveAssessment/PerformanceLevels/CodeValue">
    <jb:value property="codeValue" data="PerformanceLevels/CodeValue" />
  </jb:bean>

  <!-- end of studentObjectiveAssessment -->

  <!-- StudentAssessment mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:expression property="recordType">'studentAssessment'</jb:expression>
    <jb:wiring property="attributes" beanIdRef="studentAssessmentAttributes" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring beanIdRef="SLC-StudentAssessment_Attributes_SLC-StudentReferenceType" property="studentId"/>
<!--     <jb:wiring property="assessmentId" beanIdRef="assessmentReferenceType" /> -->
    <jb:wiring beanIdRef="SLC-StudentAssessment_Attributes_SLC-AssessmentReferenceType" property="assessmentId"/>
    <jb:value property="administrationDate" data="InterchangeStudentAssessment/StudentAssessment/AdministrationDate" />
    <jb:value property="administrationEndDate" data="InterchangeStudentAssessment/StudentAssessment/AdministrationEndDate" />
    <jb:value property="serialNumber" data="InterchangeStudentAssessment/StudentAssessment/SerialNumber" />
    <jb:value property="administrationLanguage" data="InterchangeStudentAssessment/StudentAssessment/AdministrationLanguage" />
    <jb:value property="administrationEnvironment" data="InterchangeStudentAssessment/StudentAssessment/AdministrationEnvironment" />
    <jb:wiring property="specialAccommodations" beanIdRef="specialAccommodationsTypeArray" />
    <jb:wiring property="linguisticAccommodations" beanIdRef="linguisticAccommodationsTypeArray" />
    <jb:value property="retestIndicator" data="InterchangeStudentAssessment/StudentAssessment/RetestIndicator" />
    <jb:value property="reasonNotTested" data="InterchangeStudentAssessment/StudentAssessment/ReasonNotTested" />
    <jb:wiring property="scoreResults" beanIdRef="scoreResultsArray" />
    <jb:value property="gradeLevelWhenAssessed" data="InterchangeStudentAssessment/StudentAssessment/GradeLevelWhenAssessed" />
    <jb:wiring property="performanceLevelDescriptors" beanIdRef="performanceLevelsTypeArray" />
  </jb:bean>

  <jb:bean beanId="SLC-StudentAssessment_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentAssessment_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAssessment_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity">
    <jb:value data="StudentAssessment/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentAssessment_Attributes_SLC-AssessmentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/AssessmentReference">
    <jb:wiring beanIdRef="SLC-StudentAssessment_Attributes_SLC-AssessmentReferenceType_SLC-AssessmentIdentityType" property="AssessmentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAssessment_Attributes_SLC-AssessmentReferenceType_SLC-AssessmentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity">
    <jb:value data="StudentAssessment/AssessmentReference/AssessmentIdentity/GradeLevelAssessed" property="GradeLevelAssessed"/>
    <jb:value data="StudentAssessment/AssessmentReference/AssessmentIdentity/Version" property="Version" decoder="Integer"/>
    <jb:value data="StudentAssessment/AssessmentReference/AssessmentIdentity/AcademicSubject" property="AcademicSubject"/>
    <jb:value data="StudentAssessment/AssessmentReference/AssessmentIdentity/AssessmentTitle" property="AssessmentTitle"/>
  </jb:bean>

  <jb:bean beanId="specialAccommodationsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:value data="InterchangeStudentAssessment/StudentAssessment/SpecialAccommodations/SpecialAccommodation" />
  </jb:bean>

  <jb:bean beanId="linguisticAccommodationsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:value data="InterchangeStudentAssessment/StudentAssessment/LinguisticAccommodations/LinguisticAccommodation" />
  </jb:bean>

  <jb:bean beanId="scoreResultsArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring beanIdRef="scoreResultMap" />
  </jb:bean>
  <jb:bean beanId="scoreResultMap" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/ScoreResults">
    <jb:value property="assessmentReportingMethod" data="InterchangeStudentAssessment/StudentAssessment/ScoreResults/@AssessmentReportingMethod" />
    <jb:value property="result" data="InterchangeStudentAssessment/StudentAssessment/ScoreResults/Result" />
  </jb:bean>

  <jb:bean beanId="performanceLevelsTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring beanIdRef="performanceLevelsTypeArrayIntermediate" />
  </jb:bean>

  <jb:bean beanId="performanceLevelsTypeArrayIntermediate" class="java.util.ArrayList" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring beanIdRef="studentAssessmentPerformanceDescriptorCodeValue" />
    <jb:wiring beanIdRef="studentAssessmentPerformanceDescriptorDescription" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentPerformanceDescriptorDescription" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/PerformanceLevels/Description">
    <jb:value property="description" data="PerformanceLevels/Description" />
  </jb:bean>

  <jb:bean beanId="studentAssessmentPerformanceDescriptorCodeValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/PerformanceLevels/CodeValue">
    <jb:value property="codeValue" data="PerformanceLevels/CodeValue" />
  </jb:bean>

  <!-- end of studentAssessment mapping -->

  <!-- Questionable beings -->

  <jb:bean beanId="studentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring property="StudentIdentity" beanIdRef="studentIdentityType" />
  </jb:bean>
  <jb:bean beanId="studentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference">
    <jb:value property="StudentUniqueStateId"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/StudentUniqueStateId" />
    <jb:wiring property="StudentIdentificationCode" beanIdRef="studentIdentificationCodeArray" />
    <jb:wiring property="Name" beanIdRef="nameType" />
    <jb:wiring property="OtherName" beanIdRef="otherNameTypeArray" />
    <jb:value property="BirthDate"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/BirthDate" />
    <jb:value property="Sex" data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Sex" />
    <jb:value property="HispanicLatinoEthnicity"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/HispanicLatinoEthnicity" />
    <jb:wiring property="Race" beanIdRef="raceTypeArray" />
  </jb:bean>
  <jb:bean beanId="studentIdentificationCodeArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity">
    <jb:wiring beanIdRef="studentIdentificationCodeMap" />
  </jb:bean>
  <jb:bean beanId="studentIdentificationCodeMap" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/StudentIdentificationCode">
    <jb:value property="IdentificationSystem"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/StudentIdentificationCode/@IdentificationSystem" />
    <jb:value property="AssigningOrganizationCode"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/StudentIdentificationCode/@AssigningOrganizationCode" />
    <jb:value property="IdentificationCode"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/StudentIdentificationCode/IdentificationCode" />
  </jb:bean>
  <jb:bean beanId="nameType" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity">
    <jb:value property="Verification"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/@Verification" />
    <jb:value property="PersonalInformationVerificationType"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/PersonalInformationVerificationType" />
    <jb:value property="FirstName"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/FirstName" />
    <jb:value property="MiddleName"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/MiddleName" />
    <jb:value property="LastSurname"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/LastSurname" />
    <jb:value property="PersonalTitlePrefix"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/PersonalTitlePrefix" />
    <jb:value property="GenerationCodeSuffix"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/GenerationCodeSuffix" />
    <jb:value property="MaidenName"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Name/MaidenName" />
  </jb:bean>

  <jb:bean beanId="otherNameTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity">
    <jb:wiring beanIdRef="otherNameMap" />
  </jb:bean>

  <jb:bean beanId="otherNameMap" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName">
    <jb:value property="OtherNameType"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/@OtherNameType" />
    <jb:value property="PersonalTitlePrefix"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/PersonalTitlePrefix" />
    <jb:value property="FirstName"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/FirstName" />
    <jb:value property="MiddleName"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/MiddleName" />
    <jb:value property="LastSurname"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/LastSurname" />
    <jb:value property="GenerationCodeSuffix"
      data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/OtherName/GenerationCodeSuffix" />
  </jb:bean>

  <jb:bean beanId="raceTypeArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity">
    <jb:value data="InterchangeStudentAssessment/StudentAssessment/StudentReference/StudentIdentity/Race/RacialCategory" />
  </jb:bean>

  <jb:bean beanId="assessmentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentAssessment/StudentAssessment">
    <jb:wiring property="AssessmentIdentity" beanIdRef="assessmentIdentityType" />
  </jb:bean>
  <jb:bean beanId="assessmentIdentityType" class="java.util.HashMap"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/AssessmentReference">
    <jb:wiring property="AssessmentIdentificationCode" beanIdRef="assessmentIdentificationCodeArray" />
    <jb:value property="AssessmentFamilyTitle"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/AssessmentFamilyTitle" />
    <jb:value property="AssessmentTitle"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/AssessmentTitle" />
    <jb:value property="AssessmentCategory"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/AssessmentCategory" />
    <jb:value property="AcademicSubject"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/AcademicSubject" />
    <jb:value property="GradeLevelAssessed"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/GradeLevelAssessed" />
    <jb:value property="Version"
      data="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity/Version" decoder="Integer" />
  </jb:bean>
  <jb:bean beanId="assessmentIdentificationCodeArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentAssessment/StudentAssessment/AssessmentReference/AssessmentIdentity">
    <jb:wiring beanIdRef="assessmentIdentificationCodeType" />
  </jb:bean>

  <!-- Questionable ends -->

  <!-- Start Student Attendance mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentAttendance/AttendanceEvent">
    <jb:expression property="recordType">'attendance'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="attendanceEventMetaData" />
    <jb:wiring property="attributes" beanIdRef="attendanceEventAttributes" />
  </jb:bean>

    <jb:bean beanId="attendanceEventMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentAttendance/AttendanceEvent">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,schoolId,eventDate,attendanceEventCategory'</jb:expression>
    <jb:expression property="sliEntityType">'attendance'</jb:expression>
  </jb:bean>

  <jb:bean beanId="attendanceEventAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentAttendance/AttendanceEvent">
    <jb:value property="eventDate" data="InterchangeStudentAttendance/AttendanceEvent/EventDate" />
    <jb:value property="attendanceEventType" data="InterchangeStudentAttendance/AttendanceEvent/AttendanceEventType" />
    <jb:value property="attendanceEventCategory" data="InterchangeStudentAttendance/AttendanceEvent/AttendanceEventCategory" />
    <jb:value property="attendanceEventReason" data="InterchangeStudentAttendance/AttendanceEvent/AttendanceEventReason" />
    <jb:value property="educationalEnvironment" data="InterchangeStudentAttendance/AttendanceEvent/EducationalEnvironment" />
    <jb:wiring beanIdRef="SLC-AttendanceEvent_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:value property="schoolId"
      data="InterchangeStudentAttendance/AttendanceEvent/SchoolReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="SLC-AttendanceEvent_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentAttendance/AttendanceEvent/StudentReference">
    <jb:wiring beanIdRef="SLC-AttendanceEvent_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-AttendanceEvent_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentAttendance/AttendanceEvent/StudentReference/StudentIdentity">
    <jb:value data="AttendanceEvent/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <!-- Start GraduationPlan mapping  -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:expression property="recordType">'graduationPlan'</jb:expression>
      <jb:wiring property="metaData" beanIdRef="graduationPlanMetaData" />
      <jb:wiring property="attributes" beanIdRef="graduationPlanAttributes" />
  </jb:bean>

  <jb:bean beanId="graduationPlanMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/GraduationPlan">
    <jb:expression property="neutralRecordKeyValueFieldNames">'graduationPlanType'</jb:expression>
    <jb:expression property="optionalNeutralRecordKeyValueFieldNames">'EducationOrganizationReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="graduationPlanAttributes" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:value property="individualPlan" data="IndividualPlan" decoder="Boolean" />
      <jb:value property="graduationPlanType" data="GraduationPlanType" />
      <jb:wiring property="totalCreditsRequired" beanIdRef="TotalCreditsRequiredValue" />
      <jb:wiring property="creditsBySubject" beanIdRef="CreditsBySubjectArray" />
      <jb:wiring property="creditsByCourse" beanIdRef="CreditsByCourseArray" />
      <jb:wiring property="EducationOrganizationReference" beanIdRef="GraduationPlan_EducationOrganizationReference" />
  </jb:bean>

  <jb:bean beanId="TotalCreditsRequiredValue" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:value property="credit" data="GraduationPlan/TotalCreditsRequired/Credit" decoder="Double" />
      <jb:value property="creditType" data="GraduationPlan/TotalCreditsRequired/@CreditType" />
      <jb:value property="creditConversion" data="GraduationPlan/TotalCreditsRequired/@CreditConversion"
                decoder="Double" />
  </jb:bean>

  <jb:bean beanId="CreditsBySubjectArray" class="java.util.ArrayList"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:wiring beanIdRef="CreditsBySubjectValue" />
  </jb:bean>

  <jb:bean beanId="CreditsBySubjectValue" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan/CreditsBySubject">
      <jb:wiring property="credits" beanIdRef="CreditsSubject" />
      <jb:value property="subjectArea" data="GraduationPlan/CreditsBySubject/SubjectArea" />
  </jb:bean>

  <jb:bean beanId="CreditsByCourseArray" class="java.util.ArrayList"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:wiring beanIdRef="CreditsByCourseValue" />
  </jb:bean>

  <jb:bean beanId="CreditsByCourseValue" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan/CreditsByCourse">
      <jb:wiring property="credits" beanIdRef="CreditsCourse" />
      <jb:value property="gradeLevel" data="GraduationPlan/CreditsByCourse/GradeLevel" />
      <jb:wiring property="courseCode" beanIdRef="CourseCodeArray" />
  </jb:bean>

  <jb:bean beanId="CourseCodeArray" class="java.util.ArrayList"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan/CreditsByCourse">
      <jb:wiring beanIdRef="CourseCode" />
  </jb:bean>

  <jb:bean beanId="CourseCode" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan/CreditsByCourse/CourseCode">
      <jb:value property="ID" data="GraduationPlan/CreditsByCourse/CourseCode/ID" />
      <jb:value property="identificationSystem" data="GraduationPlan/CreditsByCourse/CourseCode/@IdentificationSystem" />
      <jb:value property="assigningOrganizationCode"
                data="GraduationPlan/CreditsByCourse/CourseCode/@AssigningOrganizationCode" />
  </jb:bean>

  <jb:bean beanId="CreditsSubject" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan/CreditsBySubject">
      <jb:value property="credit" data="GraduationPlan/CreditsBySubject/Credits/Credit" decoder="Double" />
      <jb:value property="creditType" data="GraduationPlan/CreditsBySubject/Credits/@CreditType" />
      <jb:value property="creditConversion" data="GraduationPlan/CreditsBySubject/Credits/@CreditConversion"
                decoder="Double"/>
  </jb:bean>

  <jb:bean beanId="CreditsCourse" class="java.util.HashMap"
           createOnElement="InterchangeStudentEnrollment/GraduationPlan">
      <jb:value property="credit" data="GraduationPlan/CreditsByCourse/Credits/Credit" decoder="Double" />
      <jb:value property="creditType" data="GraduationPlan/CreditsByCourse/Credits/@CreditType" />
      <jb:value property="creditConversion" data="GraduationPlan/CreditsByCourse/Credits/@CreditConversion"
                decoder="Double"/>
  </jb:bean>

  <!-- GraduationPlan supporting object: EducationOrganizationReference -->
  <jb:bean beanId="GraduationPlan_EducationOrganizationReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/GraduationPlan/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity" />
  </jb:bean>
  <jb:bean beanId="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:wiring property="EducationOrgIdentificationCode" beanIdRef="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray" />
  </jb:bean>
  <jb:bean beanId="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentEnrollment/GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:wiring beanIdRef="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCode" />
  </jb:bean>
  <jb:bean beanId="GraduationPlan_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCode"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentEnrollment/GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode">
    <jb:value property="IdentificationSystem" data="GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="GraduationPlan/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode/ID" />
  </jb:bean>

  <!-- StudentAcademicRecord -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentGrade/StudentAcademicRecord">
    <jb:expression property="recordType">'studentAcademicRecord'</jb:expression>
     <jb:wiring property="metaData" beanIdRef="studentAcademicRecordMetaData" />
    <jb:wiring property="attributes" beanIdRef="studentAcademicRecordAttributes" />
  </jb:bean>

    <jb:bean beanId="studentAcademicRecordMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentAcademicRecord">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,SessionReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="studentAcademicRecordAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord">
    <jb:wiring property="cumulativeCreditsEarned" beanIdRef="studentAcademicRecordCumulativeCreditsEarnedValue" />
    <jb:wiring property="cumulativeCreditsAttempted" beanIdRef="studentAcademicRecordCumulativeCreditsAttemptedValue" />
    <jb:value property="cumulativeGradePointsEarned" data="StudentAcademicRecord/CumulativeGradePointsEarned" decoder="Double" />
    <jb:value property="cumulativeGradePointAverage" data="StudentAcademicRecord/CumulativeGradePointAverage" decoder="Double" />
    <jb:wiring property="classRanking" beanIdRef="studentAcademicRecordClassRanking" />
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType" property="SessionReference"/>
    <jb:wiring beanIdRef="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceTypeArray" property="ReportCardReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/SessionReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" property="SessionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/SessionReference/SessionIdentity">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="StudentAcademicRecord/SessionReference/SessionIdentity/SessionName" property="SessionName"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/SessionReference/SessionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="StudentAcademicRecord/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/StudentReference/StudentIdentity">
    <jb:value data="StudentAcademicRecord/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="studentAcademicRecordClassRanking" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ClassRanking">
    <jb:value property="classRank" data="StudentAcademicRecord/ClassRanking/ClassRank" decoder="Integer" />
    <jb:value property="totalNumberInClass" data="StudentAcademicRecord/ClassRanking/TotalNumberInClass" decoder="Integer" />
    <jb:value property="percentageRanking" data="StudentAcademicRecord/ClassRanking/PercentageRanking" decoder="Integer" />
    <jb:value property="classRankingDate" data="StudentAcademicRecord/ClassRanking/ClassRankingDate" />
  </jb:bean>

  <jb:bean beanId="studentAcademicRecordCumulativeCreditsEarnedValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentAcademicRecord/CumulativeCreditsEarned">
    <jb:value property="credit" data="StudentAcademicRecord/CumulativeCreditsEarned/Credit" decoder="Double" />
    <jb:value property="creditType" data="StudentAcademicRecord/CumulativeCreditsEarned/@CreditType" />
    <jb:value property="creditConversion" data="StudentAcademicRecord/CumulativeCreditsEarned/@CreditConversion" decoder="Double"/>
  </jb:bean>

  <jb:bean beanId="studentAcademicRecordCumulativeCreditsAttemptedValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentAcademicRecord/CumulativeCreditsAttempted">
    <jb:value property="credit" data="StudentAcademicRecord/CumulativeCreditsAttempted/Credit" decoder="Double" />
    <jb:value property="creditType" data="StudentAcademicRecord/CumulativeCreditsAttempted/@CreditType" />
    <jb:value property="creditConversion" data="StudentAcademicRecord/CumulativeCreditsAttempted/@CreditConversion" decoder="Double" />
  </jb:bean>

  <jb:bean beanId="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/StudentAcademicRecord">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType" property="ReportCardIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity">

    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType" property="GradingPeriodReference"/>

    <jb:wiring beanIdRef="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecord_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="StudentAcademicRecord/ReportCardReference/ReportCardIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentAcademicRecordExtension_Attributes_SLC-ReportCardReferenceType_SLC-ReportCardIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentAcademicRecord/ReportCardReference/ReportCardIdentity/StudentReference/StudentIdentity">
    <jb:value data="StudentAcademicRecord/ReportCardReference/ReportCardIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <!-- Start CourseTranscript mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:expression property="recordType">'courseTranscript'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="courseTranscriptMetaData" />
    <jb:wiring property="attributes" beanIdRef="courseTranscriptAttributes" />
  </jb:bean>

  <jb:bean beanId="courseTranscriptMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentAcademicRecordReference,CourseReference,courseAttemptResult'</jb:expression>
  </jb:bean>

  <jb:bean beanId="courseTranscriptAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:value property="courseAttemptResult" data="CourseAttemptResult" />
    <jb:wiring property="creditsAttempted" beanIdRef="CreditsAttemptedValue" />
    <jb:wiring property="creditsEarned" beanIdRef="CreditsEarnedValue" />
    <jb:wiring property="additionalCreditsEarned" beanIdRef="AdditionalCreditsArray" />
    <jb:value property="gradeLevelWhenTaken" data="GradeLevelWhenTaken" />
    <jb:value property="methodCreditEarned" data="MethodCreditEarned" />
    <jb:value property="finalLetterGradeEarned" data="FinalLetterGradeEarned" />
    <jb:value property="finalNumericGradeEarned" data="FinalNumericGradeEarned" decoder="Integer" />
    <jb:value property="courseRepeatCode" data="CourseRepeatCode" />
    <jb:value property="gradeType" data="GradeType" />
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType" property="CourseReference"/>
    <jb:wiring beanIdRef="SLC-CourseTranscript_EdOrgReferenceArray" property="EducationOrganizationReference"/>
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType" property="StudentAcademicRecordReference"/>
  </jb:bean>

    <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType" property="StudentAcademicRecordIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType" property="SessionReference"/>
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType" property="SessionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference/SessionIdentity">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference/SessionIdentity/SessionName" property="SessionName"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference/SessionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/StudentReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-StudentAcademicRecordReferenceType_SLC-StudentAcademicRecordIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/StudentReference/StudentIdentity">
    <jb:value data="CourseTranscript/StudentAcademicRecordReference/StudentAcademicRecordIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/CourseReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType" property="CourseIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/CourseReference/CourseIdentity">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="CourseTranscript/CourseReference/CourseIdentity/UniqueCourseId" property="UniqueCourseId"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/CourseReference/CourseIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseTranscript_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/CourseReference/CourseIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="CourseTranscript/CourseReference/CourseIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="CreditsAttemptedValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:value property="credit" data="CourseTranscript/CreditsAttempted/Credit" decoder="Double" />
    <jb:value property="creditType" data="CourseTranscript/CreditsAttempted/@CreditType" />
    <jb:value property="creditConversion" data="CourseTranscript/CreditsAttempted/@CreditConversion" />
  </jb:bean>

  <jb:bean beanId="CreditsEarnedValue" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:value property="credit" data="CourseTranscript/CreditsEarned/Credit" decoder="Double" />
    <jb:value property="creditType" data="CourseTranscript/CreditsEarned/@CreditType" />
    <jb:value property="creditConversion" data="CourseTranscript/CreditsEarned/@CreditConversion" />
  </jb:bean>

  <jb:bean beanId="AdditionalCreditsArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:wiring beanIdRef="AdditionalCredit" />
  </jb:bean>

  <jb:bean beanId="AdditionalCredit" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:value property="credit" data="CourseTranscript/AdditionalCredits/Credit" decoder="Double" />
    <jb:value property="additionalCreditType" data="CourseTranscript/AdditionalCredits/AdditionalCreditType" />
  </jb:bean>

  <jb:bean beanId="SLC-CourseTranscript_EdOrgReferenceArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/CourseTranscript">
    <jb:wiring beanIdRef="SLC-CourseTranscript_EdOrgReferenceType" />
  </jb:bean>

   <jb:bean beanId="SLC-CourseTranscript_EdOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="SLC-CourseTranscript_EdOrgReference_EdOrgIdentityType" />
  </jb:bean>

  <jb:bean beanId="SLC-CourseTranscript_EdOrgReference_EdOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/CourseTranscript/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId"  data="CourseTranscript/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <!-- Start Student Parent mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentParent/Student">
    <jb:expression property="recordType">'student'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentMetaData" />
    <jb:wiring property="attributes" beanIdRef="spi_StudentAttributes" />
  </jb:bean>

  <jb:bean beanId="studentMetaData" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:expression property="neutralRecordKeyValueFieldNames">'studentUniqueStateId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="spi_StudentAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:value property="studentUniqueStateId" data="Student/StudentUniqueStateId" />
    <jb:wiring property="studentIdentificationCode" beanIdRef="spi_studentIdentificationCodeTypeArray" />
    <jb:wiring property="name" beanIdRef="spi_nameType" />
    <jb:wiring property="otherName" beanIdRef="spi_otherNameTypeArray" />
    <jb:value property="sex" data="Student/Sex" />
    <jb:wiring property="birthData" beanIdRef="spi_birthDataType" />
    <jb:wiring property="address" beanIdRef="spi_addressTypeArray" />
    <jb:wiring property="telephone" beanIdRef="spi_telephoneTypeArray" />
    <jb:wiring property="electronicMail" beanIdRef="spi_electronicMailTypeArray" />
    <jb:value property="profileThumbnail" data="Student/ProfileThumbnail" />
    <jb:value property="hispanicLatinoEthnicity" data="Student/HispanicLatinoEthnicity" decoder="Boolean" />
    <jb:value property="oldEthnicity" data="Student/OldEthnicity" />
    <jb:wiring property="race" beanIdRef="spi_raceItemTypeArray" />
    <jb:value property="economicDisadvantaged" data="Student/EconomicDisadvantaged" decoder="Boolean" />
    <jb:value property="schoolFoodServicesEligibility" data="Student/SchoolFoodServicesEligibility" />
    <jb:wiring property="studentCharacteristics" beanIdRef="spi_studentCharacteristicTypeArray" />
    <jb:value property="limitedEnglishProficiency" data="Student/LimitedEnglishProficiency" />
    <jb:wiring property="languages" beanIdRef="spi_languageItemTypeArray" />
    <jb:wiring property="homeLanguages" beanIdRef="spi_homeLanguageItemTypeArray" />
    <jb:wiring property="disabilities" beanIdRef="spi_disabilityTypeArray" />
    <jb:wiring property="section504Disabilities" beanIdRef="spi_section504DisabilitiesItemTypeArray" />
    <jb:value property="displacementStatus" data="Student/DisplacementStatus" />
    <jb:wiring property="programParticipations" beanIdRef="spi_programParticipationTypeArray" />
    <jb:wiring property="learningStyles" beanIdRef="spi_learningStylesType" />
    <jb:wiring property="cohortYears" beanIdRef="spi_cohortYearTypeArray" />
    <jb:wiring property="studentIndicators" beanIdRef="spi_studentIndicatorTypeArray" />
    <jb:value property="loginId" data="LoginId" />
  </jb:bean>

  <jb:bean beanId="spi_studentIdentificationCodeTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_studentIdentificationCodeType" />
  </jb:bean>

  <jb:bean beanId="spi_studentIdentificationCodeType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/StudentIdentificationCode">
    <jb:value property="identificationSystem" data="Student/StudentIdentificationCode/@IdentificationSystem" />
    <jb:value property="assigningOrganizationCode" data="Student/StudentIdentificationCode/@AssigningOrganizationCode" />
    <jb:value property="identificationCode" data="Student/StudentIdentificationCode/IdentificationCode" />
  </jb:bean>

  <jb:bean beanId="spi_nameType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:value property="verification" data="Student/Name/@Verification" />
    <jb:value property="personalInformationVerificationType" data="Student/Name/PersonalInformationVerificationType" />
    <jb:value property="firstName" data="Student/Name/FirstName" />
    <jb:value property="middleName" data="Student/Name/MiddleName" />
    <jb:value property="lastSurname" data="Student/Name/LastSurname" />
    <jb:value property="personalTitlePrefix" data="Student/Name/PersonalTitlePrefix" />
    <jb:value property="generationCodeSuffix" data="Student/Name/GenerationCodeSuffix" />
    <jb:value property="maidenName" data="Student/Name/MaidenName" />
  </jb:bean>

  <jb:bean beanId="spi_otherNameTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_otherNameType" />
  </jb:bean>

  <jb:bean beanId="spi_otherNameType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/OtherName">
    <jb:value property="otherNameType" data="Student/OtherName/@OtherNameType" />
    <jb:value property="personalTitlePrefix" data="Student/OtherName/PersonalTitlePrefix" />
    <jb:value property="firstName" data="Student/OtherName/FirstName" />
    <jb:value property="middleName" data="Student/OtherName/MiddleName" />
    <jb:value property="lastSurname" data="Student/OtherName/LastSurname" />
    <jb:value property="generationCodeSuffix" data="Student/OtherName/GenerationCodeSuffix" />
  </jb:bean>

  <jb:bean beanId="spi_birthDataType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:value property="birthDate" data="Student/BirthData/BirthDate" />
    <jb:value property="cityOfBirth" data="Student/BirthData/CityOfBirth" />
    <jb:value property="stateOfBirthAbbreviation" data="Student/BirthData/StateOfBirthAbbreviation" />
    <jb:value property="countryOfBirthCode" data="Student/BirthData/CountryOfBirthCode" />
    <jb:value property="dateEnteredUS" data="Student/BirthData/DateEnteredUS" />
    <jb:value property="multipleBirthStatus" data="Student/BirthData/MultipleBirthStatus" decoder="Boolean" />
  </jb:bean>

  <jb:bean beanId="spi_addressTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_addressType" />
  </jb:bean>

  <jb:bean beanId="spi_addressType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/Address">
    <jb:value property="addressType" data="Student/Address/@AddressType" />
    <jb:value property="streetNumberName" data="Student/Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="Student/Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="Student/Address/BuildingSiteNumber" />
    <jb:value property="city" data="Student/Address/City" />
    <jb:value property="stateAbbreviation" data="Student/Address/StateAbbreviation" />
    <jb:value property="postalCode" data="Student/Address/PostalCode" />
    <jb:value property="nameOfCounty" data="Student/Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="Student/Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="Student/Address/CountryCode" />
    <jb:value property="latitude" data="Student/Address/Latitude" />
    <jb:value property="longitude" data="Student/Address/Longitude" />
    <jb:value property="openDate" data="Student/Address/OpenDate" />
    <jb:value property="closeDate" data="Student/Address/CloseDate" />
  </jb:bean>

  <jb:bean beanId="spi_telephoneTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_telephoneType" />
  </jb:bean>

  <jb:bean beanId="spi_telephoneType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/Telephone">
    <jb:value property="telephoneNumberType" data="Student/Telephone/@TelephoneNumberType" />
    <jb:value property="telephoneNumber" data="Student/Telephone/TelephoneNumber" />
    <jb:value property="primaryTelephoneNumberIndicator" data="Student/Telephone/@PrimaryTelephoneNumberIndicator"
      decoder="Boolean" />
  </jb:bean>

  <jb:bean beanId="spi_electronicMailTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_electronicMailType" />
  </jb:bean>

  <jb:bean beanId="spi_electronicMailType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/ElectronicMail">
    <jb:value property="emailAddressType" data="Student/ElectronicMail/@EmailAddressType" />
    <jb:value property="emailAddress" data="Student/ElectronicMail/EmailAddress" />
  </jb:bean>

  <jb:bean beanId="spi_raceItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:value data="Student/Race/RacialCategory" />
  </jb:bean>

  <jb:bean beanId="spi_studentCharacteristicTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_studentCharacteristicType" />
  </jb:bean>

  <jb:bean beanId="spi_studentCharacteristicType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/StudentCharacteristics">
    <jb:value property="characteristic" data="Student/StudentCharacteristics/Characteristic" />
    <jb:value property="beginDate" data="Student/StudentCharacteristics/BeginDate" />
    <jb:value property="endDate" data="Student/StudentCharacteristics/EndDate" />
    <jb:value property="designatedBy" data="Student/StudentCharacteristics/DesignatedBy" />
  </jb:bean>

  <jb:bean beanId="spi_languageItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:value data="Student/Languages/Language" />
  </jb:bean>

  <jb:bean beanId="spi_homeLanguageItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:value data="Student/HomeLanguages/Language" />
  </jb:bean>

  <jb:bean beanId="spi_disabilityTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_disabilityType" />
  </jb:bean>
  <jb:bean beanId="spi_disabilityType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/Disabilities">
    <jb:value property="disability" data="Student/Disabilities/Disability" />
    <jb:value property="disabilityDiagnosis" data="Student/Disabilities/DisabilityDiagnosis" />
    <jb:value property="orderOfDisability" data="Student/Disabilities/OrderOfDisability" decoder="Integer" />
  </jb:bean>

  <jb:bean beanId="spi_section504DisabilitiesType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring property="section504Disability" beanIdRef="spi_section504DisabilitiesItemTypeArray" />
  </jb:bean>

  <jb:bean beanId="spi_section504DisabilitiesItemTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:value data="Student/Section504Disabilities/Section504Disability" />
  </jb:bean>

  <jb:bean beanId="spi_programParticipationTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_programParticipationType" />
  </jb:bean>
  <jb:bean beanId="spi_programParticipationType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/ProgramParticipations">
    <jb:value property="program" data="Student/ProgramParticipations/Program" />
    <jb:value property="beginDate" data="Student/ProgramParticipations/BeginDate" />
    <jb:value property="endDate" data="Student/ProgramParticipations/EndDate" />
    <jb:value property="designatedBy" data="Student/ProgramParticipations/DesignatedBy" />
  </jb:bean>

  <jb:bean beanId="spi_learningStylesType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student">
    <jb:value property="visualLearning" data="Student/LearningStyles/VisualLearning" decoder="Integer" />
    <jb:value property="auditoryLearning" data="Student/LearningStyles/AuditoryLearning" decoder="Integer" />
    <jb:value property="tactileLearning" data="Student/LearningStyles/TactileLearning" decoder="Integer" />
  </jb:bean>

  <jb:bean beanId="spi_cohortYearTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_cohortYearType" />
  </jb:bean>

  <jb:bean beanId="spi_cohortYearType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/CohortYears">
    <jb:value property="cohortYearType" data="Student/CohortYears/@CohortYearType" />
    <jb:value property="schoolYear" data="Student/CohortYears/SchoolYear" />
  </jb:bean>

  <jb:bean beanId="spi_studentIndicatorTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentParent/Student">
    <jb:wiring beanIdRef="spi_studentIndicatorType" />
  </jb:bean>
  <jb:bean beanId="spi_studentIndicatorType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/Student/StudentIndicators">
    <jb:value property="indicatorGroup" data="Student/StudentIndicators/IndicatorGroup" />
    <jb:value property="indicatorName" data="Student/StudentIndicators/IndicatorName" />
    <jb:value property="indicator" data="Student/StudentIndicators/Indicator" />
    <jb:value property="beginDate" data="Student/StudentIndicators/BeginDate" />
    <jb:value property="endDate" data="Student/StudentIndicators/EndDate" />
    <jb:value property="designatedBy" data="Student/StudentIndicators/DesignatedBy" />
  </jb:bean>
  <!-- End Student mapping -->

  <!-- Start Parent mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentParent/Parent">
    <jb:expression property="recordType">'parent'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="parentMetaData" />
    <jb:wiring property="attributes" beanIdRef="parentAttributes" />
  </jb:bean>

  <jb:bean beanId="parentMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:expression property="neutralRecordKeyValueFieldNames">'parentUniqueStateId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="parentAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:value property="parentUniqueStateId" data="InterchangeStudentParent/Parent/ParentUniqueStateId" />
    <jb:wiring property="name" beanIdRef="StudentParentName" />
    <jb:value property="otherName" data="InterchangeStudentParent/Parent/OtherName" />
    <jb:value property="sex" data="InterchangeStudentParent/Parent/Sex" />
    <jb:wiring property="address" beanIdRef="parentAddressArray" />
    <jb:wiring property="telephone" beanIdRef="parentTelephoneArray" />
    <jb:wiring property="electronicMail" beanIdRef="parentEmailAddressArray" />
    <jb:value property="loginId" data="InterchangeStudentParent/Parent/LoginId" />
  </jb:bean>

  <jb:bean beanId="StudentParentName" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:value property="firstName" data="InterchangeStudentParent/Parent/Name/FirstName" />
    <jb:value property="middleName" data="InterchangeStudentParent/Parent/Name/MiddleName" />
    <jb:value property="lastSurname" data="InterchangeStudentParent/Parent/Name/LastSurname" />
  </jb:bean>

  <jb:bean beanId="parentAddressArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:wiring beanIdRef="parentAddress" />
  </jb:bean>

  <jb:bean beanId="parentAddress" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent/Address">
    <jb:value property="addressType" data="Parent/Address/@AddressType" />
    <jb:value property="streetNumberName" data="Parent/Address/StreetNumberName" />
    <jb:value property="apartmentRoomSuiteNumber" data="Parent/Address/ApartmentRoomSuiteNumber" />
    <jb:value property="buildingSiteNumber" data="Parent/Address/BuildingSiteNumber" />
    <jb:value property="city" data="Parent/Address/City" />
    <jb:value property="stateAbbreviation" data="Parent/Address/StateAbbreviation" />
    <jb:value property="postalCode" data="Parent/Address/PostalCode" />
    <jb:value property="nameOfCounty" data="Parent/Address/NameOfCounty" />
    <jb:value property="countyFIPSCode" data="Parent/Address/CountyFIPSCode" />
    <jb:value property="countryCode" data="Parent/Address/CountryCode" />
    <jb:value property="latitude" data="Parent/Address/Latitude" />
    <jb:value property="longitude" data="Parent/Address/Longitude" />
    <jb:value property="openDate" data="Parent/Address/OpenDate" />
    <jb:value property="closeDate" data="Parent/Address/CloseDate" />
  </jb:bean>

  <jb:bean beanId="parentTelephoneArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:wiring beanIdRef="parentTelephoneNumber" />
  </jb:bean>

  <jb:bean beanId="parentTelephoneNumber" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent/Telephone">
    <jb:value property="telephoneNumber" data="Parent/Telephone/TelephoneNumber" />
    <jb:value property="telephoneNumberType" data="Parent/Telephone/@TelephoneNumberType" />
    <jb:value property="primaryTelephoneNumberIndicator" data="Parent/Telephone/@PrimaryTelephoneNumberIndicator" decoder="Boolean" />
  </jb:bean>

  <jb:bean beanId="parentEmailAddressArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentParent/Parent">
    <jb:wiring beanIdRef="parentEmailAddress" />
  </jb:bean>

  <jb:bean beanId="parentEmailAddress" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/Parent/ElectronicMail">
    <jb:value property="emailAddress" data="Parent/ElectronicMail/EmailAddress" />
    <jb:value property="emailAddressType" data="Parent/ElectronicMail/@EmailAddressType" />
  </jb:bean>
  <!-- End Parent mapping -->

  <!-- Start StudentParentAssociation mapping-->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentParent/StudentParentAssociation">
    <jb:expression property="recordType">'studentParentAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentParentAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="parentStudentAssociationAttributes" />
  </jb:bean>

  <jb:bean beanId="studentParentAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/StudentParentAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,ParentReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="parentStudentAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentParent/StudentParentAssociation">
    <jb:wiring property="ParentReference" beanIdRef="studentParentAssociation_ParentReference" />
    <jb:value property="relation" data="InterchangeStudentParent/StudentParentAssociation/Relation" />
    <jb:value property="livesWith" data="InterchangeStudentParent/StudentParentAssociation/LivesWith" decoder="Boolean" />
    <jb:value property="primaryContactStatus" data="InterchangeStudentParent/StudentParentAssociation/PrimaryContactStatus" decoder="Boolean" />
    <jb:value property="emergencyContactStatus" data="InterchangeStudentParent/StudentParentAssociation/EmergencyContactStatus" decoder="Boolean" />
    <jb:value property="contactPriority" data="InterchangeStudentParent/StudentParentAssociation/ContactPriority" decoder="Integer" />
    <jb:value property="contactRestrictions" data="InterchangeStudentParent/StudentParentAssociation/ContactRestrictions" />
    <jb:wiring beanIdRef="SLC-StudentParentAssociation_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentParentAssociation_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/StudentParentAssociation/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentParentAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentParentAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentParent/StudentParentAssociation/StudentReference/StudentIdentity">
    <jb:value data="StudentParentAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="studentParentAssociation_ParentReference" class="java.util.HashMap" createOnElement="InterchangeStudentParent/StudentParentAssociation/ParentReference">
    <jb:wiring property="ParentIdentity" beanIdRef="studentParentAssociation_ParentReference_ParentIdentity" />
  </jb:bean>
  <jb:bean beanId="studentParentAssociation_ParentReference_ParentIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentParent/StudentParentAssociation/ParentReference/ParentIdentity">
    <jb:value property="ParentUniqueStateId" data="InterchangeStudentParent/StudentParentAssociation/ParentReference/ParentIdentity/ParentUniqueStateId" />
  </jb:bean>

  <!-- Start GradebookEntry mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/GradebookEntry">
    <jb:expression property="recordType">'gradebookEntry'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="gradebookEntryMetaData" />
    <jb:wiring property="attributes" beanIdRef="gradebookEntryAttributes" />
  </jb:bean>

  <jb:bean beanId="gradebookEntryMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry">
    <jb:expression property="neutralRecordKeyValueFieldNames">'SectionReference,gradebookEntryType,dateAssigned'</jb:expression>
  </jb:bean>

  <jb:bean beanId="gradebookEntryAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry">
    <jb:value property="gradebookEntryType" data="GradebookEntryType" />
    <jb:value property="dateAssigned" data="DateAssigned" />
    <jb:value property="description" data="Description" />
    <jb:wiring property="SectionReference" beanIdRef="GradebookEntry_SectionReference" />
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType" property="GradingPeriodReference"/>
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceTypeArray" property="LearningObjectiveReference"/>
  </jb:bean>
  <!-- To do: Need to add learning standard references here -->

  <jb:bean beanId="GradebookEntry_SectionReference" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry/SectionReference">
    <jb:wiring property="SectionIdentity" beanIdRef="GradebookEntry_SectionReference_SectionIdentity" />
  </jb:bean>

  <jb:bean beanId="GradebookEntry_SectionReference_SectionIdentity" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry/SectionReference/SectionIdentity">
    <jb:wiring property="EducationalOrgReference"
      beanIdRef="GradebookEntry_SectionReference_SectionIdentity_EducationalOrgReference" />
    <jb:value property="UniqueSectionCode" data="GradebookEntry/SectionReference/SectionIdentity/UniqueSectionCode" />
  </jb:bean>

  <jb:bean beanId="GradebookEntry_SectionReference_SectionIdentity_EducationalOrgReference" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:wiring property="EducationalOrgIdentity"
      beanIdRef="GradebookEntry_SectionReference_SectionIdentity_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="GradebookEntry_SectionReference_SectionIdentity_EducationalOrgReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/GradebookEntry/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId"
      data="GradebookEntry/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="GradebookEntry/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="GradebookEntry/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="GradebookEntry/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceTypeArray" class="java.util.ArrayList" createOnElement="GradebookEntry">
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradebookEntry_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/GradebookEntry/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="GradebookEntry/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="GradebookEntry/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="GradebookEntry/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

  <!-- Start StudentGradebookEntry mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/StudentGradebookEntry">
    <jb:expression property="recordType">'studentGradebookEntry'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentGradebookEntryMetaData" />
    <jb:wiring property="attributes" beanIdRef="studentGradebookEntryAttributes" />
  </jb:bean>

    <jb:bean beanId="studentGradebookEntryMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentGradebookEntry">
    <jb:expression property="neutralRecordKeyValueFieldNames">'GradebookEntryReference,StudentSectionAssociationReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntryAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentGradebookEntry">
    <jb:value property="dateFulfilled" data="DateFulfilled" />
    <jb:value property="letterGradeEarned" data="LetterGradeEarned" />
    <jb:value property="numericGradeEarned" data="NumericGradeEarned" decoder="Integer" />
    <jb:value property="diagnosticStatement" data="DiagnosticStatement" />
    <jb:wiring property="StudentReference" beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" />
    <jb:wiring property="SectionReference" beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" />
    <jb:wiring property="GradebookEntryReference" beanIdRef="StudentGradebookEntry_GradebookEntryReference" />
    <jb:wiring property="StudentSectionAssociationReference" beanIdRef="studentGradebookEntry_studentSectionAssociationReference" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry">
    <jb:wiring property="GradebookEntryIdentity" beanIdRef="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/GradebookEntryReference">
    <jb:wiring property="SectionReference" beanIdRef="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference" />
    <jb:value property="GradebookEntryType" data="StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/GradebookEntryType" />
    <jb:value property="DateAssigned" data="StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/DateAssigned" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity">
    <jb:wiring property="SectionIdentity" beanIdRef="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/SectionReference">
    <jb:wiring property="EducationalOrgReference" beanIdRef="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity_EducationalOrgReference" />
    <jb:value property="UniqueSectionCode" data="StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity_EducationalOrgReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/SectionReference/SectionIdentity">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentGradebookEntry_GradebookEntryReference_GradebookEntryIdentity_SectionReference_SectionIdentity_EducationalOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:value property="StateOrganizationId" data="StudentGradebookEntry/GradebookEntryReference/GradebookEntryIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference">
    <jb:wiring beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType" property="StudentSectionAssociationIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity">
    <jb:value data="StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/BeginDate" property="BeginDate"/>
    <jb:wiring beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" property="SectionReference"/>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference">
    <jb:wiring beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity">
    <jb:value data="StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring property="EducationalOrgReference" beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" />
    <jb:value property="UniqueSectionCode" data="StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="studentGradebookEntry_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:value property="StateOrganizationId" data="StudentGradebookEntry/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <!-- Start StudentProgramAssociation mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation">
    <jb:expression property="recordType">'studentProgramAssociation'</jb:expression>
    <jb:expression property="association">true</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentProgramAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="studentProgramAssociationAttributes" />
  </jb:bean>

    <jb:bean beanId="studentProgramAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,ProgramReference,EducationOrganizationReference,BeginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="studentProgramAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation">
    <jb:wiring beanIdRef="SLC-StudentProgramAssociation_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring property="ProgramReference" beanIdRef="StudentProgramAssociation_ProgramReference" />
    <jb:wiring property="Services" beanIdRef="StudentProgramAssociation_ServicesArray" />
    <jb:value property="BeginDate" data="StudentProgramAssociation/BeginDate" />
    <jb:value property="EndDate" data="StudentProgramAssociation/EndDate" />
    <jb:value property="ReasonExited" data="StudentProgramAssociation/ReasonExited" />
    <jb:wiring property="EducationOrganizationReference" beanIdRef="SLC-StudentProgramAssociation_EducationOrganizationReference" />
  </jb:bean>

  <!-- StudentProgramAssociation supporting objects: Services -->

  <jb:bean beanId="StudentProgramAssociation_ServicesArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation">
    <jb:wiring beanIdRef="StudentProgramAssociation_Services" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_Services"
      class="java.util.ArrayList"
      createOnElement="InterchangeStudentProgram/StudentProgramAssociation/Services">
      <jb:wiring beanIdRef="StudentProgramAssociation_Services_CodeValue" />
      <jb:wiring beanIdRef="StudentProgramAssociation_Services_ShortDescription" />
      <jb:wiring beanIdRef="StudentProgramAssociation_Services_Description" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_Services_CodeValue"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentProgram/StudentProgramAssociation/Services/CodeValue">
    <jb:value property="CodeValue" data="StudentProgramAssociation/Services/CodeValue" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_Services_ShortDescription"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentProgram/StudentProgramAssociation/Services/ShortDescription">
    <jb:value property="ShortDescription" data="StudentProgramAssociation/Services/ShortDescription" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_Services_Description"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentProgram/StudentProgramAssociation/Services/Description">
    <jb:value property="Description" data="StudentProgramAssociation/Services/Description" />
  </jb:bean>

  <!-- StudentProgramAssociation supporting objects: StudentReference -->

  <jb:bean beanId="SLC-StudentProgramAssociation_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentProgram/StudentProgramAssociation/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentProgramAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentProgramAssociation_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentProgram/StudentProgramAssociation/StudentReference/StudentIdentity">
    <jb:value data="StudentProgramAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <!-- StudentProgramAssociation supporting objects: ProgramReference -->

  <jb:bean beanId="StudentProgramAssociation_ProgramReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/ProgramReference">
    <jb:wiring property="ProgramIdentity" beanIdRef="StudentProgramAssociation_ProgramReference_ProgramIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_ProgramReference_ProgramIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/ProgramReference/ProgramIdentity">
    <jb:value property="ProgramId"
        data="StudentProgramAssociation/ProgramReference/ProgramIdentity/ProgramId" />
  </jb:bean>

  <!-- StudentProgramAssociation supporting objects: EducationOrganizationReference -->

  <jb:bean beanId="SLC-StudentProgramAssociation_EducationOrganizationReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="SLC-StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="SLC-StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    <!--
    <jb:wiring property="StateOrganizationId" beanIdRef="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_StateOrganizationIdArray" />
    <jb:wiring property="EducationOrgIdentificationCode" beanIdRef="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray" />
     -->
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_StateOrganizationIdArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:value data="StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity">
    <jb:wiring beanIdRef="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="StudentProgramAssociation_EducationOrganizationReference_EducationalOrgIdentity_EducationOrgIdentificationCode"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentProgram/StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode">
    <jb:value property="IdentificationSystem" data="StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="StudentProgramAssociation/EducationOrganizationReference/EducationalOrgIdentity/EducationOrgIdentificationCode/ID" />
  </jb:bean>
  <!-- End StudentProgramAssociation mapping -->

  <!-- Program mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeEducationOrganization/Program">
    <jb:expression property="recordType">'program'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="programMetaData" />
    <jb:wiring property="attributes" beanIdRef="programAttributes" />
  </jb:bean>

  <jb:bean beanId="programMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/Program">
    <jb:expression property="neutralRecordKeyValueFieldNames">'programId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="programAttributes" class="java.util.HashMap" createOnElement="InterchangeEducationOrganization/Program">
    <!-- ProgramId - simple type -->
    <jb:value property="programId" data="Program/ProgramId" />
    <!-- ProgramType - simple type -->
    <jb:value property="programType" data="Program/ProgramType" />
    <!-- ProgramSponsor - simple type -->
    <jb:value property="programSponsor" data="Program/ProgramSponsor" />
    <!-- Services - complex type -->
    <jb:wiring property="services" beanIdRef="Program_ServiceDescriptorTypeArray" />
  </jb:bean>

  <!-- ServiceDescriptorType -->
  <jb:bean beanId="Program_ServiceDescriptorTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrganization/Program">
    <jb:wiring beanIdRef="Program_ServiceDescriptorType" />
  </jb:bean>

  <jb:bean beanId="Program_ServiceDescriptorType"
      class="java.util.ArrayList"
      createOnElement="InterchangeEducationOrganization/Program/Services">
      <jb:wiring beanIdRef="Program_Services_CodeValue" />
      <jb:wiring beanIdRef="Program_Services_ShortDescription" />
      <jb:wiring beanIdRef="Program_Services_Description" />
  </jb:bean>

  <jb:bean beanId="Program_Services_CodeValue"
      class="java.util.HashMap"
      createOnElement="InterchangeEducationOrganization/Program/Services/CodeValue">
    <jb:value property="CodeValue" data="Program/Services/CodeValue" />
  </jb:bean>

  <jb:bean beanId="Program_Services_ShortDescription"
      class="java.util.HashMap"
      createOnElement="InterchangeEducationOrganization/Program/Services/ShortDescription">
    <jb:value property="ShortDescription" data="Program/Services/ShortDescription" />
  </jb:bean>

  <jb:bean beanId="Program_Services_Description"
      class="java.util.HashMap"
      createOnElement="InterchangeEducationOrganization/Program/Services/Description">
    <jb:value property="Description" data="Program/Services/Description" />
  </jb:bean>

    <!-- StaffProgramAssociation mapping (Ed-Fi to Ed-Fi)-->
    <!-- TODO implement other reference mappings -->

  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStaffAssociation/StaffProgramAssociation">
    <jb:expression property="recordType">'staffProgramAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="staffProgramAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="staffProgramAssociationAttributes" />
  </jb:bean>

    <jb:bean beanId="staffProgramAssociationMetaData" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffProgramAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StaffReference,ProgramReference,beginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="staffProgramAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/StaffProgramAssociation">

    <jb:wiring beanIdRef="SLC-StaffProgramAssociation_Attributes_SLC-StaffReferenceType" property="StaffReference"/>

    <jb:wiring property="ProgramReference" beanIdRef="staffProgramAssociation_programReference" />

    <jb:value property="beginDate" data="StaffProgramAssociation/BeginDate" />

    <jb:value property="endDate" data="StaffProgramAssociation/EndDate" />

    <jb:value property="studentRecordAccess" data="StaffProgramAssociation/StudentRecordAccess" decoder="Boolean"/>

  </jb:bean>

  <jb:bean beanId="SLC-StaffProgramAssociation_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffProgramAssociation/StaffReference">
    <jb:wiring beanIdRef="SLC-StaffProgramAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StaffProgramAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStaffAssociation/StaffProgramAssociation/StaffReference/StaffIdentity">
    <jb:value data="StaffProgramAssociation/StaffReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="staffProgramAssociation_programReference" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/StaffProgramAssociation/ProgramReference">
    <jb:wiring property="ProgramIdentity" beanIdRef="staffProgramAssociation_programReference_programIdentity" />
  </jb:bean>

  <jb:bean beanId="staffProgramAssociation_programReference_programIdentity" class="java.util.HashMap"
    createOnElement="InterchangeStaffAssociation/StaffProgramAssociation/ProgramReference/ProgramIdentity">
    <jb:value property="ProgramId" data="StaffProgramAssociation/ProgramReference/ProgramIdentity/ProgramId" />
  </jb:bean>

  <!-- Start Cohort mapping -->

  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord" createOnElement="InterchangeStudentCohort/Cohort">
    <jb:expression property="recordType">'cohort'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="cohortMetaData" />
    <jb:wiring property="attributes" beanIdRef="cohortAttributes" />
  </jb:bean>

  <jb:bean beanId="cohortMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/Cohort">
    <jb:expression property="neutralRecordKeyValueFieldNames">'EducationOrgReference,cohortIdentifier'</jb:expression>
  </jb:bean>

  <jb:bean beanId="cohortAttributes" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/Cohort">
    <!-- CohortIdentifier - simple type -->
    <jb:value property="cohortIdentifier" data="Cohort/CohortIdentifier" />
    <!-- CohortDescription - simple type -->
    <jb:value property="cohortDescription" data="Cohort/CohortDescription" />
    <!-- CohortType - simple type -->
    <jb:value property="cohortType" data="Cohort/CohortType" />
    <!-- CohortScope - simple type -->
    <jb:value property="cohortScope" data="Cohort/CohortScope" />
    <!-- AcademicSubject - simple type -->
    <jb:value property="academicSubject" data="Cohort/AcademicSubject" />
    <!-- EducationOrgReference reference type -->
    <jb:wiring property="EducationOrgReference" beanIdRef="Cohort_EducationOrgReference" />
    <!-- ProgramReference - array of reference type -->
    <jb:wiring beanIdRef="SLC-Cohort_Attributes_SLC-ProgramReferenceTypeArray" property="ProgramReference"/>
  </jb:bean>

  <!-- Cohort supporting objects: EducationOrgReference -->
  <jb:bean beanId="Cohort_EducationOrgReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/Cohort/EducationOrgReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="Cohort_EducationOrgReference_EducationalOrgIdentity" />
  </jb:bean>
  <jb:bean beanId="Cohort_EducationOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/Cohort/EducationOrgReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="InterchangeStudentCohort/Cohort/EducationOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <!-- Cohort supporting objects: ProgramReference -->
  <jb:bean beanId="SLC-Cohort_Attributes_SLC-ProgramReferenceTypeArray" class="java.util.ArrayList" createOnElement="Cohort">
    <jb:wiring beanIdRef="SLC-Cohort_Attributes_SLC-ProgramReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-Cohort_Attributes_SLC-ProgramReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/Cohort/ProgramReference">
    <jb:wiring beanIdRef="SLC-Cohort_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" property="ProgramIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Cohort_Attributes_SLC-ProgramReferenceType_SLC-ProgramIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/Cohort/ProgramReference/ProgramIdentity">
    <jb:value data="Cohort/ProgramReference/ProgramIdentity/ProgramId" property="ProgramId"/>
  </jb:bean>
  <!-- End Cohort Mapping -->

  <!-- Start StudentCohortAssociation mapping -->
   <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation">
    <jb:expression property="recordType">'studentCohortAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentCohortAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="studentCohortAssociationAttributes" />
  </jb:bean>

  <jb:bean beanId="studentCohortAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,CohortReference,BeginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="studentCohortAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation">
    <jb:wiring property="StudentReference" beanIdRef="StudentCohortAssociation_StudentReference" />
    <jb:wiring property="CohortReference" beanIdRef="StudentCohortAssociation_CohortReference" />
    <jb:value property="BeginDate" data="StudentCohortAssociation/BeginDate" />
    <jb:value property="EndDate" data="StudentCohortAssociation/EndDate" />
  </jb:bean>

  <!-- StudentCohortAssociation support object: StudentCohortAssociation_StudentReference  -->
  <jb:bean beanId="StudentCohortAssociation_StudentReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/StudentReference">
    <jb:wiring property="StudentIdentity" beanIdRef="StudentCohortAssociation_StudentReference_StudentIdentity" />
  </jb:bean>
  <jb:bean beanId="StudentCohortAssociation_StudentReference_StudentIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/StudentReference/StudentIdentity">
    <jb:value property="StudentUniqueStateId" data="StudentCohortAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" />
  </jb:bean>

  <!-- StudentCohortAssociation support object: StudentCohortAssociation_CohortReference   -->
  <jb:bean beanId="StudentCohortAssociation_CohortReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/CohortReference">
    <jb:wiring property="CohortIdentity" beanIdRef="StudentCohortAssociation_CohortReference_CohortIdentity" />
  </jb:bean>
  <jb:bean beanId="StudentCohortAssociation_CohortReference_CohortIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/CohortReference/CohortIdentity">
    <jb:value property="CohortIdentifier"
        data="StudentCohortAssociation/CohortReference/CohortIdentity/CohortIdentifier" />
    <jb:wiring property="EducationalOrgReference" beanIdRef="StudentCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference" />
  </jb:bean>

  <jb:bean beanId="StudentCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference">
    <jb:wiring property="EducationalOrgIdentity"
      beanIdRef="StudentCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StudentCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId"
      data="StudentCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>
  <!-- End StudentCohortAssociation Mapping -->

  <!-- Start StaffCohortAssociation mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation">
    <jb:expression property="recordType">'staffCohortAssociation'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="staffCohortAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="staffCohortAssociationAttributes" />
  </jb:bean>

  <jb:bean beanId="staffCohortAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StaffReference,CohortReference,beginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="staffCohortAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation">
    <jb:wiring beanIdRef="SLC-StaffCohortAssociation_Attributes_SLC-StaffReferenceType" property="StaffReference"/>
    <jb:wiring property="CohortReference" beanIdRef="StaffCohortAssoc_cohortReference" />
    <jb:value property="beginDate" data="StaffCohortAssociation/BeginDate" />
    <jb:value property="endDate" data="StaffCohortAssociation/EndDate" />
    <jb:value property="studentRecordAccess" data="StaffCohortAssociation/StudentRecordAccess" decoder="Boolean" />
  </jb:bean>

  <jb:bean beanId="SLC-StaffCohortAssociation_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/StaffCohortAssociation/StaffReference">
    <jb:wiring beanIdRef="SLC-StaffCohortAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StaffCohortAssociation_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentCohort/StaffCohortAssociation/StaffReference/StaffIdentity">
    <jb:value data="StaffCohortAssociation/StaffReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="StaffCohortAssoc_cohortReference" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation/CohortReference">
    <jb:wiring property="CohortIdentity" beanIdRef="StaffCohortAssoc_cohortReference_cohortIdentity" />
  </jb:bean>

  <jb:bean beanId="StaffCohortAssoc_cohortReference_cohortIdentity" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation/CohortReference/CohortIdentity">
    <jb:value property="CohortIdentifier"
        data="StaffCohortAssociation/CohortReference/CohortIdentity/CohortIdentifier" />
    <jb:wiring property="EducationalOrgReference" beanIdRef="StaffCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference" />
  </jb:bean>

  <jb:bean beanId="StaffCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference" class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference">
    <jb:wiring property="EducationalOrgIdentity"
      beanIdRef="StaffCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="StaffCohortAssociation_CohortReference_CohortIdentity_EducationalOrgReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentCohort/StaffCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId"
      data="StaffCohortAssociation/CohortReference/CohortIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>
  <!-- End StaffCohortAssociation Mapping -->

  <!-- Start DisciplineIncident mapping -->
  <!-- DisciplineIncident is keyed by IncidentIdentifier+SchoolReference, as the identifier is unique only within the scope of the school -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident">
    <jb:expression property="recordType">'disciplineIncident'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="disciplineIncidentMetaData" />
    <jb:wiring property="attributes" beanIdRef="disciplineIncidentAttributes" />
  </jb:bean>

  <jb:bean beanId="disciplineIncidentMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident">
    <jb:expression property="neutralRecordKeyValueFieldNames">'SchoolReference,IncidentIdentifier'</jb:expression>
  </jb:bean>

  <jb:bean beanId="disciplineIncidentAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident">
    <jb:value property="IncidentIdentifier" data="DisciplineIncident/IncidentIdentifier" />
    <jb:value property="IncidentDate" data="DisciplineIncident/IncidentDate" />
    <jb:value property="IncidentTime" data="DisciplineIncident/IncidentTime" />
    <jb:value property="IncidentLocation" data="DisciplineIncident/IncidentLocation" />
    <jb:value property="ReporterDescription" data="DisciplineIncident/ReporterDescription" />
    <jb:value property="ReporterName" data="DisciplineIncident/ReporterName" />
    <jb:wiring property="Behaviors" beanIdRef="DisciplineIncident_BehaviorsArray" />
    <jb:wiring property="SecondaryBehaviors" beanIdRef="DisciplineIncident_SecondaryBehaviorsArray" />
    <jb:wiring property="Weapons" beanIdRef="DisciplineIncident_Weapons" />
    <jb:value property="ReportedToLawEnforcement" data="DisciplineIncident/ReportedToLawEnforcement" decoder="Boolean" />
    <jb:value property="CaseNumber" data="DisciplineIncident/CaseNumber" />
    <jb:wiring beanIdRef="SLC-DisciplineIncident_Attributes_SLC-EducationalOrgReferenceType" property="SchoolReference"/>
    <jb:wiring property="SchoolReference" beanIdRef="DisciplineIncident_SchoolReference" />
    <jb:wiring beanIdRef="SLC-DisciplineIncident_Attributes_SLC-StaffReferenceType" property="StaffReference"/>
  </jb:bean>

  <!-- DisciplineIncident supporting objects: Behaviors -->

  <jb:bean beanId="DisciplineIncident_BehaviorsArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident">
    <jb:wiring beanIdRef="DisciplineIncident_Behaviors" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_Behaviors"
      class="java.util.ArrayList"
      createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Behaviors">
      <jb:wiring beanIdRef="DisciplineIncident_Behaviors_CodeValue" />
      <jb:wiring beanIdRef="DisciplineIncident_Behaviors_ShortDescription" />
      <jb:wiring beanIdRef="DisciplineIncident_Behaviors_Description" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_Behaviors_CodeValue"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Behaviors/CodeValue">
    <jb:value property="CodeValue" data="DisciplineIncident/Behaviors/CodeValue" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_Behaviors_ShortDescription"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Behaviors/ShortDescription">
    <jb:value property="ShortDescription" data="DisciplineIncident/Behaviors/ShortDescription" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_Behaviors_Description"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Behaviors/Description">
    <jb:value property="Description" data="DisciplineIncident/Behaviors/Description" />
  </jb:bean>

  <!-- DisciplineIncident supporting objects: SecondaryBehaviors -->

  <jb:bean beanId="DisciplineIncident_SecondaryBehaviorsArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident">
    <jb:wiring beanIdRef="DisciplineIncident_SecondaryBehaviors" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_SecondaryBehaviors"
      class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineIncident/SecondaryBehaviors">
    <jb:value property="BehaviorCategory" data="DisciplineIncident/SecondaryBehaviors/@BehaviorCategory" />
    <jb:value property="SecondaryBehavior" data="DisciplineIncident/SecondaryBehaviors/SecondaryBehavior" />
  </jb:bean>

  <!-- DisciplineIncident supporting objects: Weapons -->

  <jb:bean beanId="DisciplineIncident_Weapons"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Weapons">
    <jb:wiring property="Weapon" beanIdRef="DisciplineIncident_Weapons_WeaponArray" />
  </jb:bean>

  <jb:bean beanId="DisciplineIncident_Weapons_WeaponArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineIncident/Weapons">
    <jb:value data="DisciplineIncident/Weapons/Weapon" />
  </jb:bean>

  <!-- DisciplineIncident supporting objects: SLC-DisciplineIncident_Attributes_SLC-EducationalOrgReferenceType -->

  <jb:bean beanId="SLC-DisciplineIncident_Attributes_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineIncident/SchoolReference">
    <jb:wiring beanIdRef="SLC-DisciplineIncident_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineIncident_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineIncident/SchoolReference/EducationalOrgIdentity">
    <jb:value data="DisciplineIncident/SchoolReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- DisciplineIncident supporting objects: StaffReference -->
  <jb:bean beanId="SLC-DisciplineIncident_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineIncident/StaffReference">
    <jb:wiring beanIdRef="SLC-DisciplineIncident_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineIncident_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineIncident/StaffReference/StaffIdentity">
    <jb:value data="DisciplineIncident/StaffReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <!-- End DisciplineIncident mapping -->

  <!-- Start DisciplineAction mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:expression property="recordType">'disciplineAction'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="disciplineActionMetaData" />
    <jb:wiring property="attributes" beanIdRef="disciplineActionAttributes" />
  </jb:bean>

  <jb:bean beanId="disciplineActionMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:expression property="neutralRecordKeyValueFieldNames">'ResponsibilitySchoolReference,disciplineActionIdentifier'</jb:expression>
  </jb:bean>

  <jb:bean beanId="disciplineActionAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <!-- DisciplineActionIdentifier - simple type -->
    <jb:value property="disciplineActionIdentifier" data="DisciplineAction/DisciplineActionIdentifier" />
    <!-- Disciplines - array of DisciplineDescriptorType type -->
    <jb:wiring property="disciplines" beanIdRef="DA_disciplinesArray" />
    <!-- DisciplineDate - simple type -->
    <jb:value property="disciplineDate" data="DisciplineAction/DisciplineDate" />
    <!-- DisciplineActionLength - simple type -->
    <jb:value property="disciplineActionLength" data="DisciplineAction/DisciplineActionLength" decoder="Integer" />
    <!-- ActualDisciplineActionLength - simple type -->
    <jb:value property="actualDisciplineActionLength" data="DisciplineAction/ActualDisciplineActionLength" decoder="Integer" />
    <!-- DisciplineActionLengthDifferenceReason - simple type -->
    <jb:value property="disciplineActionLengthDifferenceReason" data="DisciplineAction/DisciplineActionLengthDifferenceReason" />
    <!-- StudentReference - array of reference type -->
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StudentReferenceTypeArray" property="StudentReference"/>
    <jb:wiring property="studentId" beanIdRef="DA_studentIdArray" />
    <!-- DisciplineIncidentReference - array of reference type -->
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceTypeArray" property="DisciplineIncidentReference"/>
    <!--jb:wiring property="disciplineIncidentReferenceSchoolId" beanIdRef="DA_stateOrganizationIdArray" /-->
    <jb:wiring property="disciplineIncidentId" beanIdRef="DA_disciplineIncidentIdArray" />
    <!-- StaffReference - array of reference type -->
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StaffReferenceTypeArray" property="StaffReference"/>
    <!-- ResponsibilitySchoolReference reference type -->
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType" property="ResponsibilitySchoolReference"/>
    <!-- AssignmentSchoolReference reference type -->
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType" property="AssignmentSchoolReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StaffReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StaffReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StaffReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/StaffReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" property="StaffIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StaffReferenceType_SLC-StaffIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/StaffReference/StaffIdentity">
    <jb:value data="DisciplineAction/StaffReference/StaffIdentity/StaffUniqueStateId" property="StaffUniqueStateId"/>
  </jb:bean>

  <!-- DisciplineAction supporting objects: Disciplines -->
  <jb:bean beanId="DA_disciplinesArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:wiring beanIdRef="DA_disciplines" />
  </jb:bean>

  <jb:bean beanId="DA_disciplines" class="java.util.ArrayList"
      createOnElement="InterchangeStudentDiscipline/DisciplineAction/Disciplines">
      <jb:wiring beanIdRef="DA_disciplines_codeValue" />
      <jb:wiring beanIdRef="DA_disciplines_shortDescription" />
      <jb:wiring beanIdRef="DA_disciplines_description" />
  </jb:bean>

  <jb:bean beanId="DA_disciplines_codeValue" class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineAction/Disciplines/CodeValue">
    <jb:value property="codeValue" data="DisciplineAction/Disciplines/CodeValue" />
  </jb:bean>

  <jb:bean beanId="DA_disciplines_shortDescription" class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineAction/Disciplines/ShortDescription">
    <jb:value property="shortDescription" data="DisciplineAction/Disciplines/ShortDescription" />
  </jb:bean>

  <jb:bean beanId="DA_disciplines_description" class="java.util.HashMap"
      createOnElement="InterchangeStudentDiscipline/DisciplineAction/Disciplines/Description">
    <jb:value property="description" data="DisciplineAction/Disciplines/Description" />
  </jb:bean>

  <!-- DisciplineAction support object: DA_studentReferenceArray  -->
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StudentReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StudentReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/StudentReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/StudentReference/StudentIdentity">
    <jb:value data="DisciplineAction/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="DA_studentIdArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:value data="DisciplineAction/StudentReference/StudentIdentity/StudentUniqueStateId" />
  </jb:bean>

  <!-- DisciplineAction support object: DA_disciplineIncidentReferenceArray  -->
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceTypeArray" class="java.util.ArrayList" createOnElement="DisciplineAction">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/DisciplineIncidentReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType" property="DisciplineIncidentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/IncidentIdentifier" property="IncidentIdentifier"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!--EdFi model, unused yet -->
  <jb:bean beanId="DA_stateOrganizationIdArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:value data="DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/StateOrganizationId" />
  </jb:bean>

  <!--Current SLI model as on 04/26/2012 -->
  <jb:bean beanId="DA_disciplineIncidentIdArray" class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/DisciplineAction">
    <jb:value data="DisciplineAction/DisciplineIncidentReference/DisciplineIncidentIdentity/IncidentIdentifier" />
  </jb:bean>

  <!-- DisciplineAction supporting objects: DA_responsibilitySchoolReference -->
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/ResponsibilitySchoolReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/ResponsibilitySchoolReference/EducationalOrgIdentity">
    <jb:value data="DisciplineAction/ResponsibilitySchoolReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- DisciplineAction supporting objects: DA_assignmentSchoolReference -->
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/AssignmentSchoolReference">
    <jb:wiring beanIdRef="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-DisciplineAction_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/DisciplineAction/AssignmentSchoolReference/EducationalOrgIdentity">
    <jb:value data="DisciplineAction/AssignmentSchoolReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- End DisciplineAction mapping -->

<!-- Start StudentDisciplineIncidentAssociation mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation">
    <jb:expression property="recordType">'studentDisciplineIncidentAssociation'</jb:expression>
     <jb:wiring property="metaData" beanIdRef="studentDisciplineIncidentAssociationMetaData" />
    <jb:wiring property="attributes" beanIdRef="studentDisciplineIncidentAssociationAttributes" />
  </jb:bean>

  <jb:bean beanId="studentDisciplineIncidentAssociationMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,DisciplineIncidentReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="studentDisciplineIncidentAssociationAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation">
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType" property="DisciplineIncidentReference"/>
    <jb:value property="StudentParticipationCode" data="StudentDisciplineIncidentAssociation/StudentParticipationCode" />
    <jb:wiring property="Behaviors" beanIdRef="StudentDisciplineIncidentAssociation_BehaviorsArray" />
    <jb:wiring property="SecondaryBehaviors" beanIdRef="StudentDisciplineIncidentAssociation_SecondaryBehaviorsArray" />
  </jb:bean>

  <!-- StudentDisciplineIncidentAssociation support object: StudentDisciplineIncidentAssociation_StudentReference  -->
  <jb:bean beanId="StudentDisciplineIncidentAssociation_StudentReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/StudentReference">
    <jb:wiring property="StudentIdentity" beanIdRef="StudentDisciplineIncidentAssociation_StudentReference_StudentIdentity" />
  </jb:bean>
  <jb:bean beanId="StudentDisciplineIncidentAssociation_StudentReference_StudentIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/StudentReference/StudentIdentity">
    <jb:value property="StudentUniqueStateId" data="StudentDisciplineIncidentAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" />
  </jb:bean>

  <!-- StudentDisciplineIncidentAssociation support object: DisciplineIncidentReference  -->
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/DisciplineIncidentReference">
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType" property="DisciplineIncidentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/DisciplineIncidentReference/DisciplineIncidentIdentity">
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="StudentDisciplineIncidentAssociation/DisciplineIncidentReference/DisciplineIncidentIdentity/IncidentIdentifier" property="IncidentIdentifier"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_SLC-DisciplineIncidentReferenceType_SLC-DisciplineIncidentIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="StudentDisciplineIncidentAssociation/DisciplineIncidentReference/DisciplineIncidentIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- StudentDisciplineIncidentAssociation supporting objects: Behaviors -->

  <jb:bean beanId="StudentDisciplineIncidentAssociation_BehaviorsArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation">
    <jb:wiring beanIdRef="StudentDisciplineIncidentAssociation_Behaviors" />
  </jb:bean>
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/StudentReference">
    <jb:wiring beanIdRef="SLC-StudentDisciplineIncidentAssociation_Attributes_StudentReferenceType_StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>

  <jb:bean beanId="StudentDisciplineIncidentAssociation_Behaviors"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/Behaviors">
    <jb:wiring beanIdRef="StudentDisciplineIncidentAssociation_Behaviors_CodeValue" />
    <jb:wiring beanIdRef="StudentDisciplineIncidentAssociation_Behaviors_ShortDescription" />
    <jb:wiring beanIdRef="StudentDisciplineIncidentAssociation_Behaviors_Description" />
  </jb:bean>

  <jb:bean beanId="StudentDisciplineIncidentAssociation_Behaviors_CodeValue"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/Behaviors/CodeValue">
    <jb:value property="CodeValue" data="StudentDisciplineIncidentAssociation/Behaviors/CodeValue" />
  </jb:bean>
  <jb:bean beanId="SLC-StudentDisciplineIncidentAssociation_Attributes_StudentReferenceType_StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/StudentReference/StudentIdentity">
    <jb:value data="StudentDisciplineIncidentAssociation/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="StudentDisciplineIncidentAssociation_Behaviors_ShortDescription"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/Behaviors/ShortDescription">
    <jb:value property="ShortDescription" data="StudentDisciplineIncidentAssociation/Behaviors/ShortDescription" />
  </jb:bean>

  <jb:bean beanId="StudentDisciplineIncidentAssociation_Behaviors_Description"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/Behaviors/Description">
    <jb:value property="Description" data="StudentDisciplineIncidentAssociation/Behaviors/Description" />
  </jb:bean>

  <!-- StudentDisciplineIncidentAssociation supporting objects: SecondaryBehaviors -->

  <jb:bean beanId="StudentDisciplineIncidentAssociation_SecondaryBehaviorsArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation">
    <jb:wiring beanIdRef="StudentDisciplineIncidentAssociation_SecondaryBehaviors" />
  </jb:bean>

  <jb:bean beanId="StudentDisciplineIncidentAssociation_SecondaryBehaviors"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentDiscipline/StudentDisciplineIncidentAssociation/SecondaryBehaviors">
    <jb:value property="BehaviorCategory" data="StudentDisciplineIncidentAssociation/SecondaryBehaviors/@BehaviorCategory" />
    <jb:value property="SecondaryBehavior" data="StudentDisciplineIncidentAssociation/SecondaryBehaviors/SecondaryBehavior" />
  </jb:bean>

  <!-- End StudentDisciplineIncidentAssociation mapping -->

  <!-- Start Grade mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
           createOnElement="InterchangeStudentGrade/Grade">
    <jb:expression property="recordType">'grade'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="gradeMetaData" />
    <jb:wiring property="attributes" beanIdRef="gradeAttributes" />
  </jb:bean>

  <jb:bean beanId="gradeMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/Grade">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentSectionAssociationReference'</jb:expression>
    <jb:expression property="optionalNeutralRecordKeyValueFieldNames">'GradingPeriodReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="gradeAttributes" class="java.util.HashMap"
           createOnElement="InterchangeStudentGrade/Grade">
    <jb:value property="letterGradeEarned" data="InterchangeStudentGrade/Grade/LetterGradeEarned" />
    <jb:value property="numericGradeEarned" data="InterchangeStudentGrade/Grade/NumericGradeEarned" decoder="Integer"/>
    <jb:value property="diagnosticStatement" data="InterchangeStudentGrade/Grade/DiagnosticStatement" />
    <jb:value property="gradeType" data="InterchangeStudentGrade/Grade/GradeType" />
    <jb:value property="performanceBaseConversion" data="InterchangeStudentGrade/Grade/PerformanceBaseConversion" />
    <jb:wiring beanIdRef="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType" property="GradingPeriodReference"/>
    <jb:value property="StudentReference" data="StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" />
    <jb:value property="SectionReference" data="StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
    <jb:wiring property="StudentSectionAssociationReference" beanIdRef="grade_studentSectionAssociationReference" />
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference">
    <jb:wiring beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType" property="StudentSectionAssociationIdentity"/>
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity">
    <jb:value data="Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/BeginDate" property="BeginDate"/>
    <jb:wiring beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" property="SectionReference"/>
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference">
    <jb:wiring beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity">
    <jb:value data="Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring property="EducationalOrgReference" beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" />
    <jb:value property="UniqueSectionCode" data="Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="grade_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:value property="StateOrganizationId" data="Grade/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="Grade/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="Grade/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
  </jb:bean>
  <jb:bean beanId="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-Grade_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/Grade/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="Grade/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- End Grade mapping -->

  <!-- Start CompetencyLevelDescriptor from ed-org interchange mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeEducationOrganization/CompetencyLevelDescriptor">
    <jb:expression property="recordType">'competencyLevelDescriptor'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="edOrgCompetencyLevelDescriptorMetaData" />
    <jb:wiring property="attributes" beanIdRef="CompetencyLevelDescriptorAttributesFromEdorgInterchange" />
  </jb:bean>

  <jb:bean beanId="edOrgCompetencyLevelDescriptorMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/CompetencyLevelDescriptor">
    <jb:expression property="neutralRecordKeyValueFieldNames">'codeValue'</jb:expression>
  </jb:bean>

  <jb:bean beanId="CompetencyLevelDescriptorAttributesFromEdorgInterchange" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrganization/CompetencyLevelDescriptor">
    <jb:value property="codeValue" data="CompetencyLevelDescriptor/CodeValue" />
    <jb:value property="description" data="CompetencyLevelDescriptor/Description" />
    <jb:value property="performanceBaseConversion" data="CompetencyLevelDescriptor/PerformanceBaseConversion" />
  </jb:bean>
  <!-- End CompetencyLevelDescriptor from ed-org interchange mapping -->

  <!-- Start CompetencyLevelDescriptor from student grades interchange mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/CompetencyLevelDescriptor">
    <jb:expression property="recordType">'competencyLevelDescriptor'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentGrade_CompetencyLevelDescriptorMetaData" />
    <jb:wiring property="attributes" beanIdRef="CompetencyLevelDescriptorAttributesFromStudentGradesInterchange" />
  </jb:bean>

  <jb:bean beanId="studentGrade_CompetencyLevelDescriptorMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CompetencyLevelDescriptor">
    <jb:expression property="neutralRecordKeyValueFieldNames">'codeValue'</jb:expression>
  </jb:bean>

  <jb:bean beanId="CompetencyLevelDescriptorAttributesFromStudentGradesInterchange" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/CompetencyLevelDescriptor">
    <jb:value property="codeValue" data="CompetencyLevelDescriptor/CodeValue" />
    <jb:value property="description" data="CompetencyLevelDescriptor/Description" />
    <jb:value property="performanceBaseConversion" data="CompetencyLevelDescriptor/PerformanceBaseConversion" />
  </jb:bean>
  <!-- End CompetencyLevelDescriptor from student grades interchange mapping -->

  <!-- Start gradingPeriod mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
             createOnElement="InterchangeEducationOrgCalendar/GradingPeriod">
        <jb:expression property="recordType">'gradingPeriod'</jb:expression>
        <jb:wiring property="metaData" beanIdRef="gradingPeriodMetaData" />
        <jb:wiring property="attributes" beanIdRef="gradingPeriodAttributes" />
  </jb:bean>

  <jb:bean beanId="gradingPeriodMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrgCalendar/GradingPeriod">
    <jb:expression property="neutralRecordKeyValueFieldNames">'GradingPeriod,EducationOrganizationReference,beginDate'</jb:expression>
  </jb:bean>

  <jb:bean beanId="gradingPeriodAttributes" class="java.util.HashMap"
             createOnElement="InterchangeEducationOrgCalendar/GradingPeriod">
        <jb:value property="GradingPeriod" data="InterchangeEducationOrgCalendar/GradingPeriod/GradingPeriod"/>
        <jb:value property="SchoolYear" data="InterchangeEducationOrgCalendar/GradingPeriod/SchoolYear"/>
        <jb:wiring property="EducationOrganizationReference" beanIdRef="gradingPeriod_edOrgRef" />
        <jb:value property="beginDate" data="BeginDate" />
        <jb:value property="endDate" data="EndDate" />
        <jb:value property="totalInstructionalDays" data="TotalInstructionalDays" decoder="Integer" />
        <jb:wiring property="CalendarDateReference" beanIdRef="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceTypeArray" />
  </jb:bean>

  <jb:bean beanId="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceTypeArray" class="java.util.ArrayList" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod">
    <jb:wiring beanIdRef="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/CalendarDateReference">
    <jb:wiring property="CalendarDateIdentity" beanIdRef="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType" />
  </jb:bean>
   <jb:bean beanId="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/CalendarDateReference/CalendarDateIdentity">
    <jb:value data="GradingPeriod/CalendarDateReference/CalendarDateIdentity/Date" property="Date"/>
    <jb:wiring beanIdRef="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType_SLC-EducationalOrgReferenceType" property="EducationOrgReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/CalendarDateReference/CalendarDateIdentity/EducationOrgReference">
    <jb:wiring beanIdRef="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-GradingPeriod_Attributes_SLC-CalendarDateReferenceType_SLC-CalendarDateIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/CalendarDateReference/CalendarDateIdentity/EducationOrgReference/EducationalOrgIdentity">
    <jb:value data="GradingPeriod/CalendarDateReference/CalendarDateIdentity/EducationOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <jb:bean beanId="gradingPeriod_edOrgRef" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/EducationOrganizationReference">
        <jb:wiring property="EducationalOrgIdentity" beanIdRef="gradingPeriod_edOrgRef_edOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="gradingPeriod_edOrgRef_edOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/GradingPeriod/EducationOrganizationReference">
        <jb:value property="StateOrganizationId" data="InterchangeEducationOrgCalendar/GradingPeriod/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <!-- End gradingPeriod mapping -->

  <!-- Start calendarDate mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
             createOnElement="InterchangeEducationOrgCalendar/CalendarDate">
        <jb:expression property="recordType">'calendarDate'</jb:expression>
        <jb:wiring property="metaData" beanIdRef="calendarDateMetaData" />
        <jb:wiring property="attributes" beanIdRef="calendarDateAttributes" />
  </jb:bean>

  <jb:bean beanId="calendarDateMetaData" class="java.util.HashMap"
    createOnElement="InterchangeEducationOrgCalendar/CalendarDate">
    <jb:expression property="neutralRecordKeyValueFieldNames">'date,EducationOrgReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="calendarDateAttributes" class="java.util.HashMap"
             createOnElement="InterchangeEducationOrgCalendar/CalendarDate">
        <jb:value property="date" data="Date" />
        <jb:value property="calendarEvent" data="CalendarEvent" />
        <jb:wiring beanIdRef="SLC-CalendarDate_Attributes_SLC-EducationalOrgReferenceType" property="EducationOrgReference"/>
  </jb:bean>

  <!-- calendarDate supporting objects: EducationOrgReference -->
  <jb:bean beanId="SLC-CalendarDate_Attributes_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/CalendarDate/EducationOrgReference">
    <jb:wiring beanIdRef="SLC-CalendarDate_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CalendarDate_Attributes_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeEducationOrgCalendar/CalendarDate/EducationOrgReference/EducationalOrgIdentity">
    <jb:value data="CalendarDate/EducationOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <!-- End calendarDate mapping -->

  <!-- Start StudentCompetencyObjective mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/StudentCompetencyObjective">
    <jb:expression property="recordType">'studentCompetencyObjective'</jb:expression>
     <jb:wiring property="metaData" beanIdRef="studentCompetencyObjectiveMetaData" />
    <jb:wiring property="attributes" beanIdRef="StudentCompetencyObjectiveAttributes" />
  </jb:bean>

    <jb:bean beanId="studentCompetencyObjectiveMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentCompetencyObjective">
    <jb:expression property="neutralRecordKeyValueFieldNames">'studentCompetencyObjectiveId'</jb:expression>
  </jb:bean>

  <jb:bean beanId="StudentCompetencyObjectiveAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentCompetencyObjective">
    <jb:value property="studentCompetencyObjectiveId" data="StudentCompetencyObjective/StudentCompetencyObjectiveId" />
    <jb:wiring property="EducationOrganizationReference" beanIdRef="StudentCompetencyObjective_EdOrgReference" />
    <jb:value property="objective" data="StudentCompetencyObjective/Objective" />
    <jb:value property="description" data="StudentCompetencyObjective/Description" />
    <jb:value property="objectiveGradeLevel" data="StudentCompetencyObjective/ObjectiveGradeLevel" />
  </jb:bean>

   <jb:bean beanId="StudentCompetencyObjective_EdOrgReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetencyObjective/EducationOrganizationReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="StudentCompetencyObjective_EdOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="StudentCompetencyObjective_EdOrgIdentity" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetencyObjective">
    <jb:value property="StateOrganizationId" data="InterchangeStudentGrade/StudentCompetencyObjective/EducationOrganizationReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:wiring property="educationOrgIdentificationCode" beanIdRef="StudentCompetencyObjective_EdOrgidentificationCodeList" />
  </jb:bean>

  <!-- End StudentCompetencyObjective mapping -->

  <!-- Start StudentCompetency mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeStudentGrade/StudentCompetency">
    <jb:expression property="recordType">'studentCompetency'</jb:expression>
    <jb:wiring property="metaData" beanIdRef="studentCompetencyMetaData" />
    <jb:wiring property="attributes" beanIdRef="StudentCompetencyAttributes" />
  </jb:bean>

  <jb:bean beanId="studentCompetencyMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentCompetency">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentSectionAssociationReference,competencyLevel.codeValue'</jb:expression>
    <jb:expression property="optionalNeutralRecordKeyValueFieldNames">'StudentCompetencyObjectiveReference,LearningObjectiveReference'</jb:expression>
  </jb:bean>

  <jb:bean beanId="StudentCompetencyAttributes" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentCompetency">
    <jb:wiring property="competencyLevel" beanIdRef="StudentCompetency_CompetencyLevelDescriptor" />
    <jb:wiring beanIdRef="SLC-StudentCompetency_Attributes_SLC-LearningObjectiveReferenceType" property="LearningObjectiveReference"/>
    <jb:wiring beanIdRef="SLC-StudentCompetency_Attributes_SLC-StudentCompetencyObjectiveReferenceType" property="StudentCompetencyObjectiveReference"/>
    <jb:value property="diagnosticStatement" data="StudentCompetency/DiagnosticStatement" />
    <jb:value property="StudentReference" data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" />
    <jb:value property="SectionReference" data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
    <jb:wiring property="StudentSectionAssociationReference" beanIdRef="studentCompetency_studentSectionAssociationReference" />
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentSectionAssociationReference">
    <jb:wiring beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType" property="StudentSectionAssociationIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity">
    <jb:value data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/BeginDate" property="BeginDate"/>
    <jb:wiring beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" property="SectionReference"/>
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference">
    <jb:wiring beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity">
    <jb:value data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring property="EducationalOrgReference" beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" />
    <jb:value property="UniqueSectionCode" data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" />
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference" class="java.util.HashMap" createOnElement="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="studentCompetency_studentSectionAssociationReference_StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_EducationalOrgReference_EducationalOrgIdentity" class="java.util.HashMap" createOnElement="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:value property="StateOrganizationId" data="StudentCompetency/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

 <jb:bean beanId="StudentCompetency_CompetencyLevelDescriptor" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/StudentCompetency/CompetencyLevel">
    <jb:value property="codeValue" data="StudentCompetency/CompetencyLevel/CodeValue" />
    <jb:value property="description" data="StudentCompetency/CompetencyLevel/Description" />
  </jb:bean>

  <jb:bean beanId="SLC-StudentCompetency_Attributes_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-StudentCompetency_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentCompetency_Attributes_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="StudentCompetency/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="StudentCompetency/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="StudentCompetency/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>

  <jb:bean beanId="SLC-StudentCompetency_Attributes_SLC-StudentCompetencyObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentCompetencyObjectiveReference">
    <jb:wiring beanIdRef="SLC-StudentCompetency_Attributes_SLC-StudentCompetencyObjectiveReferenceType_SLC-StudentCompetencyObjectiveIdentityType" property="StudentCompetencyObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-StudentCompetency_Attributes_SLC-StudentCompetencyObjectiveReferenceType_SLC-StudentCompetencyObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/StudentCompetency/StudentCompetencyObjectiveReference/StudentCompetencyObjectiveIdentity">
    <jb:value data="StudentCompetency/StudentCompetencyObjectiveReference/StudentCompetencyObjectiveIdentity/StudentCompetencyObjectiveId" property="StudentCompetencyObjectiveId"/>
  </jb:bean>
  <!-- End StudentCompetency mapping -->

    <!-- Start ReportCard mapping -->
    <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
             createOnElement="InterchangeStudentGrade/ReportCard">
        <jb:expression property="recordType">'reportCard'</jb:expression>
        <jb:wiring property="metaData" beanIdRef="reportCardMetaData" />
        <jb:wiring property="attributes" beanIdRef="ReportCardAttributes" />
    </jb:bean>

  <jb:bean beanId="reportCardMetaData" class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/ReportCard">
    <jb:expression property="neutralRecordKeyValueFieldNames">'StudentReference,GradingPeriodReference'</jb:expression>
  </jb:bean>

    <jb:bean beanId="ReportCardAttributes" class="java.util.HashMap"
             createOnElement="InterchangeStudentGrade/ReportCard">
        <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentReferenceType" property="StudentReference"/>
        <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType" property="GradingPeriodReference"/>
        <jb:value property="gpaGivenGradingPeriod" data="ReportCard/GPAGivenGradingPeriod" decoder="Double" />
        <jb:value property="gpaCumulative" data="ReportCard/GPACumulative" decoder="Double" />
        <jb:value property="numberOfDaysAbsent" data="ReportCard/NumberOfDaysAbsent" decoder="Integer" />
        <jb:value property="numberOfDaysInAttendance" data="ReportCard/NumberOfDaysInAttendance" decoder="Integer"/>
        <jb:value property="numberOfDaysTardy" data="ReportCard/NumberOfDaysTardy" decoder="Integer" />
         <jb:wiring property="StudentCompetencyReference" beanIdRef="ReportCard_StudentCompetencyReferenceArray" />
        <!-- <jb:wiring property="gradeReference" beanIdRef="reportCard_gradeReferenceArray"/> -->
        <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceTypeArray" property="GradeReference"/>
    </jb:bean>

  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentReference/StudentIdentity">
    <jb:value data="ReportCard/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="ReportCard/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="ReportCard/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
    <jb:value data="ReportCard/GradingPeriodReference/GradingPeriodIdentity/SchoolYear" property="SchoolYear"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="ReportCard/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

   <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceTypeArray" class="java.util.ArrayList" createOnElement="ReportCard">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType" property="GradeIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType" property="GradingPeriodReference"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType" property="StudentSectionAssociationReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" property="GradingPeriodIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/BeginDate" property="BeginDate"/>
    <jb:value data="ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" property="GradingPeriod"/>
    <jb:value data="ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/SchoolYear" property="SchoolYear"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-GradingPeriodReferenceType_SLC-GradingPeriodIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType" property="StudentSectionAssociationIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity">
    <jb:value data="ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/BeginDate" property="BeginDate"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType" property="SectionReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity">
    <jb:value data="ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity">
    <jb:value data="ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" property="UniqueSectionCode"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-GradeReferenceType_SLC-GradeIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

    <jb:bean beanId="ReportCard_StudentCompetencyReferenceArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/ReportCard">
        <jb:wiring beanIdRef="ReportCard_StudentCompetencyReference" />
    </jb:bean>

    <jb:bean beanId="ReportCard_StudentCompetencyReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference">
        <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType" property="StudentCompetencyIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/CodeValue" property="CodeValue"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType" property="StudentSectionAssociationReference"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-LearningObjectiveReferenceType" property="LearningObjectiveReference"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentCompetencyObjectiveReferenceType" property="StudentCompetencyObjectiveReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType" property="StudentSectionAssociationIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType" property="StudentReference"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType" property="SectionReference"/>
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/BeginDate" property="BeginDate"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" property="StudentIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-StudentReferenceType_SLC-StudentIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId" property="StudentUniqueStateId"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" property="SectionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode" property="UniqueSectionCode"/>
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentSectionAssociationReferenceType_SLC-StudentSectionAssociationIdentityType_SLC-SectionReferenceType_SLC-SectionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-LearningObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/LearningObjectiveReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" property="LearningObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-LearningObjectiveReferenceType_SLC-LearningObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/LearningObjectiveReference/LearningObjectiveIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/LearningObjectiveReference/LearningObjectiveIdentity/ObjectiveGradeLevel" property="ObjectiveGradeLevel"/>
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/LearningObjectiveReference/LearningObjectiveIdentity/Objective" property="Objective"/>
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/LearningObjectiveReference/LearningObjectiveIdentity/AcademicSubject" property="AcademicSubject"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentCompetencyObjectiveReferenceType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentCompetencyObjectiveReference">
    <jb:wiring beanIdRef="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentCompetencyObjectiveReferenceType_SLC-StudentCompetencyObjectiveIdentityType" property="StudentCompetencyObjectiveIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-ReportCard_Attributes_SLC-StudentCompetencyReferenceType_SLC-StudentCompetencyIdentityType_SLC-StudentCompetencyObjectiveReferenceType_SLC-StudentCompetencyObjectiveIdentityType" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentCompetencyObjectiveReference/StudentCompetencyObjectiveIdentity">
    <jb:value data="ReportCard/StudentCompetencyReference/StudentCompetencyIdentity/StudentCompetencyObjectiveReference/StudentCompetencyObjectiveIdentity/StudentCompetencyObjectiveId" property="StudentCompetencyObjectiveId"/>
  </jb:bean>

  <jb:bean beanId="ReportCard_GradingPeriodReference"
    class="java.util.HashMap"
    createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference">
    <jb:value property="gradingPeriod" data="GradingPeriodReference/GradingPeriodIdentity/GradingPeriod" />
    <jb:value property="schoolYear" data="GradingPeriodReference/GradingPeriodIdentity/SchoolYear" />
    <jb:value property="stateOrganizationId" data="GradingPeriodReference/GradingPeriodIdentity/StateOrganizationId" />
    <!-- <jb:wiring property="educationalOrgIdentity" beanIdRef="ReportCard__gradingPeriod_educationalOrgIdentity_array" /> -->
  </jb:bean>

  <jb:bean beanId="ReportCard__gradingPeriod_educationalOrgIdentity_array" class="java.util.ArrayList"
           createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference">
        <jb:wiring beanIdRef="ReportCard__gradingPeriod_educationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="ReportCard__gradingPeriod_educationalOrgIdentity" class="java.util.HashMap"
           createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference">
        <jb:value property="stateOrganizationId" data="GradingPeriodIdentity/StateOrganizationId" />
        <jb:wiring property="educationOrgIdentificationCode" beanIdRef="ReportCard__gradingPeriod_educationalOrgIdentificationCode_Array" />
  </jb:bean>

  <jb:bean beanId="ReportCard__gradingPeriod_educationalOrgIdentificationCode_Array" class="java.util.ArrayList"
           createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode" >
    <jb:wiring beanIdRef="ReportCard_gradingPeriod_educationalOrgIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="ReportCard_gradingPeriod_educationalOrgIdentificationCode" class="java.util.HashMap"
           createOnElement="InterchangeStudentGrade/ReportCard/GradingPeriodReference/GradingPeriodIdentity/EducationOrgIdentificationCode">
    <jb:value property="ID" data="EducationOrgIdentificationCode/ID" />
    <jb:value property="IdentificationSystem" data="EducationOrgIdentificationCode/IdentificationSystem" />
  </jb:bean>

  <jb:bean beanId="reportCard_gradeReferenceArray" class="java.util.ArrayList" createOnElement="InterchangeStudentGrade/ReportCard">
    <jb:wiring beanIdRef="ReportCard_GradeReference" />
  </jb:bean>

  <jb:bean beanId="ReportCard_GradeReference" class="java.util.HashMap" createOnElement="InterchangeStudentGrade/ReportCard/GradeReference">
      <jb:value property="studentUniqueStateId"
          data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/StudentReference/StudentIdentity/StudentUniqueStateId"/>
      <jb:value property="stateOrganizationId"
          data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId"/>
      <jb:value property="uniqueSectionCode"
          data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/StudentSectionAssociationReference/StudentSectionAssociationIdentity/SectionReference/SectionIdentity/UniqueSectionCode"/>
      <jb:value property="gradingPeriod" data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/GradingPeriod"/>
      <jb:value property="schoolYear" data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/SchoolYear"/>
      <!--  <jb:value property="StateOrganizationId" data="InterchangeStudentGrade/ReportCard/GradeReference/GradeIdentity/GradingPeriodReference/GradingPeriodIdentity/StateOrganizationId"/>-->
  </jb:bean>

    <!-- End ReportCard mapping -->
  <!-- Start CourseOffering mapping -->
  <jb:bean beanId="record" class="org.slc.sli.ingestion.NeutralRecord"
    createOnElement="InterchangeMasterSchedule/CourseOffering">
    <jb:expression property="recordType">'courseOffering'</jb:expression>
    <jb:expression property="association">true</jb:expression>
    <jb:wiring property="metaData" beanIdRef="courseOfferingMetaData" />
    <jb:wiring property="attributes" beanIdRef="courseOfferingAttributes" />
  </jb:bean>

  <jb:bean beanId="courseOfferingMetaData" class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering">
    <jb:expression property="neutralRecordKeyValueFieldNames">'SchoolReference,SessionReference,LocalCourseCode'</jb:expression>
  </jb:bean>

  <jb:bean beanId="courseOfferingAttributes" class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering">
    <jb:value property="LocalCourseCode" data="CourseOffering/LocalCourseCode" />
    <jb:value property="LocalCourseTitle" data="CourseOffering/LocalCourseTitle" />
    <jb:wiring property="SchoolReference" beanIdRef="CourseOffering_SchoolReference" />
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-SessionReferenceType" property="SessionReference"/>
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-CourseReferenceType" property="CourseReference"/>
  </jb:bean>

  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-CourseReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType" property="CourseIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="CourseOffering/CourseReference/CourseIdentity/UniqueCourseId" property="UniqueCourseId"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-CourseReferenceType_SLC-CourseIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="CourseOffering/CourseReference/CourseIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- CourseOffering supporting objects: SchoolReference -->

  <jb:bean beanId="CourseOffering_SchoolReference"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/SchoolReference">
    <jb:wiring property="EducationalOrgIdentity" beanIdRef="CourseOffering_SchoolReference_EducationalOrgIdentity" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_SchoolReference_EducationalOrgIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/SchoolReference/EducationalOrgIdentity">
    <jb:value property="StateOrganizationId" data="CourseOffering/SchoolReference/EducationalOrgIdentity/StateOrganizationId" />
    <jb:wiring property="EducationOrgIdentificationCode" beanIdRef="CourseOffering_SchoolReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_SchoolReference_EducationalOrgIdentity_StateOrganizationIdArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeMasterSchedule/CourseOffering/SchoolReference/EducationalOrgIdentity">
    <jb:value data="CourseOffering/SchoolReference/EducationalOrgIdentity/StateOrganizationId" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_SchoolReference_EducationalOrgIdentity_EducationOrgIdentificationCodeArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeMasterSchedule/CourseOffering/SchoolReference/EducationalOrgIdentity">
    <jb:wiring beanIdRef="CourseOffering_SchoolReference_EducationalOrgIdentity_EducationOrgIdentificationCode" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_SchoolReference_EducationalOrgIdentity_EducationOrgIdentificationCode"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode">
    <jb:value property="IdentificationSystem" data="CourseOffering/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode/@IdentificationSystem" />
    <jb:value property="ID" data="CourseOffering/SchoolReference/EducationalOrgIdentity/EducationOrgIdentificationCode/ID" />
  </jb:bean>

  <!-- CourseOffering supporting objects: SessionReference -->
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-SessionReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/SessionReference">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" property="SessionIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/SessionReference/SessionIdentity">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" property="EducationalOrgReference"/>
    <jb:value data="CourseOffering/SessionReference/SessionIdentity/SessionName" property="SessionName"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/SessionReference/SessionIdentity/EducationalOrgReference">
    <jb:wiring beanIdRef="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" property="EducationalOrgIdentity"/>
  </jb:bean>
  <jb:bean beanId="SLC-CourseOffering_Attributes_SLC-SessionReferenceType_SLC-SessionIdentityType_SLC-EducationalOrgReferenceType_SLC-EducationalOrgIdentityType" class="java.util.HashMap" createOnElement="InterchangeMasterSchedule/CourseOffering/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity">
    <jb:value data="CourseOffering/SessionReference/SessionIdentity/EducationalOrgReference/EducationalOrgIdentity/StateOrganizationId" property="StateOrganizationId"/>
  </jb:bean>

  <!-- CourseOffering supporting objects: CourseReference -->

  <jb:bean beanId="CourseOffering_CourseReference"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference">
    <jb:wiring property="CourseIdentity" beanIdRef="CourseOffering_CourseReference_CourseIdentity" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_CourseReference_CourseIdentity"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity">
    <jb:wiring property="CourseCode" beanIdRef="CourseOffering_CourseReference_CourseIdentity_CourseCodeArray" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_CourseReference_CourseIdentity_CourseCodeArray"
    class="java.util.ArrayList"
    createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity">
    <jb:wiring beanIdRef="CourseOffering_CourseReference_CourseIdentity_CourseCode" />
  </jb:bean>

  <jb:bean beanId="CourseOffering_CourseReference_CourseIdentity_CourseCode"
    class="java.util.HashMap"
    createOnElement="InterchangeMasterSchedule/CourseOffering/CourseReference/CourseIdentity/CourseCode">
    <jb:value property="IdentificationSystem" data="CourseOffering/CourseReference/CourseIdentity/CourseCode/@IdentificationSystem" />
    <jb:value property="AssigningOrganizationCode" data="CourseOffering/CourseReference/CourseIdentity/CourseCode/@AssigningOrganizationCode" />
    <jb:value property="ID" data="CourseOffering/CourseReference/CourseIdentity/CourseCode/ID" />
  </jb:bean>
  <!-- End CourseReference mapping -->

</smooks-resource-list>