Autor_inż napisał(a)
widzę, że nie jestes webasterem z pierwszej łapanki
Nie bardzo rozumiem. Jeśli Cię to interesuję, to mam formalne wykształcenie informatyczne na dobrej uczelni i zawodowo programuję głównie w branży webowej. Jestem raczej gościem "od zadań specjalnych", tj. pracowałem na stanowisku starszego specjalisty (senior webdeveloper), współpracowałem z dobrymi agencjami i wybierano mnie do napisania więcej niż jednej strony firmowej agencji interaktywnych. Siłą rzeczy ze statusem Sieci nie tyle staram się być na bieżąco, co muszę być.
Z tym XHTML-em to wybór należy do Ciebie. Ostrzegam tylko lojalnie, że mogą być z tym pewne problemy. Z jednej strony natury formalnej, z drugiej -- praktycznej, kompatybilnościowej. Ważną duperelą jest to, jakim typem MIME oznaczasz pliki XHTML. Niestety, same publikacje W3C zdają się być ze sobą wewnętrznie sprzeczne. Wg specyfikacji nie ma przymusu (choć jest wyraźne zalecenie), by wysyłać XHTML z typowo "XML-owym" typem MIME. Wg innych ich dokumentów trzeba jednak tak robić. Specyfikacja jest tu jednak niby ważniejsza... gdyby nie to, że twórcy przeglądarek (i to nie tylko staroci) się do niej nie stosują.
Jasne, kompatybilność z dokumentami XML. Boo-hoo. Może i fajna idea (choć niekoniecznie). Wykładowcy od eksploracji danych / eksploracji zasobów Internetu, którzy mówią, że to absolutna przyszłość, zdają się jednak być oderwani od rzeczywistości. Nie sądzę, by ktokolwiek -- nawet z tytułem doktora popartym wielką inteligencją i wspaniałymi wynikami pracy naukowej -- mógł zignorować to, co się dzieje w Sieci i powiedzieć, że to nie ma znaczenia, bo i tak będzie tak, jak on mówi. Znaczy -- powiedzieć to sobie można wszystko. Ale tylko tyle. Nie trzeba tego od razu kupować.
Parsery XML. Twoi wykładowcy na pewno wiedzą -- Ty pewnie też -- jak bardzo są restrykcyjne. Jak bardzo sam XML jest restrykcyjny. 1 rypnięty tag -- i koniec, wylatujesz. Yellow screen of death. Parser MUSI w takim wypadku przerwać parsowanie i wyświetlić błąd. Strona jest niedostępna.
Ty prawdopodobnie utworzysz poprawnie sformowany dokument X(HT)ML. Dobrze dla Ciebie. Ba, może nawet pokonasz wszystkie problemy i zapodasz go z dobrym typem MIME itd. I zrobisz to tak, że stare przeglądarki też to łakną. Pogratuluję Ci, bo nie jest to aż tak łatwe.
Ale jak to się ma do naszej sieciowej, gównianej rzeczywistości? Wiesz jaki procent witryn jest poprawnych, przechodzi walidację? (łagodną walidację HTML, czy nie tak restrykcyjną jak być powinna walidację XHTML) Odpowiem Ci: przytłaczająca większość witryn sieci się NIE waliduje! Większość to grubo ponad 90%. Może 95%, dawno nie sprawdzałem statsów.
Gdyby wszystkie strony były pisane w XHTML-u, to nagle 95% Internetu po prostu przestałoby działać z powodu błędów. Zauważ, że ten cały X(HT)ML w dokumentach stron www ma wielki potencjał dopiero gdy praktycznie cała Sieć będzie w ten sposób pisana. Bo jeśli odsetek dokumentów XHTML będzie wynosił 5%, to każdy parser XHTML będzie w stanie przetworzyć tylko 5% Sieci. Przypomnijmy, że dla parsera XHTML dokumenty niepoprawnie sformowane są całkowicie nieprzydatne -- ich treść jest praktycznie niewidoczna.
Tymczasem większość stron www została stworzona przez nieprofesjonalnych, niewykwalifikowanych (X)HTML-owych ignorantów. To, co widzę w kodzie większości stron woła po prostu o pomstę do nieba. Ludzie, którzy pisali większość stron w ogóle nie mieli pojęcia o tym, co robią!
Niektórzy mówią, że o to właśnie chodzi. Że w Internecie jest wolność. Każdy może tanim kosztem sklecić coś na pałę z tutoriala i wrzucić to w Sieć. Doprawdy, przyznaję rację, że widziałem już strony ze wspaniałą treścią i koszmarnym kodem. Gdyby nagle zabronić wprowadzania do Sieci niepoprawnego kodu, prawdopodobnie szybko stałbym się (podobnie jak inni koderzy, którzy chociaż w miarę wiedzą co robią!) całkiem bogaty :). Ale Sieć sporo by na tym straciła.
A jeśli w Sieci nadal pełno byłoby witryn niedostępnych dla (prawdziwych, zgodnych z XML) parserów XHTML -- niedostępnych czy to z powodu błędów, czy to tego, że były napisane w zwykłym HTML-u -- to jaka jest przewaga XHTML-a? Mieszanie znaczników HTML np. z MathML? Błagam, ile witryn naprawdę zaimplementowało coś takiego? Łatwość parsowania? OK, można łatwiej parsować... 5% Sieci. A w pozostałych przypadkach i tak trzeba parsera HTML.
Jeszcze jedna drobnostka. HTML5 skupia się bardziej na zdefiniowaniu abstrakcyjnego drzewa węzłów. Czyli, w uproszczeniu: masz element o nazwie "html", w nim jeden element "head" i jeden "body". Serializacja tego, czyli zapis w formie ciągu znaków, to osobna sprawa. HTML5 definiuje różne sposoby serializacji. Właściwie to dwie różne składnie, bo oprócz serializacji chodzi również oczywiście o parsowanie.
Jedna z nich to normalna składnia "HTML". Druga z nich to składnia... "XHTML". 'nuff said!
PS. Wybór jest Twój. Ja Ci nawet nie mówię, że masz użyć HTML (choć ja bym użył HTML5, żeby się popisać i żebym nie musiał przeklejać DOCTYPE-a :P). Staram się jednak (czasem) walczyć z tym "irracjonalnym uwielbieniem dla XHTML", z którym walczył porneL. Racjonalne uwielbienie, gdy XHTML rzeczywiście się dla nas sprawdza i gdy stosujemy go poprawnie i porządnie, jest moim zdaniem jak najbardziej OK. Nie widzę nic złego w tym, że ktoś wrzuci do Sieci poprawny dokument X(HT)ML. To nawet fajne. Ale gdy zrobi to źle, to należy mu się kop w tyłek, bo porywając się na XHTML jakby sam się zadeklarował, że błędu na pewno nie popełni!
To się rozpisałem. Po więcej ogólnych informacji mogę Cię jedynie odesłać do innych źródeł (jakichś artykułów, czy coś), bo moje długie i mało składne posty na ten temat nie są aż tak pożyteczne, byśmy obaj tracili na nie czas :).