Para que no pueda verse el código fuente de una página puedes intentar pasarlo todo a XHTML. El XML de definición no hace falta que tenga etiquetas, solamente que tenga un xsl asociado.
En ese XSL podrás todo el contenido de tu página.
Cuando el usuario vaya a ver código fuente, verá el XML y no el XHTML resultante.
Ciertamente, un usuario avanzado puede saber cómo obtener ese xsl y hacer la fusión en local, pero los demás se quedarán con un palmo de narices.
Por otro lado, un truquito tonto es poner unos 100 INTROs al principio de la página, para que parezca que no hay código fuente. Más de un despistado no se da cuenta que simplemente moviendo la barra de desplazamiento...
Un saludo
Chechu