Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura dokumentu XHTML, 2 szkoły pisania (?)
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Próbując odszukać strukturę XHTML natrafiłem na stronę http://xhtml.b7.pl/


Na pewnym forum była dyskusja co do pisania prologu. Wkońcu utknęło na tym, żeby zamiast kodu:
  1. <?php echo '<?xml version="1.0" encoding="iso-8859-2"?>'; ?>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  4. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6.  
  7. <link rel="stylesheet" type="text/css" href="style.css" />
  8. <?php echo '<?xml-stylesheet type="text/css" href="style.css" ?>'; ?>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  10. </head>
  11.  
  12. <body xml:lang="pl">
  13. </body>
  14.  
  15. </html>



pisać kod:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Tytuł strony</title>
  5. </head>
  6.  
  7. <p>
  8. <br />
  9. </p>
  10. </body>
  11. </html>


bo jest on dobry i spokojnie można na nim budować stronę XHTML.

I tu pojawia się problem, bo jeśli będę chciał dołączyć style zewnętrzne to muszę zastosować:
  1. <?xml version="1.1" encoding="iso-8859-2"?>
  2. <?xml-stylesheet type="text/css" href="style.css" ?>


ale to znowu wpływa na:

Cytat
Stosowanie prologu xml musi być świadomą decyzją bo wpływa to także na sposób renderowania stron przez IE6 (przełącza je w quirks mode)

(...)

przestawia je w quirks mode, a to skutkuje opacznym rozumieniem modelu pudełka i jeszcze kilkoma innymi bugami. IE6 sprawdza czy pierwszą linią dokumentu jest !doctype, które ono rozumie (a prolog xml takim nie jest) i wybiera jeden z dostępnych sposobów renderowania.
Dodatkowo jest wiele aspektów (choćby wspomniane kodowanie znaków zawarte w prologu), które przemawiają za nieużywaniem go na razie w kodzie stron internetowych. Wielu użytkowników korzysta jeszcze z przeglądarek dokumentów html, które nie umieją parsować xmla.


Ja już zgłupiałem. Jak powinna wyglądać poprawna (zgodna ze standardami W3C) struktura dokumentu XHTML, a jednocześnie poprawnie wyświetlana przez przeglądarki?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 21)
orson
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam

wg ie _coklowiek_ przed <!DOCTYPE przełącza render w quirks mode ... ja stosuje 2 nagłówek ( i w nim normalnie link-owanie styli) i strony w 90% przypadków z ręki wyglądają identycznie pod ie i moz ...

pozdrawiam
Go to the top of the page
+Quote Post
gekon
post
Post #3





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Jeżeli wysyłasz jako text/html to:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <link rel="stylesheet" type="text/css" href="style.css" media="media" />


Jeżeli jako application/xhtml+xml to z prologiem XML.

Ten post edytował gekon 22.02.2006, 20:06:10
Go to the top of the page
+Quote Post
Jarod
post
Post #4





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Cytat(orson @ 2006-02-22 18:30:00)
witam

wg ie _coklowiek_ przed <!DOCTYPE przełącza render w quirks mode ... ja stosuje 2 nagłówek ( i w nim normalnie link-owanie styli) i strony w 90% przypadków z ręki wyglądają identycznie pod ie i moz ...

pozdrawiam

Czyli który?
Go to the top of the page
+Quote Post
orson
post
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam ..

no 2gi ... zresztą z mojej wypowiedzi można się zorientować o którym mówie ... (ten bez prologu xml)

Cytat
Jeżeli jako application/xhtml+xml to z prologiem XML.

to się będzie sypać pod ie

pozdrawiam
Go to the top of the page
+Quote Post
gekon
post
Post #6





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Wiem, że się będzie sypać. IE nie wie co to MIME typ application/xhtml+xml i dlatego nie wysyła się tego dla IE (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Zajec
post
Post #7





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if (stristr($_SERVER[HTTP_ACCEPT], "application/xhtml+xml")) $xhtml = true;
  3. else $xhtml = false;
  4.  
  5. if ($xhtml)
  6. {
  7. header("Content-Type: application/xhtml+xml; charset=utf-8");
  8. echo '<?xml version="1.0" encoding="utf-8"?>'."\r\n";
  9. echo '<?xml-stylesheet type="text/css" href="style.css" ?>'."\r\n";
  10. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"'."\r\n";
  11. echo '"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
  12. }
  13. else
  14. {
  15. header("Content-Type: text/html; charset=utf-8");
  16. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"'."\r\n";
  17. echo '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
  18. }
  19. ?>



  1. <head>
  2. <?php
  3. if (!$xhtml) echo '<link rel="stylesheet" type="text/css" href="style.css" media="media" />'."\r\n";
  4. ?>
Go to the top of the page
+Quote Post
harp
post
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.12.2005

Ostrzeżenie: (0%)
-----


No dobra. Tylko po co zmieniać doctype z 1.1 na 1.0 Strict w IE, skoro strict tak samo jak 1.1 "nie powinien" wg W3C być wysyłany jako text/html. Równie dobrze można pozostawić 1.1 i na to samo wyjdzie. Jeżeli miałoby być poprawnie, to do przeglądarek nie obsługujących application/xhtml+xml powinno się wysyłać co najwyżej xhtml 1.0 transitional, albo jeszcze lepiej html 4.01 strict. Tylko, że po wpisaniu w validator.w3.org adresu strony wyskoczy prawidłowy xhtml transitional albo html 4.01, bo validator i tak sprawdza text/html. To taka moja luźna opinia.
Go to the top of the page
+Quote Post
gekon
post
Post #9





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Cytat
[XHTML1], Appendix C "HTML Compatibility Guidelines" summarizes design guidelines for authors who wish their XHTML documents to render on existing HTML user agents.  The use of 'text/html' for XHTML SHOULD be limited for the purpose of rendering on existing HTML user agents, and SHOULD be limited to [XHTML1] documents which follow the HTML Compatibility Guidelines. In particular, 'text/html' is NOT suitable for XHTML Family document types that adds elements and attributes from foreign namespaces, such as XHTML+MathML

Co znaczy mniej więcej tyle, że stosowanie text/html w XHTMLu POWINNO być ograniczone do dokumentów, które mają być renderowane na istniejących agentach HTML oraz dokumentów, które spełniają wytyczne kompatybilności z HTML. NIE POWINNO natomiast stosować się text/html do dokumentów zawierających atrybuty z obcych przestrzeni nazw, np. XHTML+MathML.

Oczywiście tyczy się to XHTML 1.0 (także Strict, jeżeli ma być renderowany na... vide wyżej), bo jest to standard przejściowy. Natomiast XHTML 1.1 POWINIEN być podawany jako application/xhtml+xml lub application/xml albo text/xml w zależności od zastosowania.

Podsumowując: typ zależy od zastosowania.

Ten post edytował gekon 21.03.2006, 01:20:44
Go to the top of the page
+Quote Post
harp
post
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.12.2005

Ostrzeżenie: (0%)
-----


Co do tej notki to w grucie rzeczy się z Tobą zgadzam Gekon. Wynika z niej tyle, że jeżeli wysyłamy dokument jako text/html to powinniśmy zastosować html 4, ale możemy także zastosować xhtml 1, a nie powinniśmy xhtml 1.1.

To czy w przypadku wysyłania dokumentu text/html nie lepiej używać html strict, bo chyba żadnych z nowych zastosowań xhtml i korzyści wynikających z ich użycia nie można w ten sposób osiągnąć?

Ten post edytował harp 22.03.2006, 00:14:23
Go to the top of the page
+Quote Post
Jarod
post
Post #11





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Przecież można stosować application/xhtml+xml tylko, że kaleka IE wszystko ma w d****
Go to the top of the page
+Quote Post
gekon
post
Post #12





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Harp masz rację, (pomijając Standards/Quirks Mode) używając XHTMLa nie otrzymujemy nic nowego dopóki jest on zupą tagów. XHTML przecież wcale nie "wprowadził" semantycznego kodu. W HTMLu 4.01 Strict też można (a nawet powinno się) napisać beztabelkową, semantyczną stronę.

Ten post edytował gekon 22.03.2006, 19:06:35
Go to the top of the page
+Quote Post
Jarod
post
Post #13





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Odświeżam wątek. Przeczytałem http://pornel.net/xhtml i to co wyżej napisaliście. Czy do generowania stron można stosować
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

?

Gdzieś przeczytałem (nie pamiętam źródła), że przeglądarki z DOCTYPE XHTML 1.0 Strict lepiej (poprawniej) interpretują kod?
Sprawdzaliście to kiedyś? Możecie to potwierdzić?
Go to the top of the page
+Quote Post
gekon
post
Post #14





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Oj Jarod, Jarod. Kwestia pierwsza: Tak DOCTYPE XHTML 1.0 Strict można stosować ale nie będziesz miał z tego korzyści (chyba ze w jednym dokumencie/pliku wykorzystujesz XHTML, SVG, MathML czy co tam jeszcze W3C dało - czyli wiesz co to aplikacja XMLa i jak z niej korzystać). Narazie wystarczy HTML 4.01 (pornel ładnie napisał co w XHTMLu jest dodane). Sprawa druga: u pornela jest napisane, że "W trybie XHTML przeglądarki nieco ściślej interpretują CSS"- tak ale chodzi o wysyłanie z odpowiednim MIME typem (czyli jako xml). Sprawa trzecia: z DOCTYPE trzeba uważać na Quirks Mode.
Go to the top of the page
+Quote Post
Jarod
post
Post #15





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


W takim razie pozostaje (jak większość) przy swoim"
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
Go to the top of the page
+Quote Post
gekon
post
Post #16





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Lepiej pozostań przy HTML 4.01 Strict.

Ten post edytował gekon 26.07.2007, 23:42:13
Go to the top of the page
+Quote Post
Jarod
post
Post #17





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


@gekon: przeczytałem ale nadal nie rozumiem dlaczego miałbym rezygnować z XHTML'a. Chyba nie dlatego, że IE olewa application/xhtml+xml..
Go to the top of the page
+Quote Post
gekon
post
Post #18





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Jarod: właśnie dlatego. Czy gdybyś nie wiedział jak korzystać z laski dynamitu - wiedząc, że jest to modne - bawił byś się nią? XHTML to XML i powinień rządzić się jego prawami. Tymczasem znakomita większość stron jest pisana w "XHTMLu", który tak naprawdę jest HTMLem z jakimiś dziwnymi zakończeniami tagów (z punktu widzenia przeglądarki). Po co psuć sieć skoro to samo można osiągnąć za pomocą HTMLa 4.01?
Go to the top of the page
+Quote Post
Jarod
post
Post #19





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Cytat(gekon @ 6.05.2007, 22:26:34 ) *
Jarod: właśnie dlatego. Czy gdybyś nie wiedział jak korzystać z laski dynamitu - wiedząc, że jest to modne - bawił byś się nią?

Nie bo mógłbym stracić rękę ;p Ok koniec żartów.

Cytat(gekon @ 6.05.2007, 22:26:34 ) *
XHTML to XML i powinień rządzić się jego prawami. Tymczasem znakomita większość stron jest pisana w "XHTMLu", który tak naprawdę jest HTMLem

Te linki do stron w Twoim podpisie (nie wiem czy wszystkie ale na pewno 2) były pisane w XHTML i to w dodatku Strict. Zaprzeczasz sam sobie (?)

Cytat(gekon @ 6.05.2007, 22:26:34 ) *
z jakimiś dziwnymi zakończeniami tagów (z punktu widzenia przeglądarki). Po co psuć sieć skoro to samo można osiągnąć za pomocą HTMLa 4.01?

Ale XHTML to nie tylko zakończenia tagów ale też inne rzeczy. Pisząc w xhtml'u nie zastosujesz np, font bo jakby to zrobił to validator Ci o tym przypomni..

Rozumiem, że jeśli nie wysyłam HTMLa jako application/xhtml+xml to IE traktuje to jako zwykły HTML ale to jedna przeglądarka. Chociaż robiłem przed chwilą szybki test i Firefox 2.0 też się wyłożył. Opera też miała problem z poprawnym wyświetleniem strony ale była najbliższa ideałowi..
Go to the top of the page
+Quote Post
gekon
post
Post #20





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


1. Linki z syganturki.
Wszystkie maja XHTML 1.0 Strict z czego: 2 (pierwsza i trzecia) są wysyłane jako aplikacje XMLa (dla przeglądarek, które to rozumieją), jedna jest prezentacją tylko przeze mnie przetłumaczoną (druga), a na ostatnią nie mam czasu (poza tym robiłem ją dość dawno).

2. Font & Co.
Czytaj dokładnie. HTML Strict też nie ma font i reszty.

Ten post edytował gekon 6.05.2007, 23:44:41
Go to the top of the page
+Quote Post
Jarod
post
Post #21





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


Ja już także jestem za stosowaniem html strict. Stosować dtd xhtml 1.0 strict i serwować dokument jako text/html mija się z celem. Oczywiści można zbudować poprawnie xhtml'a wykorzystując negocjowanie zawartości i przeglądarkom nie obsługującym xhtml (czytaj. IE6, 7 i 8) serwować text/html ale... Jeśli zaserwujesz dokument jako xhtml/xml nie działa np. document.write, który bardzo często jest wykorzystywany. Nie znalazłem do tej pory obejścia tego problemu. Jedynym dla mnie plusem stosowania poprawnego xhtml jest sprawdzanie poprawności budowanego dokumentu odczas parsowania. Zrobisz mały błąd i strona nie wyświetli się. Zamiast tego ujrzysz komunikat o błędzie parsowania dokumentu xhtml (łątwo znaleźć błędy i nie trzeba bawić się walidatorem w3c)

Czy ktoś może napisać jakie inne plusy daje pełny xhtml?

Ten post edytował Jarod 30.06.2008, 09:35:51
Go to the top of the page
+Quote Post
Kreton
post
Post #22





Grupa: Zarejestrowani
Postów: 345
Pomógł: 3
Dołączył: 20.02.2005

Ostrzeżenie: (0%)
-----


Ale co rozumiesz przez pełny XHTML ?
Dokument poprawny składniowo ? Poprawny semantycznie ? Wysyłany poprawnie czyli jako XML ?
Bo na każde z tych pytań odpowie się inaczej.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 15:42