For starters, as a background...
I'm at a 3-day class right now to learn to develop templates for a 3-rd party CMS platform we will use at work.
This platform is built on XML-files + XSL + XSLT+ own extensions to XSLT to create database connections ans a sh*tload of stuff, it's like 250 extensions to the normal XSLT!
What I had done before (way back, before XSLT) was to walk through a tutorial at webmonkey and created a php-page from XSL to handle data from an XML-file.
Duh, this is a super compressed chrash-course on XML, XSL, XSLT in 1.5 days, then 1,5 days to use the extensions together with the std XSLT. After this we are expected to be able to step into productions on a day's notice to create complex functional-templates for complete dynamic sites with admin-interfaces, workflow, news, you name it...
This feels like knowing spanish and stepping into a class on italian, then getting a book on grammar, one dictionary and an order to write coherent senteces within 8 hours... Then, the next day, "Do 4 essays in italian, but use the sicillian dialect", and finally, "Write a watertight legal document for this deal, you have all the tools...".
Well, a bit of bitching is good for the soul I've heard...
This is actually quite hard, not the syntax, or the strictness of the coding, not even the mix of all the new tags (even though it's a complete mess in my head right now).
It's the way of thinking, to actually put functionality into XSLT-templates, to modularize this so it becomes reusable in a smart way, to combine it with the extensions for database access, and to tie it into HTML and make good use of CSS.
Then, to make all the coders understand that we must work structurally for this to work, or it all breaks...
So, lastly, any tips for good, creative modularizing from xml all the way up to the css to get maximum reuseability out of it?
This is what I see so far:
XMLdata.xml - common_variables.xsl + layout.xsl (maybe different layout.xsl files) + content_containers.xsl + functions.xsl
generates clean HTML with CSS-classes tied to each HTML-tag.
This would as i see it give me one xml-datafile, one .xsl that holds all global variables, into this I import one or more .xsl files to create parts of the page's skeleton (the actual html-code), one separate xsl-file with all the template rules for the xml-tags and finally one xsl-file for special functions, as dynamic navigation and so on. Then all colors and such is controlled by the .css-file that is linked into the html-page that is generated from all of the above.
(I actually generated a simple dynamic fluid css-only page today using this principle, ugly as h*ll, but it worked ...)
Does this make sense?
Have anyone here worked with this in a similar way?
Any obvious traps?
...
/Dan
-{ a vibration is a movement that doesn't know which way to go }-