The semantic web is basically the MVC pattern (database -> transformer -> renderer) plus a common way to represent metadata, XSLT is a rather inflexible functional language with no efficient implementation, CSS and DOM are very natural extensions to HTML to make it a bit more flexible and dynamic.