public function execute($model)
 {
     //process custom tags
     foreach ($this->customTags as $reg) {
         $nodelist = $this->dom->getElementsByTagNameNS($reg->namespace, $reg->tagName);
         for ($i = $nodelist->length; $i > 0; $i--) {
             $reg->process($nodelist->item($i - 1));
         }
     }
     $this->xsltproc->importStyleSheet($this->dom);
     $modelDom = new DomDocument();
     $modelDom->appendChild($modelDom->createElement("model"));
     //root node
     IPXSLTemplate::makeXML($model, $modelDom->documentElement);
     //echo $modelDom->saveXML();
     return $this->xsltproc->transformToXml($modelDom);
 }