Я бы изменил ваш код на что-то вроде этого:
function libraryXML (xml) {
$(xml).find('book').each(function(){
/* Parse the XML File */
var id = $(this).attr('id');
var checked = $(this).attr('checked-out')
var title = $(this).find('title').text();
var isbn = $(this).find('isbn-10').text();
var authors = $(this).find('authors');
/* Spit out some books */
$('<li></li>')
.addClass('book-'+id).addClass('checked'+checked)
.append($('<span class="id"></span>').text(id))
.append($('<span class="title"></span>').text(title))
.append($('<span class="author"></span>').text($.map(authors, function(author){ return $(author).text() }).join(', ')))
.append($('<span class="isbn"></span>').text(isbn))
.appendTo('.library');
});
}
Преимущества в том, что он делает автора, разделенного запятыми, как вы и хотели, но он также предотвращает любые XSS-атаки в сгенерированном HTML, используя текстовую функцию jQuery для HTML-экранирования вывода.