Voici une solution pour ne pas permutation doctype:
Comme zerkms suggéré, en ajoutant le "fb" espace de noms ne s'applique que pour le "fb:" les attributs. La "propriété" de l'attribut de la balise meta reste pas valide XHTML.
Comme vous le savez, Facebook s'appuie sur le RDFa de la conformité, vous pouvez utiliser le doctype suivante:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
À l'aide de RDFa apporte plus de problèmes que de la simple FB problème corrigé dans la plupart des cas cependant.
comme _timm suggéré, de manière dynamique par écrit les balises meta pour les dom n'a pas de sens. L'une des principales utilisations de ces fb meta tags est la FB-bot analyse d'un "partager" ou "j'aime" de la page cible (page action) pour obtenir des titres, des images et d'ancrage de l'étiquette de la facebok un message sur le mur de l'auto de la population. Compte tenu de ce fait et compte tenu du fait que facebook plus utilise certainement une simple page de chercher à lire dans la livraison html réponse, sans aucune capacité d'analyse d'une relative balise meta injecter par javascript, la fonctionnalité prévue échouera.
Maintenant, il est assez simple correctif pour fournir un compromis entre une validation XHTML et le succès de l'analyse par facebook : enroulez le facebook méta dans les commentaires html. Qui contourne le w3c et l'analyseur de facebook reconnaît toujours les balises meta, parce qu'il ignore le commentaire.
<!--
<meta property="og:image" content="myimage.jpg" />
<meta property="og:title" content="my custom title for facebook" />
-->