private function _generateTypedArray(TypesComplex $parameter, $schemaElement) { $name = $parameter->getName(); $type = $parameter->getArrayType(); $typeName = $parameter->getArrayTypeName(); if (self::isAlreadyGenerated($name)) { return; } $complexTypeElement = $this->createElementWithAttributes('xsd:complexType', array('name' => $name)); $sequence = $this->_createElement('xsd:sequence'); $element = $this->createElementWithAttributes('xsd:element', array('minOccurs' => 0, 'maxOccurs' => 'unbounded', 'name' => $typeName, 'nillable' => 'true', 'type' => str_replace('[]', '', $type))); $sequence->appendChild($element); $complexTypeElement->appendChild($sequence); $schemaElement->appendChild($complexTypeElement); if ($parameter->getComplex()) { $this->_generateComplexType($parameter->getComplex(), $schemaElement); } }
protected function _generateArray(Type $parameter) { $type = $parameter->getComplexType() ? 'ns:' : 'xsd:'; $typesComplex = new TypesComplex(); $typesComplex->setName('ArrayOf' . ucfirst($parameter->getName()))->setArrayType($type . $this->_getObjectName($parameter) . '[]')->setArrayTypeName(Inflector::singularize($parameter->getName())); if ($parameter->getComplexType()) { $typesComplex->setComplex($this->_generateObject($parameter->getComplexType())); } return $typesComplex; }