Que font les éléments <o: p> de toute façon?

92

J'ai rencontré des problèmes (standard) avec Microsoft Office injectant son balisage désagréable dans du html après avoir transféré un e-mail via Outlook.

Je suis intéressé à savoir:

  • Existe-t-il une ressource qui explique ce que font réellement les<o:p> éléments
  • Quels autres éléments MSO sont couramment injectés
zzzzBov
la source
2
Si vous après avoir nettoyé le désordre, consultez ce billet de blog de Jeff: codinghorror.com/blog/2006/01/cleaning-words-nasty-html.html
Shadow Wizard is Ear For You
J'ai voté pour, nous ne pouvons pas savoir qui a voté contre, désolé. Léger changement c'est @leonbloy (il a enlevé une balise) mais j'en doute.
Shadow Wizard est une oreille pour vous

Réponses:

103

Impossible de trouver de documentation officielle (pas de surprise ici) mais selon cet article intéressant , ces éléments sont injectés afin de permettre à Word de reconvertir le HTML en un document Word entièrement compatible, avec tout conservé.

Le paragraphe pertinent:

Microsoft a ajouté les balises spéciales au HTML de Word dans un souci de compatibilité descendante. Microsoft voulait que vous puissiez enregistrer des fichiers au format HTML avec toutes les fonctionnalités de suivi, de commentaires, de mise en forme et d'autres fonctionnalités spéciales de Word présentes dans les fichiers DOC traditionnels. Si vous enregistrez un fichier au format HTML puis le rechargez dans Word, vous ne perdez théoriquement rien du tout.

Cela a beaucoup de sens.

Pour votre question spécifique .. le odans le <o:p>sens "Espace de noms Office" donc tout ce qui suit o:dans une balise signifie "Je fais partie de l'espace de noms Office" - dans le cas où <o:p> cela signifie simplement paragraphe, l'équivalent de la <p>balise ordinaire .

Je suppose que chaque balise HTML a son «équivalent» Office et ils en ont plus.

Shadow Wizard est une oreille pour vous
la source
1
C'est intéressant. Je viens de rencontrer cela lors de la publication d'un blog. Merci pour l'info.
Jared Newnam