/** * * @param mixed $xml * @return \Zend\Code\Generator\ClassGenerator[] */ protected function getPhpClasses($xml, array $types = array()) { $creator = new PhpConverter(new ShortNamingStrategy()); $creator->addNamespace('', 'Example'); foreach ($types as $typeData) { list($ns, $name, $type) = $typeData; $creator->addAliasMapType($ns, $name, $type); } $generator = new ClassGenerator(); $reader = new SchemaReader(); if (!is_array($xml)) { $xml = ['schema.xsd' => $xml]; } $schemas = []; foreach ($xml as $name => $str) { $schemas[] = $reader->readString($str, $name); } $items = $creator->convert($schemas); $classes = array(); foreach ($items as $k => $item) { $codegen = new \Zend\Code\Generator\ClassGenerator(); if ($generator->generate($codegen, $item)) { $classes[$k] = $codegen; } } return $classes; }
/** * * @param mixed $xml * @return \Zend\Code\Generator\ClassGenerator[] */ protected function getClasses($xml) { $phpcreator = new PhpConverter(new ShortNamingStrategy()); $phpcreator->addNamespace('http://www.example.com', 'Example'); $generator = new ClassGenerator(); $reader = new SchemaReader(); if (!is_array($xml)) { $xml = ['schema.xsd' => $xml]; } $schemas = []; foreach ($xml as $name => $str) { $schemas[] = $reader->readString($str, $name); } $items = $phpcreator->convert($schemas); $classes = array(); foreach ($items as $k => $item) { $codegen = new \Zend\Code\Generator\ClassGenerator(); if ($generator->generate($codegen, $item)) { $classes[$k] = $codegen; } } return $classes; }
protected function getClasses($xml) { $schema = $this->reader->readString($xml); return $this->converter->convert(array($schema)); }