This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
I'd say they're definitely code. Look at it this way - if you make a change to an XSLT file and get it wrong, you've broken the application. They've got the same status as any other application source code. I think the purpose of the file is more important than the fact it happens to be in the form of XML.
I'd say store the XSLT on the file system. It just as easily accessible and I'm guessing (guessing mind you) that it may also be faster, also you may not want to waste the tablespace. That is unless you've got a complex scenario going on where you also store meta-data about the XSLT (e.g. versioning) and are updating both frequently. In that case, if you store meta-data in the DB and the XSLT as files on the file system, and updates are part of a larger overall transaction that is prone to rollback (due to optimistic locking for instance) keeping the filesystem and DB in synch could get complicated.
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
subject: Should XSLT reside in Dynamic Web Project or Database?