*/
//namespace XSDFormPrinter;
class XSDFormPrinter
{
public $xml = '';
public $xml_inhalt;
public $getparams='';
public function __construct()
{
$this->loadDefaultConfiguration();
require_once(dirname(__FILE__).'/types.php');
}
/**
*
* Erzeugt das Formular
* @param $xsd XSD File (nicht der Filename)
* @param $xml XML mit den Daten die vorausgefuellt werden sollen
*/
public function output($xsd, $xml)
{
$dom = new DOMDocument();
$dom->loadXML($xsd);
$this->xml_inhalt = new DOMDocument();
if($xml!='')
{
$this->xml_inhalt->loadXML($xml);
}
if($dom===false)
{
echo 'Failed to load XSD into DOM';
return false;
}
echo '';
echo '
";
}
}
}
return $addoutput;
}
/**
* Erzeugt ein Eingabefeld
* @param type type des Elements
* @param name Name des Elements
*/
private function input($type, $name, $minoccurs)
{
$output=array('html'=>'','xml'=>'');
// ElementType => (MyType, (RegexPattern=>Errormsg))
static $factory = array('xs:string'=>array('string',array()),
'xs:decimal'=>array('string',array('/^\d[.,]\d*$/'=>'Value must be a valid Number')),
'xs:integer'=>array('string',array('/^\d/$'=>'Value must be a valid Number')),
'xs:positiveInteger'=>array('string',array('/^\d$/'=>'Value must be a positive Number')),
'xs:date'=>array('date',array()),
'wysiwyg'=>array('wysiwyg',array()),
'file'=>array('file',array()),
'boolean'=>array('boolean',array())
);
if(!isset($factory[$type]))
{
$this->debugmsg(0,"Input Type $type not supported -> using string instead");
$type='xs:string';
}
$output['html'].= "\n