Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Tworzenie stron WWW Systemy CMS i narzędzia webowe

W języku XHTML zapisano fragment kodu, który zawiera błąd walidacji. Na czym polega ten błąd?

<h6>tekst</h6>
<p>pierwsza <b>linia</b> <br>
Druga linia</p>
A. Znaczniki należy pisać wielkimi literami.
B. Znacznik <b> nie może być zagnieżdżany w znaczniku <p>.
C. Nie istnieje nagłówek szóstego stopnia.
D. Znacznik <br> powinien być zamknięty.
W XHTML element br jest elementem pustym, czyli nie ma treści między znacznikiem otwierającym i zamykającym. Ponieważ XHTML opiera się na składni XML, każdy element musi być poprawnie zamknięty. Zapis <br> jest typowy dla luźniejszego HTML-a, ale w XHTML powoduje błąd walidacji. Poprawny zapis to najczęściej <br />, ewentualnie formalnie można spotkać <br></br>, choć w praktyce prawie zawsze używa się wersji samozamykającej. To jest właśnie sedno błędu w podanym fragmencie. Reszta kodu nie łamie zasad XHTML: nagłówek h6 istnieje, element b może znajdować się wewnątrz akapitu p, a znaczniki w XHTML zapisuje się małymi literami, nie wielkimi. Z mojego doświadczenia warto zapamiętać prostą zasadę: w XHTML trzeba pilnować domykania wszystkiego, nawet elementów pustych takich jak img, meta, link, input czy właśnie br. Walidator W3C od razu takie rzeczy wychwyci, a poprawny kod jest potem łatwiejszy do utrzymania i mniej zaskakuje w różnych parserach.
W tym pytaniu łatwo pomylić zasady klasycznego HTML-a z bardziej rygorystycznym XHTML-em. Element b może być zagnieżdżony w elemencie p, bo jest elementem liniowym używanym wewnątrz treści tekstowej. Oczywiście obecnie, ze względów semantycznych, często lepiej używać strong, gdy chodzi o ważność tekstu, a nie tylko pogrubienie, ale sam zapis z b w akapicie nie jest błędem walidacji. Nagłówek h6 również jak najbardziej istnieje. HTML i XHTML definiują poziomy nagłówków od h1 do h6, gdzie h1 jest zwykle najważniejszy, a h6 najmniej istotny w strukturze dokumentu. Myślenie, że szósty poziom nie istnieje, wynika czasem z tego, że rzadko się go używa w prostych stronach, ale standard go przewiduje. Niepoprawne jest też przekonanie, że znaczniki należy pisać wielkimi literami. W dawnym HTML-u wielkość liter bywała tolerowana, natomiast XHTML jest oparty na XML, więc nazwy elementów są rozróżniane pod względem wielkości liter i standardowo zapisuje się je małymi literami. Prawdziwy problem dotyczy elementu br. Przeglądarka może łaskawie wyświetlić stronę mimo zapisu <br>, ale walidator XHTML potraktuje to jako błąd, bo element nie został zamknięty. Poprawnie powinno być <br />. To dobry przykład, że działanie w przeglądarce nie zawsze oznacza poprawność według standardu.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.