code: private void writeAssignmentExtendedAttributes(Project.Assignments.Assignment xml, ResourceAssignment mpx)
     {
        Project.Assignments.Assignment.ExtendedAttribute attrib;
        List<Project.Assignments.Assignment.ExtendedAttribute> extendedAttributes = xml.getExtendedAttribute();
  
        for (AssignmentField mpxFieldID : getAllAssignmentExtendedAttributes())
        {
           Object value = mpx.getCachedValue(mpxFieldID);
  
           if (FieldTypeHelper.valueIsNotDefault(mpxFieldID, value))
           {
              m_extendedAttributesInUse.add(mpxFieldID);
  
              Integer xmlFieldID = Integer.valueOf(MPPAssignmentField.getID(mpxFieldID) | MPPAssignmentField.ASSIGNMENT_FIELD_BASE);
  
              attrib = m_factory.createProjectAssignmentsAssignmentExtendedAttribute();
              extendedAttributes.add(attrib);
              attrib.setFieldID(xmlFieldID.toString());
              attrib.setValue(DatatypeConverter.printExtendedAttribute(this, value, mpxFieldID.getDataType()));
              attrib.setDurationFormat(printExtendedAttributeDurationFormat(value));
           }
        }
     }
docs: This method writes extended attribute data for an assignment.
  
  @param xml MSPDI assignment
  @param mpx MPXJ assignment