def author_element doc, index = nil
firstname_key = index ? %(firstname_
middlename_key = index ? %(middlename_
lastname_key = index ? %(lastname_
email_key = index ? %(email_
result = []
result << '<author>'
result << %(<firstname>#{doc.attr firstname_key}</firstname>) if doc.attr? firstname_key
result << %(<othername>#{doc.attr middlename_key}</othername>) if doc.attr? middlename_key
result << %(<surname>#{doc.attr lastname_key}</surname>) if doc.attr? lastname_key
result << %(<email>#{doc.attr email_key}</email>) if doc.attr? email_key
result << '</author>'
result * EOL
end