public function write(RecordInterface $record) { if ($record instanceof RssRecord) { $writer = new Writer($record->getTitle(), $record->getLink(), $record->getDescription()); $this->buildChannel($record, $writer); foreach ($record as $row) { $item = $writer->createItem(); $this->buildItem($row, $item); $item->close(); } return $writer->toString(); } elseif ($record instanceof Item) { $writer = new Writer\Item(); $this->buildItem($record, $writer); return $writer->toString(); } else { throw new InvalidArgumentException('Record must be an PSX\\Rss or PSX\\Rss\\Item record'); } }