/**
  * Formats a name.
  *
  * @param \Libreworks\Microformats\Name $name The name to format
  * @return string The HTML markup
  */
 public function format(Name $name)
 {
     $names = ['p-honorific-prefix' => $name->getPrefix(), 'p-nickname' => $name->getNick(), 'p-given-name' => $name->getGiven(), 'p-additional-name' => $name->getMiddle(), 'p-family-name' => $name->getSurname(), 'p-honorific-suffix' => $name->getSuffix(), 'p-maiden-name' => $name->getMaiden()];
     $tags = [];
     foreach ($names as $k => $v) {
         if (strlen($v) > 0) {
             $tags[] = '<span class="' . $k . '">' . htmlspecialchars($v) . '</span>';
         }
     }
     $maiden = $name->getMaiden();
     if (strlen($maiden) > 0) {
         $tags[] = '(née <span class="p-maiden-name">' . htmlspecialchars($names['p-maiden-name']) . '</span>)';
     }
     return '<span class="p-name">' . implode(' ', $tags) . '</span>';
 }