Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00034 class ilXML2FO
00035 {
00036 var $xslt = null;
00037 var $xml = null;
00038 var $fo_string = null;
00039
00040 var $xslt_handler = null;
00041 var $xslt_args = null;
00042
00043 function ilXML2FO()
00044 {
00045
00046 }
00047
00048 function setXMLString($a_xml)
00049 {
00050 $this->xml = $a_xml;
00051 }
00052 function getXMLString()
00053 {
00054 return $this->xml;
00055 }
00056 function setXSLTLocation($xslt_location)
00057 {
00058 $this->xslt = $xslt_location;
00059 }
00060 function getXSLTLocation()
00061 {
00062 return $this->xslt;
00063 }
00064 function getFOString()
00065 {
00066 return $this->fo_string;
00067 }
00068
00069
00070 function transform()
00071 {
00072 global $ilLog;
00073
00074 $this->__init();
00075
00076 $this->fo_string = @xslt_process($this->xslt_handler,
00077 "arg:/_xml",
00078 "arg:/_xsl",
00079 null,
00080 $this->xslt_args,
00081 array());
00082
00083
00084 if(strlen($error_msg = xslt_error($this->xslt_error)))
00085 {
00086 $ilLog->write("Error generating pdf: ".$error_msg);
00087 return false;
00088 }
00089
00090 xslt_free($this->xslt_handler);
00091
00092 return true;
00093 }
00094
00095
00096 function __init()
00097 {
00098 $this->xslt_handler = xslt_create();
00099 $this->xslt_args = array('/_xml' => $this->getXMLString(),
00100 '/_xsl' => file_get_contents($this->getXSLTLocation()));
00101
00102
00103 return true;
00104 }
00105
00106
00107
00108
00109 }
00110 ?>