użytkownicy
0 użytkowników online

ostatni zarejestrowany: ginekolog
:. Kategorie  :. Prześlij arytkuł  :. Artykuły oczekujące/usunięte  :. Last 10/Top 10  :. Zasady


 Kategorie -> Webmasters -> Kierunek XHTML !


 Autor artykułu
Data wysłania: 2005-09-23 19:12
Czytań: 4278

Komentarze [19]


JohnySpot
friend

[offline]
[dołączył]


[profil]
[pm]
[email]
[gg]
[www]

Kierunek XHTML !

0. Wstęp
Każdy pamięta czasy kiedy to nie wiedząc jeszcze dlaczego i po co... na płycie z czasopismem komputerowym dumnie widniał napis "Pajączek". Nie jeden z nas zainstalował zapewne tą aplikację, aby przekonać się, że nie mamy zielonego pojęcia po co nam służy. Inni zajrzeli do menu Pomocy i odnaleźli "Heljonowski" Kurs HTML-a. Od tej pory zaczęła się wielka przygoda. Inni być może, zainteresowanie pakietem MS-OFFICE...uruchomili Front-Paga i zaczęli śmiecić w obszarze roboczym, publikując swoje bohomazy pozwalali ujrzeć światło dzienne swojej wesołejtwórczości. Dziś chyba rzadziej, niż kiedyś zdarza się nam widywać strony "domowe". Przyzwyczailiśmy się już do ładnych, zaprojektowanych serwisów / CMS-ów... Życie wielu z nas to badzIEwie ... a każda ambitniejsza osoba mająca odwagę spojrzeć na swoje arcydzieło pod np. Netscapem... załamywała ręce... i odinstalowywała przeglądarkę, lub też robiła dwie wersje strony. Dziś czasy się zmieniły.... Ilość dostępnych przeglądarek drastycznie się zmieniła. Problemy zaczęłyby więc urastać do robieniu 10ciu wersji strony. A wielu z nas, do tej pory nie stosuje poprawnej składni HTML-a... Może więc warto przyjrzeć się technologii XXI wieku ... XHTML...

1. XHTML
XHTML to jakby oczekiwana wersja HTML-a 5. Powstał On z dwóch powodów...

a) Brak zgodności ze standardami wielu przeglądarek...
b) XML

XHTML to jakby połączenie tego co dobre z HTML-a i wkroczenie bucikiem w kierunku XML-a... a zarazem standard mający zapewnić kompatybilność wyglądu strony pod wszystkimi przeglądarkami. Nie różni się on znacznie od HTML-a. Trzeba tylko kierować się sztywnymi zasadami pisząc dokument. Składnia XHTML-a jest IDENTYCZNA jak HTML-a, poza małymi zmianami posiada te same znaczniki, dlatego każdy poprawnie napisany kurs HTML-a jest jak najbardziej użyteczny przy nauce XHTML-a. O czym jednak należy pamiętać ? Oto kilka priorytetowych zasad:

1) Na początku każdego pliku musi znajdować się prolog XML-a:


Kod:

<?php
echo '<?phpxml version="1.0" encoding="utf-8"? />';
?>


2) Później musi znaleść się specyfikacja DTD wersji XHTML-a


Kod:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


A następnie rozpoczęcie dokumentu XHTML


Kod:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">


Od teraz istnieją pewne zasady:

3) Wszytki znaczniki zamykamy nawet BR i IMG... jeżeli znacznik posiada znacznik zamykający zamykamy go naturalnie:


Kod:

<p>Ten znacznik jest zamknięty</p>


Jeżeli nie zamykamy w jednym znaczniku w następujący sposób:


Kod:

<img src="" alt="" />

<input type="text" name="pole" />


4) Nie mieszamy zamykania znaczników (ŹLE):


Kod:

<i>Ala ma <b>kota</i> a kot <u>ma Alę</b></u>


(DOBRZE)


Kod:

<i>Ala ma</i><b><i>kota</i><b/><b> a kot </b><b><u>ma Alę</u></b>


5) Wszystkie znaczniki piszemy małymi literami:


Kod:

Nie ma  <IMG /> <P /> <HTML></HTML> i <BODY></BODY>
Ale jest  <img /> <p /> <html></html> i <body></body>


6) Zlikwidowano kilka znaczników HTML-a... obowiązuje też zasada, że nie używa się "właściwości" obiektów, ale stronę formatuje się na MAX-a w CSS-ie... Co to oznacza. To oznacza, że taki znacznik jak nie istnieje... takie rzeczy trzeba opisywać np. tak:

.
Tak samo nie ma już w znaczniku text, link, vlink, alink, bgcolor.... Wszystko opisujemy w CSS. Stosuj CSS wszędzie gdzie się tylko da.

7) Ta uwaga pojawia się tutaj chociaż nie jest obowiązkiem stosowania jej przy XHTML-u, to jest bardzo cenną uwagą. Layout-ów nie robi się na tabelkach ! Od tego jest znacznik
...

8) Do pozycjonowania div-ów używamy w CSS właściwości "float" i "clear" ... najczęściej używane to:

Float: left; - wyrównuje do lewej
Float: right; - wyrównuje do prawej;
Clear: both; - powoduje "wycentrowanie" ( w języku potocznym )

9) Wszystkie wartości muszą być zawarte w symbolach " i ".


Kod:

<img src="obrazek.jpg" alt="ble ble" />



10) Nie używamy w dokumencie znaków "<", ">" i "&"  (kilku innych też).. zastępujemy je encjami:

"&" - &
"<" - <
">" - >

11)Skrypty i style wstawiamy w stylu zgodnym z XML-em czyli:


Kod:

<script type="text/javascript">
<![CDATA[
Ciało skryptu
]]>
</script>



Kod:

<style type="text/css">
<![CDATA[
styl
]]>
</style>


2) Jeżeli mamy pisać w PHP (index.php) problem z prologiem XML rozwiązujemy:


Kod:

<?php
echo '<?xml version="1.0" encoding="utf-8"?>';
?>


13) Przy prologu XML jak zwykle pojawia się problem z badziewiem bo wpada w tryb Quirks więc bez namysłu warto jest napisać taki skrypcik...



Kod:

<?php
#Uruchamiam buforowanie w celu możliwości manipulowania nagłówkami
     
ob_start();
#Manipulujemy nagłówkami
     
if (strpos(@$_SERVER['HTTP_ACCEPT'],'application/xhtml+xml') !== false) {
           
header('Content-type: application/xhtml+xml');
           echo
'<?xml version="1.0" encoding="utf-8"?>';            
     } else {
           
header('Content-type: text/html; charset=utf-8' );
     }      
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <link rel="stylesheet" type="text/css" media="all" href="style/main.css" />
     <title>7 Włocławska Drużyna Harcerska "Silva"</title>
</head>
<body>
[...]
</body>
</html>
<?php
     ob_end_flush
();
?>


Dzięki temu, większość przeglądarek będzie właściwie interpretowało stronę.

14) Prawidłowa struktura formularza wygląda następująco...



Kod:

<form action="" method="post">
     <fieldset>
           <input  type="hidden" name="akcja" value="walue" />
           <legend>Opis</legend>
           <div
                 <label >Opis pola
<input type="text" name="pole" /></label>
           </div>
           <div>
                 <label>Treść
<textarea name="tresc" cols="40" rows="40"></textarea></label>
           </div>      
     </fieldset>
     <div>
           <input type="submit" name="wyslij" value="Walue" />
     </div>
</form>

Poprawione po poście frea-ka

Wkładanie formularzy w tabelkę nie jest jednak karygodnym błędem.

15) Menu też nie robimy na tabelce. Używamy do tego odpowiednio wystylizowanej w CSS listy
ewentualnie


16) Pewne znaczniki muszą być zaopatrzone w pewne właściwości np. znacznik Musi posiadać właściwość "alt".

17) Czasami bywa tak, że coś wygląda źle np. (zazwyczaj) pod IE... a we wszystkich innych przeglądarkach dobrze. Co wtedy ? Należy stosować tzw.. hacki. Najlepszy do zastosowania to:


Kod:

<!--[if IE]><link rel="stylesheet" href="badzIEwie.css" type="text/css" media="screen" /><![endif]-->


Co powduje załadowanie innego stylu jeżeli przeglądarką jest IE

18) Nie ma JS ... w XHTML-u używamy DOM... kurs dom znajduje się na jednej ze stron podanych w linkach.

19) Często w IE pojawiają się jakieś odstępy przy obrazkach ...czasami sprawę załatwia:


Kod:

img {
vertical-align: top;
}



A  zamiast:


Kod:

<img />
<img />
<img />


Użyć:


Kod:

<img /><img /><img />



Czyli zlikwidować wszystkie białe znaki z nimi są problemy.

20) Jest to chyba dobra okazja aby powiedzieć coś o kodowaniu. Narzędzia Microsoftu aby rozpoznać pliki kodowane w UTF-8 zapisuje niewidzialny znak "BOM" na początku, który nie pozwala wczytać przeglądarkom nagłówków. Czasami widać ten znak w przeglądarkach jako: "ďťż".

21) W czym pisać. To nie ma w gruncie rzeczy znaczenia, w czym Ci wygodnie, ja używam EditPlus-a. Jest szybki i ładnie koloruje składnię. Rzecz gustu.

22) Jakiej przeglądarki używać ? mam na swoim kompie IE 4.0/5.01/5.5/6 Opere, FF, Netscapa... Najlepiej strony robić pod Operą... Jeżeli strona wygląda ładnie pod operą, to trzeba poprawiać ją tylko pod IE 5/4 czasami pod IE 6...wszędzie indziej wygląda glanc (oczywiście zdarzają się wyjątki potwierdzające regułę)... Pyzatym opera posiada Opcję walidacji dokumentu. Nad zgodnością ze standardami czuwa W3C Org... walidowanie dokumentów, to sprawdzanie czy wszystko dobrze się napisało. Jest to trudne przy dokumentach PHP, ale Opera bardzo to ułatwia. Wystarcz otworzyć stronę i kliknąć:
[CTRL]+[ALT]+[V] ... a otworzy się validator W3C i pokaże nam błędy na naszej stronie.

23) Skąd mieć wszystkie wersje IE ? Są dostępne na stronie:

[ www ]
[ www ]
[ www ]

24) Semantyka. Czasami dokument jest napisany "poprawnie", jednak nadal istnieją pewne zasady, których mechanizm validacji nie wychwyci. To tak jak błąd gramatyczny w Wordzie (np. przecinek)... Cała semantyka wręcz genialnie wytłumaczona jest na [ www ]

25) Przydatne linki:
W tym temacie musnąłem tylko temat. Zainteresowanym polecam następujące strony:

[ www ]
[ www ]
[ www ]
[ www ]
[ www ] (biblia polskiego Internetu !!)
[ www ]
[ www ]
[ www ]
[ www ]
[ www ]

[ www ]
[ www ] (tutaj opis DOM)
[ www ] (walidator Opery)
[ www ] (walidator CSS)






Komentarze użytkowników: 
autor: 2005-09-23 19:23:47
sh3rm1t

 

[offline]
[dołączył]
dla mnie bomba



Power To The People.
Olewamy system, który nas żywi.
 [profil]  [pm]  [email]  [www] 
autor: 2005-09-23 19:50:46
Piotrazz

 

[offline]
[dołączył]
Dodam jeszcze, że [co autor wydaje mi sie pominął], a mianowicie wszystkie atrybuty muszą być objęte znakami cudzysłowia np. method=post <-ŹLE
method="post" <-DOBRZE



"Vim'a albo się kocha, albo nienawidzi"
 [profil]  [pm]  [email]  [gg] 
autor: 2005-09-23 19:52:15
JohnySpot

 
friend

[offline]
[dołączył]
Punkt 9-ty



[KateOS user ]
 [profil]  [pm]  [email]  [gg]  [www] 
autor: 2005-09-23 20:21:06
Nazgob

 

[offline]
[dołączył]
Fajnie, bedzie gdzie odsylac noobow



Turlaj dropsa.
 [profil]  [pm] 
autor: 2005-09-24 02:42:35
faxe

 

[offline]
[dołączył]

Kod:
<label >Opis pola</label>
<input type="text" name="pole" />
          </div>
          <div>
                <label>Treść</label>
<textarea name="tresc" cols="40" rows="40"></textarea>


tutaj autor nie za bardzo wie, do czego służy <label /> ale stara się go używać w dobrej wierze. Otóż <label> powinien OBEJMOWAĆ docelowy element <input /> bądź <textarea /> przez co po kliknięciu na tekst zawarty weń <input /> otrzyma fokus. Gdy jest niemozliwe objęcie labelem elementu formularza stosuje się takie rozwiazaie:


Kod:
<td><label for="opcja">opis pola</label></td><td><input type="checkbox" name="nazwaPola" id="opcja" />


I dodatkowe pytanko do autora: Co znaczy, co następuje:

[cite]Nie ma JS ... w XHTML-u używamy DOM... kurs dom znajduje się na jednej ze stron podanych w linkach.[/cite]

Czy to znaczy, że nie wolno stosować JavaScriptu? Do czego służy więc znacznik <script/>. A DOM jest tylko zbiorem procedur/interfejsem a nie osobnym językiem programowania więc nie widzę porównania między JS a DOM-em w tym miejscu...



... a poza tym uważam, że IE należy zniszczyć.

"Oczywistym matematycznym przełomem byłoby wypracowanie prostej metody faktoryzacji wielkich liczb pierwszych." - Bill G.
 [profil]  [pm]  [www] 
autor: 2005-09-24 07:01:57
JohnySpot

 
friend

[offline]
[dołączył]
Dzięki za wytłumaczenie i sprostowanie. Nie uważam, się za experta, więc mogłem popełnić błedy, to była garstka porad, które zebrałem od czasu gdy postanowiłem przerzucić się na XHTML. To z labelem sobie zapamiętam. Jeżeli zaś chodzi o JS to... Dokument XML nie może być modyfikowany jak plik tekstowy. XHTML, niestety, albo stety przejął ten "mankament", i nie można już używać np. "document.write('')", ale trzeba użyć odpowiednich procedur z modelu DOM. Wiem, że DOM to nie język programowania, ale manipulacji... nie wiem jak to ująć. Nie podam konkretów. Jednak o właśnie coś takiego mi chodziło.



[KateOS user ]
 [profil]  [pm]  [email]  [gg]  [www] 
autor: 2005-09-24 10:38:29
Piotrazz

 

[offline]
[dołączył]
Cytat:
Punkt 9-ty

fakt, przyznam się że nie czytałem całego arta jedynie przejrzałem go pobieżnie, w każdym bądź razie jest bardzo fajnie napisany, konkretny i jeśli ktoś zna dobrze z HTML-a to nie powinien mieć trudności z przyswojeniem XHTML-a



"Vim'a albo się kocha, albo nienawidzi"
 [profil]  [pm]  [email]  [gg] 
autor: 2005-09-24 11:51:26
SKL

 

[offline]
[dołączył]
No ja jestem pod wrażeniem Bardzo dobry art i wyjaśnia wiele kwestii. Faktycznie osobie znającej HTML niepowinno być trudno "przesiaść się " na XHTML.  Gratuluje autorowi

 [profil]  [pm] 
autor: 2005-09-24 12:22:53
faxe

 

[offline]
[dołączył]
Ano, document.write() w XHTML 1.1 bodaj zostanie zabronionony, ale have no fear bo DOM daje większe możliwości niż procedura .write() czy własciwosc .innerHTML stosowane przez wielu do tej pory. Możemy klasie obiektów HTML dodać metodę szybkiego doklejania tekstu, np.


Kod:

HTMLElement.prototype.doklejTekstNaPoczatek = function(tresc)
{
var el = this.ownerDocument.createTextNode(tresc);
if(this.hasChildNodes())
 return this.insertBefore(el, this.firstChild);
 else
   return this.appendChild(el);
}

HTMLElement.prototype.doklejTekstNaKoniec = function(tresc)
{
var el = this.ownerDocument.createTextNode(tresc);
this.appendChild(el);
}

// i tak z tego korzystamy:

cel = document.getElementById('wiadomosci');
if( cel != null )
{
cel.doklejTekstNaKoniec('hłe hłe');
}


celem dołączania elementów HTML do istniejących już elementów HTML oczywiście nie doklejamy ich kodu jako "tekst" w utworzonej przed chwilą metodzie tylko piszemy podobne metody jednak zamiast document.createTextNode() używając document.createElement()



... a poza tym uważam, że IE należy zniszczyć.

"Oczywistym matematycznym przełomem byłoby wypracowanie prostej metody faktoryzacji wielkich liczb pierwszych." - Bill G.
 [profil]  [pm]  [www] 
autor: 2005-09-24 15:07:28
faxe

 

[offline]
[dołączył]
o kuwra, teraz paczę i klasa HTMLElement nie istnieje pod IE - no cóż, cza te metody zrobić jako oddzielne funkcje a nie rozszerzenia prototypu klasy.

To hell with bad browsers! (;



... a poza tym uważam, że IE należy zniszczyć.

"Oczywistym matematycznym przełomem byłoby wypracowanie prostej metody faktoryzacji wielkich liczb pierwszych." - Bill G.
 [profil]  [pm]  [www] 
autor: 2005-09-24 22:36:57
nulos

 

[offline]
[dołączył]
Mam pytanie...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  ;

Po co adres tej strony? Co mnie cholernie dziwi ten sam adres jest na wielu portalach. Czy jest konieczny i po kiego grzyba w ogóle jest?



KLIKNIJ TU, aby za niewielką opłatą zobaczyć mój opis.
 [profil]  [pm] 
autor: 2005-09-25 06:51:03
JohnySpot

 
friend

[offline]
[dołączył]
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
To jest konkretny plik DTD, w nim masz zawarte i Twoja strona z nich korzysta, znaczniki, zasady pisania. Możesz go zmienić. XHTML w wersji 1.0 ma 3 DTD, możesz zmieniać. Ja używam strict, ale czasem jest niewygodny i "Trans..." (nie pamiętam jak się pisze) trzeba użyć.



[KateOS user ]
 [profil]  [pm]  [email]  [gg]  [www] 
autor: 2005-09-25 13:43:36
nulos

 

[offline]
[dołączył]
A jak serv z tą stroną padnie? Wielkie portale przestaną poprawnie działać? Trochę wydaje mi się to nie praktyczne... A żeby się obejść bez tego to trzeba skopiować ten plik na swoje konto rozumiem? I w ogóle co się dzieje bez tego pliku? Cała strona pada, czy układ się jeb**?



KLIKNIJ TU, aby za niewielką opłatą zobaczyć mój opis.
 [profil]  [pm] 
autor: 2005-09-25 16:20:09
Vengeance

 
friend

[offline]
[dołączył]
ten plik nie jest wczytywany... więc spokojnie.
Informuje on tylko ewentualne programy/programistów gdzie znaleść DTD wg zasad którego jest napisany dokument XML (w tym przypadku xHTML).



devblog
php
SlaVee bot IRC
txtDB - Tekstowa baza danych
 [profil]  [pm]  [www] 
autor: 2005-09-25 22:54:40
faxe

 

[offline]
[dołączył]
Vengeance: a to już zależy o jakim programie mówimy - np. parser XML Javy czytając plik XHTML ładuje ten DTD.



... a poza tym uważam, że IE należy zniszczyć.

"Oczywistym matematycznym przełomem byłoby wypracowanie prostej metody faktoryzacji wielkich liczb pierwszych." - Bill G.
 [profil]  [pm]  [www] 
autor: 2005-11-10 13:12:23
Piotrazz

 

[offline]
[dołączył]
to

Kod:
<?php
echo '<?phpxml version="1.0" encoding="utf-8"?>';
?>

powinno wyglądać tak


Kod:
<?php
echo '<?phpxml version="1.0" encoding="utf-8"? />';
?>




"Vim'a albo się kocha, albo nienawidzi"
 [profil]  [pm]  [email]  [gg] 
autor: 2006-01-23 17:04:02
proktor

 

[offline]
[dołączył]
<script type="text/javascript">
<![CDATA[
Ciało skryptu
]]>
</script>

chciałbym jeszcze dodać, że ten zapis puki co jest troche niebezpieczny, ponieważ nie każda przeglądarka obsługuje w chwili obecnej sekcje CDATA



Wszystko przeminie, a idee przetrwaja
 [profil]  [pm]  [email]  [gg]  [www] 
autor: 2006-01-28 16:15:59
proktor

 

[offline]
[dołączył]
pozatym...

[ www ]

Prolog nie jest prawidłowy



Wszystko przeminie, a idee przetrwaja
 [profil]  [pm]  [email]  [gg]  [www] 
autor: 2007-01-15 09:38:00
k0b13r

 

[offline]
[dołączył]
Prolog nie jest nawet niezbędny (wg specyfikacji jest opcjonalny)

 [profil]  [pm] 
Dodaj swój komentarz:

Aby dodać swój komentarz musisz się zalogować.





logowanie
Login:
Hasło:
zapamiętaj


[ załóż nowe konto ]


ostatnio na forum
skrypt js
automatyczne odpala...
miranda im + adresy...
cwaniacka tapeta.
strona na której mo...
system czcionka
automatyzacja czynn...
laptop toshiba i up...
dopisywanie tekstu ...
przegrzewanie się n...
ostatnie artykuły
overclocking od po...
hermes - posłaniec...
autoit v3 - z czym...
organizacja projek...
[php] koncepcja si...
polecamy





wspieramy
Pajacyk.pl







  

© 2003-2010 by haxite.org squad.Wszelkie prawa zastrzeżone dla autorów haxite.org.
engine & gfx by konrad_vme

GZIP enabled