I suggest starting with just HTML and CSS. Get the basic site sorted out then start learning a scripting language. You will want some Javascript (or JQuery) and at some point some server side...
Not quite sure what you want, indesign is a design program, so guessing you have a basic web page outline that you want to make into an html page, but where does xml come into this?
Not sure how good a solution this is, but I would put each menu item into its own div and give each div a specific size (say height : 50px; width: 250px - but play with the sizes until they match...
Looking at the code you supplied I think your problem might be that the <div class='active'> line is NOT within a <li> element. If you nest it inside a <li> then it should work...