That is correct. So the Context Variable in the Policy names UUID (its value) gets passed into the XSLT as that <xsl:param name="UUID">"you can even put a default value here</xsl:param>
Then you use that xsl:param like you would in normal xsl via the $UUID syntax.
You can also pass in variables with the "." notation like some of the prebuilt context variables like - ${request.http.header.myHeader} or ${myXPath.result}. Those would be
<xsl:param name="request.http.header.myHeader"/>
<xsl:param name="myXPath.result"/>
You can obviously have multiple variables defined as well.