But again, you are using "your code" in the same vague sense that Rhandom used "code layer" -- both of you speak about it, but provide no examples, either in your replies or link to any document on the web, peer-reviewed or not.
I've given an example in an above reply. To be specific. The code layer is the perl layer. It is written in perl and is either modules or cgi script. The presentation layer is either a template file or a template string (yes template strings are useful too - so you can put your template in a database for instance). The code layer picks which template to display and gathers data that the presentation layer may need. But then it is up to the presentation layer to lay it out.
All of the in house HTML designers I have worked with at any of my jobs have wanted to have the flexibility to manipulate the data so that they page shape could change. I've enjoyed not having to change my perl whenever they've needed to reformat the page.
Just out of curiosity - what do you use when you need to send a templatized css file, or js file, or text email. To me, the XML/HTML DOM template systems seem to be heavy handed at forcing you to have well formed HTML. HTML is just a subset of what you need to deal with in web development. Do you use multiple template systems - or worse do you try to force css/js/email into the same slot as HTML? I've seen people do this and the templates are usually quite ugly. XML is usually the wrong hammer.
my @a=qw(random brilliant braindead); print $a[rand(@a)];