It's certainly possible to generate an XML file with a stylesheet of the form
<xsl:param name="p1"/>
<xsl:param name="p2"/>
<xsl:template name="go">
<boilerplate>
....
<xsl:value-of select="$p1"/>
...
<xsl:value-of select="$p2"/>
</boilerplate>
</xsl:template>
and then run it by supplying values for $p1 and $p2. In XSLT 2.0, there's no need for a source XML document. In 1.0 there must be a source document (and the above template would say match="/") but the source doc can be a dummy.
In fact today I've been working on the performance of a stylesheet which looks just like this; with the added twist that the stylesheet is generated by the previous step in a processing pipeline.
However, if the structure of the output is more variable than this, for example if it contains a table with a variable number of rows, then you will want to start supplying some structured input, that is, XML input, and this quickly evolves to a model where there is a real source document; and at this point it *might* make sense to put the fixed data in an XML source document as well, for ease of maintenance.
Another system I'm working on uses a mixture of these techniques: most of the final text comes from input documents, but some is in the stylesheet.
As for editors, Stylus Studio, oXygen, and XML Spy all have their fan clubs. I use Stylus Studio myself, partly because they have a business relationship with Saxonica, partly because it does everything I need, and partly because I like the fact that you can use a wide variety of tools (e.g. schema validators) within the same framework.
Michael Kay
http://www.saxonica.com/
Author, XSLT 2.0 and XPath 2.0 Programmer's Reference