In C1 Page layout is an xml file, and by default there's no XSLT over it. In short, request to a C1 page processed in the following scheme:
1) Page template is taken and all <f:function ... /> tags inside are execuded recursively
2) The result Xml is transformed into ASP.NET controls, so both XSLT-functions and ASP.NET controls can co-exist on the same page
3) ASP.NET controls render them-self
4) XHTML is being formatted, and all the C1 page links are converted to friendly urls.
So processing page template does not do an xslt transformation, and as you can see in the output, the function call was replaced with its result:
<Metatags Id="bf1de755-9984-4566-a769-2c7489af14ae" Description="DESCRIPTION!" />
xslt-tags lost their namespace, but in any other sense - were not processed.
If you want to do an XSLT transformation, you should create an "xslt function" and put it inside page layout. Choose "Functions" perspective, right-click on "Xslt functions" tree node and choose "Add xslt function".
In this video http://www.youtube.com/watch?v=HsfJjrmwmH4 from 2:08 there's an example how xslt-function editor looks like. Inside the editor, choose "Function calls" tab and add
a call to "Volleyball.Meta.Metatags.GetMetatagsXml",
click the "Preview", you will see what xml will be the input for your XSLT function, and what is the output.
The next step would be to edit function's template, you will need to add something like:
<xsl:value-of select="/in:inputs/in:result[@name='GetMetatagsXml']/@Description" />
Then - check "Preview" to be sure that you're receiving the right output, press "Save" and go back to the page layout.
Inside layout you can either write function call markup by yourself or press "Add function" button on top. The result markup in the page layout will look like:
<f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="Volleyball.Meta.Metatags.GetMetatagsXml">