public function visit(Visitor $visitor, Generator $generator, $data)
{
$generator->startObjectElement('Root');
$visitor->setHeader('Content-Type', $generator->getMediaType('Root'));
foreach ($data->getResources() as $resource) {
if ($resource->mediaType === '') {
$generator->startHashElement($resource->name);
$generator->startAttribute('media-type', $resource->mediaType);
$generator->endAttribute('media-type');
} else {
$generator->startObjectElement($resource->name, $resource->mediaType);
}
$generator->startAttribute('href', $resource->href);
$generator->endAttribute('href');
if ($resource->mediaType === '') {
$generator->endHashElement($resource->name);
} else {
$generator->endObjectElement($resource->name);
}
}
$generator->endObjectElement('Root');
}