XML and Java from Scratch