you can ommit the xml-declaration being passed through by using
ui:composition:
<?xml version='1.0' encoding='utf-8'?>
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets">
<f:view>
<af:document/>
</f:view>
</ui:composition>
Yes, and this should be a recommended practice, should it not?
However, the preceeding fragment is XML, not XHTML. If you have a view implemented as a composition, and you reference it as an action of a button or link, the corresponding file must have a .xhtml extension, or the navigation handler won't find it. IOW...
<h:commandButton ... action="welcome"/>
...means the navigation handler will look for welcome.xhtml. If you name the file welcome.xml, you get an error message at runtime. But if welcome.xhtml uses a composition, like the preceeding code fragment, it's not an XHTML file, it's XML. Ugh.
Should the navigation handler also look for welcome.xml, or is that too naiive of a fix?