<ole>
#6: "
Det er dog ikke et krav i html" >> Nej, det kan vi ganske roligt slå fast ... det har en komplet anden betydning i HTML!
Både XML, XHTML og HTML bygger på SGML, og i SGML har en slash i slutningen på et tag en helt speciel betydning. Den konstruerer et såkaldt NET-enabling start-tag:
<br/
- har derfor samme betydning som:
<br>
- og
<div/noget/
- er det samme som:
<div>noget</div>
Dette:
<br/>
- burde (hvis browserne altså overholdt standarderne) renderes som:
<br>>
- i HTML. Altså som et linjeskift, efterfulgt af tegnet '
>'.
Denne SGML-feature (SHORTTAG) er slået til i HTML, men slået fra i XML og XHTML. Det samme gælder MINIMIZATION på attributter, hvor man i HTML kan skrive:
<input type="checkbox" checked>
- men i XML og XHTML
skal skrive:
<input type="checkbox" checked="checked" />
Prøver du at validere dette som HTML 4.01 Transitional:
<body>
<br/>
</body>
- får du ikke fejl. Det gør du til gengæld, hvis du validerer mod HTML 4.01 Strict.
Årsagen til det er, som vi så før, at denne konstruktion betyder '
Linjeskift, efterfulgt af et >'. I HTML 4.01 Transitional kan man godt have inline indhold liggende 'løst' i BODY elementet. Dette er ikke tilladt i HTML 4.01 Strict, hvorfor der udløses en fejl ved validering.
Langt de fleste af de, der skriver webkode er inde i disse mere teoretiske aspekter af markupkode. Desværre ser det ud til, at endnu færre af de, der skriver
om webkode har teoretisk indsigt i kodning/programmering - hvorfor forvirring og ukendskab til fagets grundregler til tider kan synes stigende over tid :o|
/mvh
</bole>