name = $tag['tag']; $elements[$index]->attributes = $tag['attributes']; $elements[$index]->content = $tag['value']; if ($tag['type'] == "open") { // push $elements[$index]->children = array(); $stack[count($stack)] = &$elements; $elements = &$elements[$index]->children; } } if ($tag['type'] == "close") { // pop $elements = &$stack[count($stack) - 1]; unset($stack[count($stack) - 1]); } } return $elements[0]; // the single top-level element } // For example: //general parsing instructions for the resume XML file. function loadXMLFile($filename) { // read the XML file . $xml = implode("", file($filename)); $resume = xml_to_object($xml); return $resume; } function loadObjects($array) { global $person, $quals, $education, $jobs, $employment, $publications, $projects; while (count($array) > 0) { $xmlObject = array_shift($array); $objectName = substr($xmlObject->getName(),7); switch ($objectName) { case "Person": $person = new Person(); $person->loadObject($xmlObject); break; case "Qualifications": $quals = new Qualifications(); $quals->loadObject($xmlObject); break; case "Education": $education = new Education(); $education->loadObject($xmlObject); break; case "Employment": $employment = new Employment(); $employment->loadObject($xmlObject); break; case "Publications": $publications = new Publications(); $publications->loadObject($xmlObject); break; case "Projects": $projects = new Projects(); $projects->loadObject($xmlObject); break; } } } function compDegrees($a, $b) { $year1 = $a->getYear(); $year2 = $b->getYear(); if ($year1 == $year2) return 0; return ($year1 > $year2) ? -1 : 1; } function compJobsYear($a, $b) { $year1 = $a->getStartYear(); $year2 = $b->getStartYear(); if ($year1 == $year2) return 0; return ($year1 > $year2) ? -1 : 1; } function compJobsType($a, $b) { $test1 = $a->getJobType(); $test2 = $b->getJobType(); if ($year1 == $year2) return 0; return ($year1 > $year2) ? -1 : 1; } function renderDegrees($object) { $degrees = $object->getDegrees(); usort($degrees,"compDegrees"); foreach ($degrees as $degree) { $program = $degree->getProgram(); $degreeType=$degree->getDegreeType(); $ins=$degree->getInstitution(); $name = $ins->getName(); $location = $ins->getLocation(); $department = $ins->getDepartment(); $insUrl = $ins->getInstitutionUrl(); $depUrl = $ins->getDepartmentUrl(); $year=$degree->getYear(); $specialty=$degree->getSpecialty(); $grade=$degree->getGrade(); $honors=$degree->getHonors(); echo "
$degreeType, $program ($year)
";
echo "$department
";
echo "$name, $location
";
//echo "GPA: $grade
";
//echo "Focus: $specialty
";
//echo "Honors
$title ($startYear - $endYear)
";
echo "$name, $location
";
if ($department) echo "$department
";
$resps = $job->getResponsibilities();
renderResponsibilities($resps);
$techskills = $job->getTechnicalSkills();
renderTechSkills($techskills);
echo "
Consulting Experience:
"; echo "Since 1997, I've worked as a consultant for large organizations in the private and public sectors, including financial services, health care, government and academically-oriented research centers. "; echo "My list of clients include $list
"; echo "I've designed and developed large scale data-driven web applications, consulted on and participated in writing scientific research papers, written and maintained business-critical databases. I've participated in all phases of software developement, have developed a methodology for working with diverse clients and have established a reputation for delivering quality information products and services.
"; echo "In June, 2005, I founded my own company, Arcus Associates, LLC to serve as my own consulting company. Through Arcus, I offer premier information design and development and expertise in many cutting edge technologies.
"; echo "For a detailed version of my resume, please click here."; echo "
Non-Consulting Experience:
"; foreach ($FullTimeWork as $job) { $title = $job->getTitle(); $jobType = $job->getJobType(); $ins = $job->getInstitution(); $name = $ins->getName(); $location = $ins->getLocation(); $department = $ins->getDepartment(); $url = $ins->getInstitutionUrl(); $startYear = $job->getStartYear(); $endYear = $job->getEndYear(); $startYear = $job->getStartYear(); $endYear = $job->getEndYear(); echo "$title ($startYear - $endYear)
";
echo "$name, $location
";
if ($department) echo "$department
";
//$resps = $job->getResponsibilities();
//renderResponsibilities($resps);
//$techskills = $job->getTechnicalSkills();
//renderTechSkills($techskills);
echo "
Key Achievements and Responsibilities
"; echo "Skills Used
"; $platforms = $object->getPlatforms(); $software = $object->getSoftware(); $languages = $object->getLanguages(); echo ""; if ($platforms) renderSkills($platforms, "Platforms"); if ($software) renderSkills($software, "Software"); if ($languages) renderLanguages($languages, "Languages"); echo "
"; } function renderSkills($array, $skillType) { $list="$skillType: "; foreach ($array as $skillset) { $i++; $name = $skillset->getName(); $version = $skillset->getVersion(); $percent = $skillset->getPercentTime(); $list .="$name ($version)"; if ($i < count($array)) $list .=", "; else $list.="."; // print_r($pub); $authors = $pub->getAuthors(); foreach ($authors as $author) { $firstName=$author->getFirstName(); $lastName=$author->getLastName(); $list.=" $lastName, $firstName;"; } $title = $pub->getTitle(); $citation= $pub->getCitation(); $date = $pub->getDate(); $type = $pub->getType(); $list .='"' . $title . '"; ' . $citation . "; " . $date ; $list.="
"; echo $list; unset($list); } } function renderProjects($projectsObject) { $projArray=$projectsObject->getProjects(); foreach ($projArray as $project) { $projectName = $project->getName(); $projectUrl = $project->getProjectUrl(); $description = $project->getDescription(); $projectType = $project->getProjectType(); $startDate = $project->getStartDate(); $endDate = $project->getEndDate(); echo "".$projectName.": ".$description."
"; } } function renderPerson($person) { $firstName = $person->getFirstName(); $lastName = $person->getLastName(); $middleName = $person->getMiddleName(); $contactInfo = $person->getContactInfo(); $streetAddress = $contactInfo->getStreetAddress(); $apartment = $contactInfo->getApartment(); $city = $contactInfo->getCity(); $state = $contactInfo->getState(); $emailAddress = $contactInfo->getEmailAddress(); $title = $person->getTitle(); echo ""; echo "