Hallo,
Man könnte natürlich auch ein
<span class="Nachname">Schuster</span>
verwenden, aber wozu, wenn<dfn title="Nachname">Schuster</dfn>
semantisch das Mittel der Wahl ist?
Nichts davon ist annähernd »semantisch das Mittel der Wahl«. Mit HTML kann man qua HTML-Vokabular Namen nicht als Namen auszeichnen und Berufe nicht als Berufe. Andere verbreitete und öffentlich dokumentierte Sprachen können das von Haus aus und sind also überhaupt in diesem Sinne als semantisch zu bezeichnen. HTML kann lediglich mehr schlecht als recht semantisch aufgebohrt werden. Warum überhaupt? Du führst als Beispiel eine serverseitige Suche an:
Für eine in die eigene Präsentation integrierte Suchfunktion ist das [Übernehmen der Idee] nicht einmal notwendig. Und bevor ich irgendwelche anderen proprietären Tagging-Mechanismen übernehme, nutze ich eben die, die HTML mitliefert.
Es existieren tausende Fertiglösungen dafür, die ohne eine pseudosemantische Erweiterung von HTML auskommen, sondern auf etablierte Formate des Semantic Web wie RDF etwa zusammen mit FOAF, vCard und Dublin Core setzen. Sie garantieren maximale Weiterverwendbarkeit der Metainformationen. Keine davon sind proprietär. Und selbst wenn: Jede selbst definierte (X)HTML-Erweiterung wäre eindeutiger als ein Zweckentfremden von generischem HTML-Markup.
Natürlich will man dem Browser letztlich einfaches (X)HTML ausliefern - zumindest, solange Markup aus anderen Namensräumen noch nicht problemlos eingebettet werden kann -, sodass man diese Informationen in HTML-Markup übersetzen muss. Dazu eignen sich Klassen hervorragend. Sie sind aber nur ein Abklatsch der tatsächlichen Semantik, eine Übersetzung in eine Sprache, in der höchstens Umschreibungen möglich sind.
Mathias