Skip navigation.

exploreopera

| Help

Sign up | Help

Bezsensowne wypociny Michasia

Tymczasowo się gdzieś zapodziały...

Posts tagged with "xhtml"

HXML (Czyli połączenie zalet XHTML i SVG)

, , ,

Znalazłem sobie dość ciekawe zadanie. Tworzę właśnie skrypt, który generowałby statystyki dla sklepu internetowego, w którym pracuję.

Tekstowe statystyki były dość proste. Musiałem tylko rozwiązać problem z Googlobotem, który był na mojej stronie zbyt częstym gościem, jak na robota, a na dodatek udawał Netscape’a 5. Oczywiście nie jadł ciasteczek, więc moje statystyki były w opłakanym stanie.

Niestety grafika okazała się znacznie bardziej skomplikowana. Zamiast jak normalny człowiek wygenerować przy pomocy PHP obrazek gif i zapisać go na dysku, uznałem że do wykresów trzeba stosować grafikę wektorową. Oczywiście wygenerowanie obrazku svg i zapisanie go na dysku nie wchodziło w grę, było zbyt prymitywnym rozwiązaniem. Nawet zapisanie go w bazie danych uznałem za zbyt prymitywne. Jedyne, co spełniało moje wymagania, to wygenerować plik XHTML z osadzonym w nim fragmentem kodu SVG. Od strony wydajnościowej powinno to być chyba najlepszym rozwiązaniem.

Krótka zabawa z Google, stronami W3C i ich walidatorem dała chyba dobry rezultat. MSIE oczywiście tego nie strawi, ale nie musi. W Firefoksie i Operze chyba działa. Konqueror (trochę stara wersja) jakoś nie ma ochoty, choć samodzielne obrazki SVG mi jakoś wyświetla. Na razie pobawię się ignorując (chyba) błędne zachowanie Konquerora, a raczej niepełne, zakładając, że w późniejszej wersji to poprawią albo już poprawili. W razie innych problemów (albo potrzeby), przebuduję to do bardziej uniwersalnej formy.

W każdym razie doszedłem do momentu, w którym XHTML ma zdecydowaną przewagę nad HTML. Chyba osiągnąłem kolejny próg wtajemniczenia.

Formularze, a dane tabelaryczne

, , ,

Tak dużo się pisze o tym, że tabele powinny służyć tylko do danych tabelarycznych. Zgadzam się z tym. Doszedłem jednak do nieoczekiwanego wniosku, że formularze to przykład danych tabelarycznych.

Przejdźmy do konkretów. Przykładowy formularz składa się z:
- bloku, w którym jest umieszczona jego treść
- par właściwych pól formularza i ich opisów
- właściwych pól formularza
- opisów właściwych pól formularza

Czyli mamy wszystko, co jest potrzebne do zbudowania tabeli css. Teoretycznie. W praktyce bowiem pojawiają się problemy.

Pierwszy problem nazywa się Microsoft Internet Explorer i jego 80% udziału w rynku. Jest to dostateczny powód, aby nie stosować tabel css. Można się nad nim długo rozwodzić. Nie jest to jednak jedyny problem. Drugi to bardzo słaba obsługa formularzy przez CSS.

Może teraz krótkie porównanie. Co trzeba zrobić, aby uzyskać napis w czerwonym kwadracie? Są to 3-4 instrukcje CSS: dwie na określenie wymiarów kwadratu, jedna na określenie jego koloru i w razie potrzeby jedna na określenie, że jest to element blokowy. A co trzeba zrobić, aby uzyskać stosowne pole tekstowe w czerwonym kwadracie? Umieszcza się owe pole w dodatkowym elemencie xhtml, który jest stylizowany na czerwony kwadrat.

Niestety przez tyle lat nikt nie wymyślił, spójnej metody na stylizowanie elementów formularzy. Ich stylizowanie sprawia tak dużo problemów, że często najlepiej jest je zostawić w domyślnych ustawieniach. Jakby ktoś ustandaryzował stylizowanie formularzy, miałby problem ze wszystkimi przeglądarkami na rynku. Duże nadzieje wiążę więc z xform.

Teraz pora wrócić do naszych obecnych formularzy. Skoro trzeba zastosować dodatkowe elementy, a przeglądarka Microsoftu ma duże problemy z obsługą niezbędnych styli, najlogiczniejszym rozwiązaniem byłoby zastosowanie zwykłych tabel. Mamy w nich elementy table, tr, th i td, czyli wszystko, co jest nam potrzebne. Nawet nie treba dopisywać dodatkowych klas, w końcu normalne tabele nie znajdują się w elemencie form.

Oczywiście znaczna część formularzy nie wymaga stosowania tabel. Ale skoro tabele pokrywają sie z podziałem logicznym, można będzie je przy pomocy css odpowiednio przerobić. Aczkolwiek jeszcze nie badałem tego zagadnienia. W każdym razie uznałem, że stosowanie tabel w formularzach jest uzasadnione.

Modna na xhtml

, ,

Ostatnio coraz częściej trafiam na strony, które deklarują zgodność ze standardem xhtml. Postanowiłem więc podzielić się moją wiedzą z tego zakresu.

Największym mitem odnośnie xhtml jest to, że ów standard umożliwił oddzielenie treści strony od jej warstwy prezentacyjnej. Pod tym względem nie nastąpiły najmniejsze zmiany w stosunku do HTML4.

Raz nawet trafiłem na informację, która w moim odczuciu sugerowała, że xhtml to dhtml. Czyli wszystko na stronie się ruszało. W każdym razie takie rzeczy były możliwe już w HTML4.

Spotkałem się jeszcze z twierdzeniem, że xhtml pozwala na stosowanie unikodu. Unikod totaki standard kodowania, w którym bez problemów można zapisać prawie dowolną literę. Prawdę powiedziawszy, nie znam standardu HTML, w którym nie dało się tego zrobić.

Istnieje jeszcze przekonanie, że xhtml jest znacznie tródniejszy od HTML. Właściwie to jest odwrotnie. Składnia HTML jest bardzo rozbudowana. Przeciętny webmaster zna tylko jej podstawy. Składnia xhtml zaś składa się właściwie tylko z tych podstaw. Dzięki temu bardzo łatwo można sprawdzić, czy nie popełniło się w kodzie błędów składniowych.

Jest jednak z technologią xhtml jeden, poważny problem. Przeglądarka Internet Explorer zwyczajnie sobie z nim nie radzi. Jak więc działają w niej te liczne strony, które deklarują xhtml? Standard xhtml został tak zbudowany, aby przeglądarki mogły go interpretować jako zwykly HTML. Niestety w ten sposób traci się jedyną zaletę, jaką jest pilnowanie poprawności składni.

Jeśli ktoś chce tworzyć nowoczesne strony, powinien zainteresować się standardami strict, które to właśnie wymuszają oddzielenie warstwy prezentacyjnej od samej treści strony. Niestety są to bardzo mało popularne standardy.

W tym miejscu powinienem zauważyć, że tak reklamowane oddzielenie tych warstw jest prawie niemożliwe. Niestety przeglądarka Internet Explorer, poza brakiem obsługi xhtml, ma poważne braki w obsłudze CSS, która to technologia jest w tym wypadku niezbędna.

Czyli co mamy robić? Moim zdaniem najlepiej jest tworzyć strony pod xhtml. Zaś prezentować je światu najlepiej jest jako html. W międzyczasie nakłaniać do porzucenia przeglądarki Microsoftu, co może kiedyś zaowocuje jej poprawą albo marginalizacją.
July 2008
SMTWTFS
June 2008August 2008
12345
6789101112
13141516171819
20212223242526
2728293031