Fyrirlestur — Að skrifa HTML
Vefforritun 1 — TÖL107G
Ólafur Sverrir Kjartansson, osk@hi.is
XML
- Extensible Markup Language
- Staðlað af W3C
- Lesanlegt af bæði manneskjum og vélum
- Áhersla á einfaldleika og hið almenna
- Verða að vera vel formuð
XML dæmi
<?xml version="1.0" encoding="UTF-8" ?>
<page>
<section>
<heading>Fyrirsögn</heading>
<content>Halló, heimur</content>
</section>
</page>
XHTML
- Extensible HyperText Markup Language
- Tilraun til að láta HTML vera betur skilgreint og þá sem framlenging af XML en ekki SGML
- Vel formað XML svo hægt að þátta (parse) með XML þátturum
- Gekk ekki vel
XHTML kröfur á málfræði
- Vel formað
<p>Halló <strong>heimur</strong></p>
- ekki
<p>Halló <strong>heimur</p></strong>
- Tög og attribute í lágstöfum
<p class="a">Hæ</p>
- ekki
<P CLASS="a">Hæ</P>
- Endum alltaf og lokum alltaf
<p class="a">Hæ</p><br/>
- ekki
<p class="a">Hæ<br>
- Attribute á elementum alltaf innan gæsalappa og ekki stök
<option class="a" selected="selected">Hæ</option>
- ekki
<option class=a selected>Hæ
- Þessar kröfur eru ekki til staðar í HTML5
Gallar við XHTML
- Þar sem XHTML á að vera vel formað XML er auðvelt að gera mistök sem valda því að síða birtist ekki, t.d. að loka ekki elementi
- Villur í vöfrum stoppuðu notkun
- Flest XHTML var sent frá vefþjóni merkt sem HTML (Content type sett sem
text/html) og því túlkað sem slíkt
Be conservative in what you do, be liberal in what you accept from others
—Robustness principle / Postel’s law: RFC761: TCP
Dæmi um XHTML
Að skrifa HTML
- Skrifum snyrtilegt HTML
- Fylgjum (yfirleitt) þeim kröfum sem XHTML setur á málfræði
- Pössum upp á inndráttinn
- Whitespace (bil og nýjarlínur) er ekki mikilvægt í HTML, þ.a. mörg bil og mörgum línum er breytt í eitt bil
Kóði lýsir innri manneskju
<!doctype html>
<html lang="is">
<head>
<meta charset="utf-8">
<title>Halló heimur</title>
</head>
<body>
<p>Hæ!</p>
</body>
</html>
<!doctype html><HTML lang=is>
<head><meta charset="utf-8">
<title>Halló heimur!</TITLE>
<BODY><p>Hæ!
Túlkað nákvæmlega (fyrir utan whitespace) eins og fyrri kóði, en mikill munur á lesanleika.
- Sum element „gleypa“ allt sem er innan þeirra þar til þeim er lokað
- t.d.
<title> og <textarea>
- Ef við lokum elementi of snemma getur það leitt til villa (séstaklega þegar unnið er með CSS) sem getur verið erfitt að leita upp
Dæmi um „hreinleika“
Linting
- Almennt köllum við það linting að lesa yfir kóða og benda á möguleg vandamál
- Til fyrir langflest forritunarmál
- Oftast tvenns konar villur
- Mögulegar villur við keyrslu
- Brot á kóðastíl
Kóðastíll
- Hvernig við meðhöndlum inndrátt, notkun á tabs eða spaces
- Hámarkslengd lína, ef línur verða mikið lengri en 100 stafir geta komið upp vandamál (t.d. að bera saman kóðabreytingar, lesa kóða á minni skjám/minni gluggum)
- Í hvaða röð CSS eigindi eru
- o.s.fr.
Validation
- Til validation þjónustur sem túlka HTML og láta vita af villum sem eru til
- W3C rekur þá mest notuðu á https://validator.w3.org/
- Líka hægt að setja upp í flestum ritlum
Annað
- Getum sett athugasemd inn í HTML:
- Í XML og HTML eru sérstakir stafir, character entity skilgreindir með
&X; þar sem X er:
- Heiti tákns, t.d.
< fyrir minna-enn (<)
- Code point, í dec eða hex með # fyrir framan, t.d.
Þ fyrir Þ
Dæmi um ógilt og athugasemdir