/** * Parse context entity. * @param $context XMLNode * @return RTContext */ function &parseContext(&$context) { $newContext = new RTContext(); $numSearches = 0; foreach ($context->getChildren() as $attrib) { switch ($attrib->getName()) { case 'context_title': $newContext->title = $attrib->getValue(); break; case 'context_abbrev': $newContext->abbrev = $attrib->getValue(); break; case 'context_description': $newContext->description = $attrib->getValue(); break; case 'cites_context': $newContext->citedBy = true; break; case 'author_terms': $newContext->authorTerms = true; break; case 'geo_terms': $newContext->geoTerms = true; break; case 'define_terms': $newContext->defineTerms = true; break; case 'search': $newSearch =& $this->parseSearch($attrib); $newSearch->order = $numSearches++; $newContext->addSearch($newSearch); break; } } return $newContext; }