XML programming from entry to mastery