Firstly, in XML there is no actual difference between " and " - they are different representations of the same character - a bit like saying 101 in binary is different from 5 in base 10 - there is no difference.
Secondly, I don't know if it is the forum software but you appear to have written that you want to replace a single quote with itself, and a forward slash with itself - i.e. no change.
Finally, to pass the value from a template to a template simply do something like this:
Code:
<xsl:call-template name="template">
<xsl:with-param name="first">
<xsl:call-template name="template">
<xsl:with-param name="first" select="'A'"/>
<xsl:with-param name="second" select="'B'"/>
</xsl:call-template>
</xsl:with-param>
<xsl:with-param name="second" select="'C'"/>
</xsl:call-template>
Finally, I'm not sure why you've written "ancestor-or-self::*" when "." would do the same (with this particular XML) and would likely work better for different examples of XML.