] > Karol „Zal” Zalewski - Blog - http://blog.4zal.net/kategoria/programowanie/xhtml/

Miniblog: Z życia wzięte

2009-07-04, Sobota 19:44:02 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

W końcu udało mi się znaleźć czas i warunki ku temu, aby móc co nieco napisać. Do tej pory nie pozwalała na to nie tylko ograniczona ilość czasu, ale również brak dostępu do Internetu. Jak się okazuje, o ile z samym miejscem w akademiku nie było problemu, tak niestety korzystanie z Internetu okazało się być mocno utrudnione. Na początku, przed pobłogosławieniem przez admina, całkiem nieźle sprawdzał się domowy VPN. A obecnie? Dostęp do I-netu jest - szkoda tylko, że mocno ograniczony. Prędkość rzędu 32kB/s to nie jest to, co tygryski lubią najbardziej. Ale przynajmniej "sekjurnie"! Czuję się bezpiecznie, gdy widzę, że zablokowano mi dostęp do portów związanych z SMTP.

Jakby tego było mało, jak już uzyskałem dostęp do cywilizowanej części świata mediów to... Dowiedziałem się od Psychola, że grupa zajmująca się XHTML 2.0 w ramach W3C zostanie rozwiązana z końcem 2009 roku. Krótkie zapoznanie się z materiałami zaowocowało konsternacją. Pozostaje XHTML 1.0, 1.1 oraz serializacja HTML 5 do XML-a, czyli XHTML 5.

Z informacji lokalnych - w Warszawie nadal jest niemiłosiernie gorąco. Dobrze przynajmniej, iż "boot camp" na praktykach dobiegł końca i może nareszcie będę wracać do domu w okolicach 17 oraz porządnie się wysypiać. To tyle w kwestii marudzenia.

Dane ukryte w kodzie (X)HTML

2009-06-08, Poniedziałek 10:34:36 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Zdarza się czasem, iż chcielibyśmy umieścić na stronie internetowej znajdującej się na specyficznej platformie (np. platforma blogowa pokroju Joggera) dane (np. obraz w formacie JPEG, czy też PDF-a), a nie mamy pod ręką odpowiedniego ku temu hostingu. Ewentualnie ochoty na zabawę z interfejsem takiego narzędzia (np. googlowa Picasa). W takiej sytuacji wystarczy wykorzystać jedną z możliwości, jaką daje URI. Wystarczy, iż zakodujemy wybrany plik przy pomocy kodowania Base64 np. pod Linuksem:

base64 obraz.jpg > base64.txt

A następnie zawartość takiego pliku (w przykładzie jest to base64.txt) kopiujemy do następującego kodu:

 
<img src="data:image/jpg;base64,KOD_BASE64_DANYCH" alt="Tytuł obrazka" />
<a href="data:image/jpg;base64,KOD_BASE64_DANYCH">LINK</a>
 

Jak sami widzicie, nie musi to być jedynie JPG. Istnieje możliwość umieszczenia niemal każdych danych, o ile zna się ich typ MIME. Można to wykorzystać wszędzie, gdzie dane nam jest skorzystać z URI w celu określenia lokalizacji zasobu. Jakie płyną z tego korzyści?

  • możliwość umieszczania danych w plikach HTML (np. na platformach blogowych) bez potrzeby martwienia się o hosting,
  • te same dane można umieszczać w komentarzach, czy też postach na forach/blogach itp. umożliwiających podawanie URI,
  • daje to interesującą możliwość ominięcia gorzej zaprojektowanych zabezpieczeń w niektórych serwisach.

Poniżej widać przykład takiego rozwiązania zastosowanego w serwisie Jogger. Ze względu na ograniczenie długości wpisów udało mi się upchnąć jedynie około 32 KiB danych. Uprzedzam również, iż ze względu na wykorzystanie Textile Lite, wklejanie kodu w Base64 do komentarzy nie daje oczekiwanego rezultatu.

Zrelaksowany Zal

Miniblog: XHTML + RDFa

2009-05-26, Wtorek 03:13:34 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Kilka minut temu chciałem przeprowadzić migrację bloga z XHTML 1.1 do XHTML+RDFa. Wszystko byłoby OK, gdyby nie jeden drobny szczegół. Wygląda na to, iż XHTML+RDFa nie obsługuje nazwanych encji (np. &amp;), co w połączeniu z application/html+xml jest zabójcze - YSOD gwarantowany. Natomiast serwowanie XHTML-a w sposób inny, niż z wykorzystaniem właściwego dla niego typu MIME by pozbyć się tego problemu byłoby barbarzyństwem!

Efekt? Główna strona mojego dziennika to obecnie XHTML 1.1 z dwoma błędami (atrybut property z RDFa) oraz podstrony będące zgodne z XHTML+RDFa. I oby na żadnej z nich nie pojawiła się nazwana encja. A dlaczego główna strona korzysta z XHTML-a? Jogger podaje w swoich zmiennych np. związanych z liczbą dodanych komentarzy, wyraz "X komentarzy" przy czym spacja między liczbą, a słowem została zapisana jako &nbsp; zamiast &#160;. Zgłosić do Buggera?

Ciekawostką jest to, że walidatorowi W3 nazwane encje nie sprawiają problemu. Valid! A po wejściu poprzez Firefoksa robi się żółto...

[EDIT] Ciekawostka - ampersand nie wywala YSOD, ale niełamliwa spacja już tak. Po drobnych zmianach w DOCTYPE zaproponowanych przez Michała Górnego całość już działa sprawnie, ale nie jest to rozwiązanie eleganckie.

Miniblog: XHTML 1.1

2009-05-05, Wtorek 08:10:54 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Mam taki kaprys związany ze standardami. Przepiszę sobie całego blogaska tak, aby był zgodny z XHTML 1.1 (obecnie XHTML 1.0 Transitional). Pewne zmiany już wprowadziłem - pojedyncze strony pokroju "O mnie" wymagały jedynie drobnych modyfikacji. Gorzej będzie z ponad 800 wpisami, które pisałem i nadal piszę dość swobodnie pod względem standardów. Całość w ramach przygotowań do XHTML 2.0 oraz jako zniewaga HTML 5.0 i Internet Explorera. Bo tak.

Obecnie włączona jest jeszcze automatyczna negocjacja zawartości. Po wprowadzeniu wszystkich zmian (trochę mi to zajmie - miesiąc, dwa) przeskoczę na application/xhtml+xml. Jeszcze tylko muszę pamiętać o wymuszeniu stosowania Atoma zamiast RSS, o ile jeszcze tego nie zrobiłem.

[EDIT] Zmiana miała zająć miesiąc, a zajęła zaledwie kilka godzin.

|