Is there a list of inbuilt parameters available to Sitecore XSLTs? I\'ve looked around but haven\'t seen anything that looks like a full list, at least not in comparison to the
The full list of available Sitecore extensions for xsl helper functions is documented in the API reference helpfile, available from the link.
The XSL helper functions are contained in the XslHelper
Class
Namespaces ► Sitecore.Xml.Xsl ► XslHelper
The helpfile documentation is for C# (in which the extensions are built), but as the documentation notes:
Helper functions for use with xsl files. The public functions in this class can be called from an xsl file by using the sc prefix (ex. sc:fld(...))
Reflector shows that the following are automatically added:
list.AddParam("id", string.Empty, item.ID.ToString());
list.AddParam("lang", string.Empty, Language.Current.Name);
list.AddParam("sc_lang", string.Empty, Language.Current.Name);
list.AddParam("sc_item", string.Empty, GetNodeIterator(item));
Stating personal opinion, I think you should be grabbing the answer you already see right in front of you - forget about XSLT and just do C#. I don't know of many (in fact, any) seasoned Sitecore developers who stick with XSLT for anything but the most basic of renderings. This too, is of course, just my own personal view - but I've seen similar statements from many of the Sitecore bloggers out there.
And to answer your question, the drawback is complexity and development time. In writing your functionality, then writing and maintaining XSL helper libraries.