XHTML
bolek92
Jeżeli możesz popraw ten artykuł według zaleceń, które możesz znaleźć na stronie [[Artykuły do poprawy]]. Po dopracowaniu tego tekstu można usunąć ten komunikat.
1 Różnice między HTML i XHTML
1.1 Czym XHTML od HTML się nie różni
1.2 Typ MIME
1.3 Poprawność kodu
1.4 Zamykanie znaczników
1.5 Wielkość liter
1.6 Znaczniki formatujące i style
1.7 Atrybuty
1.8 Sekcje CDATA
</code></code>
1.9 Atrybut name elementu a
</code></code>
1.10 Mieszanie z innymi aplikacjami XML
</code></code>
1.11 Ruby
</code></code>
2 Zobacz też
</code></code>
3 Przypisy
</code></code>
Różnice między HTML i XHTML
Czym XHTML od HTML się nie różni
XHTML wcale nie jest bardziej semantyczny od HTML. XHTML to tylko HTML przekształcony na dialekt [[XML|XML-a]]. Przekształcony wraz z wersją Transitional, która dopuszcza używanie znaczników takich jak [[(X)HTML/font]] i Frameset, która pozwala na tworzenie ramek.Zobacz: http://pornel.net/xhtml
Typ MIME
Dokumenty XHTML powinny być wysyłane jako application/xhtml+xml. Aby tak się stało, nadaj plikowi rozszerzenie `.xhtml`. Dokument XHTML 1.0 możesz wysłać jako text/html, jeśli jego składnia jest kompatybilna wstecz. Wysyłanie XHTML 1.1 jako text/html jest niezalecane.Wysyłając XHTML możesz również użyć MIME przypisanych dla XML: text/xml lub application/xml.
http://www.w3.org/TR/xhtml-media-types/#h-3.5
Poprawność kodu
Dokumenty w języku XHTML muszą być składniowo poprawne, żeby mogły być wyświetlone. Jeśli w pliku XHTML znajdzie się choć jeden błąd składni, przeglądarka wyświetli informację o błędzie[#]_.Zamykanie znaczników
O ile HTML jest oparty na SGML, gdzie nie ma obowiązku zamykania każdego znacznika, o tyle w przypadku opartego na [[XML|XML-u]] XHTML-a jest to wymagane. Te znaczniki, które w HTML zostawiać otwarte można (jak [[(X)HTML/p]], [[(X)HTML/dd]], [[(X)HTML/th]]) lub trzeba ([[(X)HTML/br]], [[(X)HTML/img]]), w XHTML trzeba zawsze zamykać. Można posłużyć się przy tym składnią samozamykających się znaczników (np. ``).
Jeśli serwujesz XHTML przeglądarkom, które go nie wspierają, znaczniki, które w HTML muszą być otwarte zamykaj za pomocą sekwencji „/>”, przed którą postaw spację, a pozostałe zamykaj jak w HTML.
HTML:
<body>
To jest przykład
</body>
```
XHTML:
<body>
To jest przykład<br />
</body>
Każdy znacznik w XHTML-u musi posiadać zamknięcie!
Wielkość liter
HTML nie rozróżniał wielkości liter - znaczniki można było pisać zarówno małymi jak i wielkimi literami. XML — a więc i XHTML — rozróżnia, toteż nazwy tagów i atrybutów należy pisać zawsze małymi literami. Wyjątek stanowi tag [[(X)HTML/Doctype|!DOCTYPE]] który musi być zapisany wielkimi literami.
Ponadto wartości takich atrybutów jak Dir, method czy shape w XHTML muszą być pisane małymi literami.
Znaczniki formatujące i style
Załączanie stylów zgodne z językiem XML powinno wyglądać następująco:
Styl zewnętrzny:
```xml
<?xml-stylesheet href="styl.css" type="text/css"?>
```
Styl wewnętrzny:
```xml
<?xml-stylesheet href="#style" type="text/css"?>
...
<style type="text/css" id="style">
p.normal {font-size: 10pt; font-family: Tahoma; }
</style>
...
```
Atrybuty
Według specyfikacji, w XML każdy atrybut powinien znaleźć się w cudzysłowach, bez wyjątków. W HTML-u przeglądarki akceptowały parametry bez cudzysłowów, o ile nie naruszało to składni dokumentu (co nie oznacza, że taki był standard).
Poniższy kod jest przez przeglądarki akceptowany w HTML:
<body>
główna
</body>
```
- działa
a w XHTML nie - należy napisać:
```xml
<body>
główna
</body>
```
Poza tym, w XHTML-u nie istnieje forma skrócona atrybutów bez wartości. Choć taka deklaracja będzie w HTML poprawna, w XHTML-u nie ma prawa działać:
<body>
<input readonly="readonly">
</body>
```
Zamiast tego należy użyć
```xml
<body>
<input readonly="readonly">
</body>
```
W cudzysłowach powinna znajdować się nazwa atrybutu. Aby wyłączyć opcję, atrybut wystarczy pominąć.
Sekcje CDATA
Sekcje CDATA
Sekcje CDATA w XML pozwalają na zapisywanie <, > i & bez uciekania się do domyślnie zdefiniowanych encji. W plikach XHTML w takich sekcjach umieszcza się zwykle skrypty w języku JavaScript oraz style CSS.
W języku HTML używano do tego komentarzy, lecz ponieważ w XML-u przed rozpoczęciem parsowania parser ma prawo usunąć wszystkie komentarze, skrypty osadzone w znakach komentarza, tak samo jak style osadzone w ten sposób, mogłyby zostać zignorowane.
<![CDATA[
function sign(num){
if (num > 0)
return +1;
else if (num < 0)
return -1;
else
return 0;
}
]]>
Należy unikać sytuacji, w której wewnątrz sekcji CDATA miałby się znaleźć ciąg znaków „]]>”. Jeśli z jakiegoś powodu musisz użyć takiego ciągu, zapisz go w inny sposób: "]]>" albo "]]" + ">". W ostateczności możesz przerwać sekcję CDATA i rozpocząć ją od nowa: „]]>]]><![CDATA[”
Nie ma potrzeby umieszczać skryptów ani stylów w sekcji CDATA, jeśli nie zawierają one znaków <, > ani &.
Atrybut name elementu a
Atrybut name elementu a
Atrybut name w HTML 4.01 wyznaczał nazwę [[(X)HTML/a|kotwicy]]. Wartość tego atrybutu była wykorzystywana w adresach URI[#]_. W wysyłanym z poprawnym MIME pliku XHTML atrybut name nie może być użyty w ten sposób, ponieważ w dokumentach XML jako identyfikator elementu (tudzież identyfikator fragmentu w adresie URI) może służyć tylko atrybut typu ID, a atrybut name jest typu NMTOKEN.
Mieszanie z innymi aplikacjami XML
Mieszanie z innymi aplikacjami XML
W pliku XHTML można osadzić inne aplikacje XML, jak XForms czy MathML i vice versa: XHTML można osadzić na przykład w kanale Atom.
Ruby
Ruby
W XHTML 1.1 wprowadzono nowość: zestaw znaczników <wiki href="Ruby_(znaki)">Ruby</wiki>, który jest używany głównie w dokumentach wschodnioazjatyckich do zaznaczenia wymowy lub wstawienia krótkiej adnotacji. Głównym elementem Ruby jest znacznik `<ruby>`, który z kolei może zawierać znaczniki `<rbc> i <rtc>, które zaś mogą zawierać tagi <rt>, <rb> i <rp>`. Więcej informacji można znaleźć w oficjalnej specyfikacji Ruby.
Zobacz też
Zobacz też
* Specyfikacja XHTML 1.0
* HTML i XHTML - najczęściej zadawane pytania (FAQ)
Przypisy
Przypisy
.. [#] Przeglądarki nie wyświetlą błędu, jeśli XHTML wysyłasz jako HTML.
.. [#] W praktyce poprzez atrybut name można się do każdego elementu odwołać w skryptach, przy użyciu DOM poziomu 0, implementowanego w przeglądarkach ze względu na wsteczną zgodność. W Internet Explorerze da się to zrobić również przy pomocy document.getElementById(), co jest sprzeczne ze standardem.
Witam
Autorowi jak i wszystkim zainteresowanym polecam lekturę
http://pornel.net/xhtml
http://pornel.net/transitional
i jeżeli chcesz pisać kod w 100% poprawnie, to uwzględniając że 50% ludzi siedzi na IE - albo piszesz w html dla wszystkich albo w xhtml skreślając połowe na starcie.
co za bzdury! w html'u tez atrybuty trzeba było brac w cudzysłowia tylko nie kazdy to stosował, po co wiec uczysz złych nawyków? i co to za pseudo xhtml ?
<a target="_blank"><br>
nie dosc ze atrybut targe - bardzo typowy dla xhtml to jeszcze nie zamkniete br
poza tym co to za tag i czcionka lol ?
i atrybutom bez wartosci nie daje sie "on" "true" czy cos w tym stylu tylko jego nazwe, np
readonly="readonly"
i tego sie trzymaj...
Ktos... oczywiście, chodziło mi o XHTML. Przynajmniej autor powinien w tym tekście napisać XHTML, bo w końcu tekst dotyczy różnic między XHTML a HTML.
Mętne to troche, kazdy z podpunktów mozna było "ładniej" napisać
a poza tym wypadało by jeszcze napisac o:
Bzdura. Ktoś ci broni napisać sobie w XML-u znaczniki <jakisZnacznik /> czy <BLA />? Nie. Ale w XHTML-u znaczniki małe są wymagane i tyle - tak definiuje DTD.
" W XML-u przyjęto, że nazwy tagów i parametrów należy pisać małymi literami."
przyjęło się? Taki jest wymóg :P
FrontPage buachacahca, kod jaki generuje ten program mozna se w buty wlozyc. Ja bym nie smial nazwac tego HTMLem...
bolek, używaj podglądu, zamiast zapisywać stronę co 5 minut
bolek92: powtórzę za Marooned - co to za herezje? Uważasz FP i Zajączka za programy wyznaczające standard pisania w HTML? Podpowiem, że istnieje organizacja o nazwie W3 Consortium zajmująca się ustalaniem standardów...
Pisało się i tak i tak - jak kto lubi tak pisał.
A tak po za tym cienki jakiś ten opis jak na razie :P
To sobie zobacz frontpejdża czy zajączka...