What exactly are you trying to achieve? If you need HTML files that are periodically regenerated based on the XML files, then you probably want to write a program (for example, the BeautifulSoup Python library allows you to parse XML/HTML files quite easily) for it and run it every time you need to update the HTML files (you can also set up a cron job for it).
If you need to be able to fetch the data from XML on the fly, you can use some JavaScript library and load the XML from an xml file, then add it to the page dynamically.
For example, this Python program will parse an XML file (file.xml) and create an HTML file (song_information.html) that contains data from the XML file.
from BeautifulSoup import BeautifulStoneSoup
f = open("file.xml")
soup = BeautifulStoneSoup(f.read())
f.close()
html = """<!DOCTYPE html>
<html>
<head>
<title>Song information</title>
</head>
<body>
"""
for key in soup.dict.findAll('key'):
html += "<h1>%s</h1>\n" % key.contents[0]
html += "<p>%s</p>\n" % key.nextSibling.contents[0]
html += """</body>
</html>
"""
f = open("song_information.html", "w")
f.write(html)
f.close()
It will write the following HTML to the song_information.html file:
<!DOCTYPE html>
<html>
<head>
<title>Song information</title>
</head>
<body>
<h1>Track ID</h1>
<p>457</p>
<h1>Name</h1>
<p>Love me do</p>
<h1>Artist</h1>
<p>The Beatles</p>
<h1>Album Artist</h1>
<p>The Beatles</p>
<h1>Composer</h1>
<p>John Lennon/Paul McCartney</p>
<h1>Album</h1>
<p>The Beatles No.1</p>
<h1>Genre</h1>
<p>Varies</p>
<h1>Kind</h1>
<p>AAC audio file</p>
</body>
</html>
Of course, this is simplified. If you need to implement unicode support, you will want to edit it like this:
from BeautifulSoup import BeautifulStoneSoup
import codecs
f = codecs.open("file.xml", "r", "utf-8")
soup = BeautifulStoneSoup(f.read())
f.close()
html = """<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Song information</title>
</head>
<body>
"""
for key in soup.dict.findAll('key'):
html += "<h1>%s</h1>\n" % key.contents[0]
html += "<p>%s</p>\n" % key.nextSibling.contents[0]
html += """</body>
</html>
"""
f = codecs.open("song_information.html", "w", "utf-8")
f.write(html)
f.close()
Also, you will probably need to generate more complex HTML, so you will likely want to try some template systems like Jinja2.