Exemplo n.º 1
0
 /**
  * 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;
 }