Du könntest
XML benutzen und mittels
XSLT für die Darstellung vom Browser in XHTML umwandeln lassen (da gab es doch mal in der c't so einen Artikel darüber, aber in welcher

).
Wenn du es nicht unbedingt sauber machen willst: Browser ignorieren in
HTML Tags, die sie nicht kennen.
Andererseits ... was hast du vor, vielleicht gibt es eine bessere Lösung.