2008-09-17 23 views
1

Durch das Surfen auf dieser Website und anderswo, habe ich gelernt, dass Websites als xhtml derzeit is considered harmful.Was sind die besten Praktiken für die Verwendung von HTML mit XML-basierten Sprachen wie Svg?

Das Liefern von xhtml und das Servieren als application/xhtml + xml wird von der Mehrheit der derzeitigen Benutzer nicht unterstützt. Das Liefern von xhtml als text/html ist bestenfalls ein Placebo für mich selbst und schlimmstenfalls ein Rezept zum Brechen von Sites normalerweise, wenn Sie es am wenigsten brauchen.

So enden wir wieder bei HTML 4.01. Wenn ich stattdessen meine Seiten als html 4.01 betreue, ist es möglich, SVG oder irgendeine andere xml-basierte Sprache auf der Seite zu verwenden?

Wenn ja, wie?

Antwort

1

In HTML können Sie SVG nicht direkt einfügen.

Sie können SVG-Dateien mit <object>/<embed> und in modernster Browser (Opera, Safari) auch <img> und CSS background-image einbetten.

Sie können SVG in data: URI setzen, um die Verwendung externer Dateien zu vermeiden.

Einfache mathematische Ausdrücke können mit Hilfe von Unicode und Basic HTML/CSS (Opera 9.5 supports large chunk of MathML via CSS) geschrieben werden. Für etwas Komplexeres müssen Sie Bilder verwenden, wie Wikipedia es tut.

HTML interpretiert Namespacepräfixe falsch, sodass Sie andere XML-Markups mit HTML DOM nicht (ordnungsgemäß) verwenden können. HTML5 hat data-* Attribute für anwendungsspezifische Markup-Ergänzungen. Für Metadaten betrachten Sie Microformats.

Allerdings, wenn Sie XML einbetten möchten nur für Nicht-Browser (Roboter), dann könnten Sie HTML-kompatible XHTML Teilmenge und HTTP Content Negotiation verwenden, um die richtige XML mit der richtigen Art zu Kunden zu senden, die es verstehen (wenn Sie gründlich Seite im XML- und HTML-Modus testen, dann ist es nicht schädlich).

0

Sie können (lesen habe ich das selbst nicht versucht) ein eingebettetes Objekt verwenden und es entsprechend eingeben.