der <br>-tag (den ich eigentlich so gut wie nie verwende) bezeichnet ja auch einen erzwungenen Zeilenumbruch und als solcher ein bestimmtes Element innerhalb eines Absatzes o.ä. Er soll ja gerade keinen Text umschließen.
Und genau das ist die Schwäche dieses Elements.
Ein Text oder Bild enthaltender <line>-tag als gewissermaßen einzeiliger Absatz wäre aber etwas völlig anderes und meiner Ansicht nach eine Erweiterung des HTML-Umfangs.
'line' IST eine Erweiterung. XHTML 2.0 wird nicht den Anspruch erheben, vollständig abwärtskompatibel zu sein.
Darüber hinaus lässt sich eine Zeile nicht mit CSS formatieren, da sie nicht durch einen Container ausgezeichnet ist.
Brauche ich da einen <line>-tag? Tut´s nicht auch ein <span class="line"> für die paarmal, wo man sowas wirklich brauchen kann?
Braucht man wirklich ein Element 'p'? Wozu, 'div class="absatz"' tut es doch auch. Welchen Sinn hat das Element 'blockquote', schließlich kann ich doch 'div class="zitat"' verwenden? Warum ersetze ich 'code' nicht durch 'span class="quelltextbeispiel"'?
Ein weiterer Vorteil liegt darin, dass mit 'line' ausgezeichnete Zeilen eindeutig zählbar sind.
Welcher Vorteil soll das sein?
Es erleichtert (oder ermöglicht gar erst, so genau weiß ich das gar nicht) die Weiterverarbeitung von Dokumenten in eigenen Anwendungen und die Adressierung z.B. durch XPath.
Dazu müßte ich ja jede einzelne Zeile eines Textes als <line> auszeichnen, um am Ende eine verläßliche Zeilenzahl zu bekommen und dürfte keinen mehrzeiligen <p>-tag verwenden... Das wäre ja Horror-Code!
Folgendes Beispiel findest du unter http://www.w3.org/TR/2002/WD-xhtml2-20020805/mod-text.html#sec_8.13.:
<p class="program">
<line>program p(input, output);</line>
<line>begin</line>
<line> writeln("Hello world");</line>
<line>end.</line>
</p>
Die Zeilennummerierung gehört nicht zum Quellcode und soll daher nicht festcodiert in den XHTML-Quelltext geschrieben werden. Denkbar wäre eine Nummerierung per CSS wie folgt:
.program { counter-reset: linenumber }
line:before {
position: relative;
left: -1em;
counter-increment: linenumber;
content: counter(linenumber);
}
Würde wie bisher 'br' zur Abtrennung von Zeilen verwendet werden, wäre eine solche Vorgehensweise nicht möglich.
Gruß,
MI
XFrames Working Draft (Deutsche Übersetzung) : http://jendryschik.de/TR/xframes/
Die Wissensgesellschaft : http://jendryschik.de/michael/inf/wissensgesellschaft/
Feste Positionierung, richtig angewandt : http://jendryschik.de/wsdev/css/fixed/