protected function getResultText(SMWQueryResult $res, $outputmode) { if ($outputmode == SMW_OUTPUT_FILE) { // make RDF file $serializer = $this->syntax == 'turtle' ? new SMWTurtleSerializer() : new SMWRDFXMLSerializer(); $serializer->startSerialization(); $serializer->serializeExpData(SMWExporter::getOntologyExpData('')); while ($row = $res->getNext()) { $subjectDi = reset($row)->getResultSubject(); $data = SMWExporter::makeExportDataForSubject($subjectDi); foreach ($row as $resultarray) { $printreq = $resultarray->getPrintRequest(); $property = null; switch ($printreq->getMode()) { case SMWPrintRequest::PRINT_PROP: $property = $printreq->getData()->getDataItem(); break; case SMWPrintRequest::PRINT_CATS: $property = new SMWDIProperty('_TYPE'); break; case SMWPrintRequest::PRINT_CCAT: // not serialised right now break; case SMWPrintRequest::PRINT_THIS: // ignored here (object is always included in export) break; } if (!is_null($property)) { SMWExporter::addPropertyValues($property, $resultarray->getContent(), $data, $subjectDi); } } $serializer->serializeExpData($data); } $serializer->finishSerialization(); return $serializer->flushContent(); } else { // just make link to feed if ($this->getSearchLabel($outputmode)) { $label = $this->getSearchLabel($outputmode); } else { $label = wfMsgForContent('smw_rdf_link'); } $link = $res->getQueryLink($label); $link->setParameter('rdf', 'format'); $link->setParameter($this->syntax, 'syntax'); if (array_key_exists('limit', $this->params)) { $link->setParameter($this->params['limit'], 'limit'); } else { // use a reasonable default limit $link->setParameter(100, 'limit'); } $this->isHTML = $outputmode == SMW_OUTPUT_HTML; // yes, our code can be viewed as HTML if requested, no more parsing needed return $link->getText($outputmode, $this->mLinker); } }