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 sort of data a .NET component can access directly. Using XSLT out of the box in Sitecore seems a little limited in respect to the data it can easily access in comparison to .NET presentation components.
I'm specifically interested in being able to access various pieces of information relating to running multiple sites and languages on a single instance installation - the home node, host name, site name etc. In .NET most of this seems to be available either through the Sitecore.Context or through .NET server objects. I need to be able to get hold of both context specific information and settings for other domains/sites in the same solution.
E.g. mysite1.com in en-GB and mysite2.com in da-DK are pointing at the same content just in different languages. Both domains could theoretically support further languages, some of which might be shared (e.g. both sites allowed a fr-FR translation). In this case I need to know which site I'm in currently, which language I'm in and which languages are supported. Similar information will be needed to determine e.g. site specific CSS, content sections etc.
If I need to expose these global and site settings how should I go about it? I can see several possible methods, including:
- Writing extension functions in C#
- Creating global settings template/item and using an XSLT to read them and convert them into parameters - the XSLT could be included/imported in other XSLTs as required.
The aim is to keep all code as generic as possible.
Is there a best practice for this? What are the drawbacks of the two methods above?