private function loadList(SimpleType $type, DOMElement $node) { if ($node->hasAttribute("itemType")) { $type->setList($this->findSomething('findType', $type->getSchema(), $node, $node->getAttribute("itemType"))); } else { $addCallback = function ($list) use($type) { $type->setList($list); }; foreach ($node->childNodes as $childNode) { switch ($childNode->localName) { case 'simpleType': call_user_func($this->loadSimpleType($type->getSchema(), $childNode, $addCallback)); break; } } } }