Вы можете структурировать свои классы так:
Библиотека является корнем,
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement
public class Library {
private String name;
private List<Endowment> endowment;
}
Который содержит список пожертвований:
@XmlAccessorType(XmlAccessType.FIELD)
public class Endowment {
private String donor;
private List<Book> book;
}
Которые содержат список книг:
@XmlAccessorType(XmlAccessType.FIELD)
public class Book {
@XmlAttribute(name = "isbn")
private String isbn;
private String title;
}
Если вы попытаетесь разархивировать предоставленный XML с помощью этих классов, вы добьетесь успеха.