Kliki, et näha millise XML'i allolev kood valmistab

/**
 * $entries on toodete massiiv.
 */
$entries = array();
$entries[0]['url'] = 'http://minu-domeen.ee/mobiiltelefon-nokia-6600-slide-black-47681';
$entries[0]['image-url'] = 'http://minu-domeen.ee/pildid/mobiiltelefon-nokia-6600-slide-black-47681.jpg';
$entries[0]['title'] = 'Mobiiltelefon Nokia 600 Slide Black';
$entries[0]['summary'] = 'Nokia 6600 Slide on rohkem kui lihtsalt stiilne vidin - see on tõeline multimeedia keskus!';
$entries[0]['updated'] = 1263130943; // Peab olema UNIX_TIMESTAMP täisarv
$entries[0]['category'] = array('Telefon','Mobiiltelefon','Liugklapiga mobiiltelefon');
$entries[0]['param']['price'] = '3790.50';
$entries[0]['param']['price-old'] = '4349.00';
$entries[0]['param']['delivery-cost'] = 39;
$entries[0]['param']['delivery-time'] = 6;
$entries[0]['param']['amount-in-stock'] = 12;
$entries[0]['param']['brand'] = 'Nokia';
$entries[0]['param']['sku'] = '00012345678905,NOKIA6600BLACK,9780674027954';

$obj = new SopsoFeedCreator('minu-domeen.ee', 'minu-domeen.ee XML Feed', $entries);

class SopsoFeedCreator {
  /**
   * @param string $strAuthor
   * @param string $strTitle
   * @param array $entries
   */
  public function  __construct($strAuthor, $strTitle, array $entries) {
    try {
      set_error_handler(array($this,'HandleError'), E_ALL);

      $objWriter = new XMLWriter();

      // Määrame ajavööndi
      if ((function_exists('date_default_timezone_set')) && (!ini_get('date.timezone')))
        date_default_timezone_set('Europe/Tallinn');

      // Saadame väljundi kohe kasutajale või kirjutame puhvrisse
//      $objWriter->openURI('php://output');
      $objWriter->openMemory();

      $objWriter->startDocument('1.0','UTF-8');

      $objWriter->startElement('feed');
      // writeAttribute kirjutab xml parameetri xmlns="http://www.w3.org/2005/Atom"
      $objWriter->writeAttribute('xmlns', 'http://www.w3.org/2005/Atom');

      // startElement kirjutab xml elemendi <author>
      $objWriter->startElement("author");
      // writeElement kirjutab xml elemendi <name>$strAuthor</name>
      $objWriter->writeElement('name', $strAuthor);
      // endElement kirjutab xml elemendi </author>
      $objWriter->endElement();

      $strUrl = sprintf('http://%s%s',$_SERVER['HTTP_HOST'],$_SERVER['REQUEST_URI']);

      $objWriter->writeElement('id', $strUrl);

      $objWriter->startElement("link");
      $objWriter->writeAttribute('href',$strUrl);
      $objWriter->writeAttribute('rel','self');
      $objWriter->endElement();

      $objWriter->writeElement('title', $strTitle);
      $objWriter->writeElement('updated', date('Y-m-d\TH:i:sP', time()));

      foreach($entries as $entry) {
        $objWriter->startElement('entry');

        $strUrl = isset($entry['url']) ? $entry['url'] : false;
        if(!$strUrl) throw new Exception('Toote veebiaadress on kohustuslik');

        $objWriter->writeElement('id', $strUrl);

        $objWriter->startElement("link");
        $objWriter->writeAttribute('href', $strUrl);
        $objWriter->writeAttribute('rel','alternate');
        $objWriter->endElement();

        $strImageUrl = isset($entry['image-url']) ? $entry['image-url'] : null;
        if($strImageUrl) {
          $objWriter->startElement("link");
          $objWriter->writeAttribute('href',$strImageUrl);
          $objWriter->writeAttribute('rel','related');
          $objWriter->writeAttribute('type','image/*');
          $objWriter->endElement();
        }

        $strTitle = isset($entry['title']) ? $entry['title'] : false;
        if(!$strTitle) throw new Exception('Toote nimetus on kohustuslik');

        $objWriter->writeElement('title', $strTitle);

        $strSummary = isset($entry['summary']) ? $entry['summary'] : false;
        if($strSummary) $objWriter->writeElement('summary', $strSummary);

        $intUpdated = isset($entry['updated']) ? $entry['updated'] : false;
        if(!$intUpdated) throw new Exception('Toote uuendamise aeg on kohustuslik');

        $objWriter->writeElement('updated', date('Y-m-d\TH:i:sP', $intUpdated));

        $arrCategory = isset($entry['category']) ? $entry['category'] : false;
        if($arrCategory)
        foreach($arrCategory as $value) {
          $objWriter->startElement('category');
          $objWriter->writeAttribute('term',$value);
          $objWriter->endElement();
        }

        $arrParams = isset($entry['param']['price']) ? $entry['param'] : false;
        if(is_array($arrParams)) {
          $objWriter->startElement('content');
          $objWriter->writeAttribute('type','application/xml');
          foreach($arrParams as $name => $value) {
            $objWriter->startElement('param');
            $objWriter->writeAttribute('name',$name);
            // writeRaw kirjutab teksti
            $objWriter->writeRaw($value);
            $objWriter->endElement();
          }
        } else {
          throw new Exception('"price" parameeter on kohustuslik igal tootel');
        }
        //end content
        $objWriter->endElement();
        //end entry
        $objWriter->endElement();
      }

      // End atom
      $objWriter->endElement();
      $objWriter->endDocument();
      // Kui tahame otse kautajale väljastada
//      $objWriter->flush();

      // Kui kirjutasime XML'i puhvrisse, siis nii saab kätte
      $strXml = $objWriter->flush();
      if($strXml) {
        // Siin on see koht, kus saaks xml'i näiteks faili salvestada,
        // selle asemel, et kasutajale väljastada
        header("Content-Type: application/xml");
        echo $strXml;
      }

    } catch (Exception $objException) {
      echo sprintf('ERROR: %s on line %d', $objException->getMessage(), $objException->getLine());
    }
  }

  private function HandleError($intCode,$strMessage,$strFile = null,$intLine = null, array $arrContext = null) {
    throw new Exception($strMessage, $intCode);
  }
}