2008-09-17 34 views
1

De la navigation sur ce site et ailleurs, j'ai appris que desservant les sites Web en tant que xhtml à l'heure actuelle is considered harmful. La livraison de xhtml et le service en tant qu'application/xhtml + xml n'est pas supporté par la majorité des gens qui naviguent actuellement, en fournissant xhtml comme text/html est au mieux un placebo pour moi, et au pire une recette pour les sites de rupture habituellement quand vous en avez le moins besoin.Quelles sont les meilleures pratiques pour utiliser html avec des langages XML comme svg?

Donc, nous revenons à html 4.01. Si je préfère utiliser mes pages au format html 4.01, est-il possible d'utiliser SVG ou tout autre langage xml sur la page?

Si oui, comment?

Répondre

1

En HTML, vous ne pourrez pas insérer SVG directement.

Vous pouvez intégrer des fichiers SVG avec <object>/<embed> et dans les navigateurs de pointe (Opera, Safari) aussi <img> et CSS background-image.

Vous pouvez mettre SVG dans data: URI pour éviter d'utiliser des fichiers externes.

Des expressions mathématiques simples peuvent être écrites à l'aide d'Unicode et HTML/CSS de base (Opera 9.5 supports large chunk of MathML via CSS). Pour quelque chose de plus complexe, vous devrez utiliser des images, comme le fait Wikipédia. Le code HTML interprète incorrectement les préfixes d'espace de noms. Vous ne pourrez donc pas (correctement) utiliser d'autres balises XML avec HTML DOM. HTML5 a data-* attributs pour les ajouts de balises spécifiques à l'application. Pour les métadonnées, pensez aux microformats.

Toutefois, si vous souhaitez intégrer XML uniquement pour les non-navigateurs (robots), vous pouvez utiliser sous-ensemble de XHTML compatible HTML et la négociation de contenu HTTP pour envoyer XML approprié avec le type approprié pour les clients qui le comprennent (si vous soigneusement tester la page dans les deux modes XML et HTML, alors il ne sera pas dangereux).

0

Vous pouvez (lire je n'ai pas essayé moi-même) d'utiliser un objet incorporé et le taper en conséquence.