Dodaj do ulubionych

Deklaracja XML

26.07.07, 17:16
Przeczytałem, że jeśli strona ma być zgodna ze specyfikacją XHTML1.0-Strict
lub nowszą, przed deklaracją strony kodowej umieścić należy deklarację XML.

Jest jednak z tym związany pewien problem: jeśli taką deklarację się umieści,
pseudoprzeglądarka Internet Explorer przejdzie w tryb "quirks" i zacznie
pokazywać jakieś głupoty (sprawdziłem - tak rzeczywiście jest) - ale przecież
ciągle jest wielu matołków, którzy nie wiedzą o istnieniu nowocześniejszych
przeglądarek bądź też, co gorsza, wiedzą, ale wolą taką bo się przyzwyczaili.
Możliwe że to właśnie takie osoby będą głównymi czytaczami mojej strony.

Dla XHTML1.0 deklaracja XML nie co prawda jest obowiązkowa, ale jeśli jej się
nie umieści, sugerowane jest żeby jako kodowanie strony zastosować UTF-8.
A co z polskimi znakami? Co w takim razie robić? I tak źle, i tak niedobrze.
Obserwuj wątek
    • tommy_from_cracow Re: Deklaracja XML 27.07.07, 00:29
      Witaj,


      Po pierwsze jesli mimo deklaracji XHTML 1.0 Strict serwujesz witryne w MIME-Type text/html to deklaracja powinna byc lekcewazona, bo to informacja XMLowa w niexmlowym dokumencie. Inaczej wyglada sprawa w przypadku kiedy witryna idzie do klienta jako application/xhtml+xml, wtedy to co jest powmiedzy <?xml?> zecywiscie ma znaczenie.
      W pierwszym przypadku odrazu zrezygnuj z tej deklaracji bo to sztuka dla sztuki i tylko stwarza Ci problemy nie czyniac witryny ani bardziej semantycznie poprawna ani lepsza, skoro i tak to nie dokument XMLowy...
      Rozwiazaniem jest negocjacja zawartosci, jakims jezykie server-side jesli taki masz na serwerze i wtedy wyslanie odpowiednich naglowkow klientowi.

      Co do kodowania, to owszem w przypadku XMLa bardziej zalecane sa UTF'y, ktore sa zgodne z wytycznymi i polskie strony maga jaknajbardziej byc w tym standardzie kodowane. Ja od dawna przesiadlem sie wlasnie na to, bo mieszanie np, wielu jezykow na jednej stronie jest po stokroc prostsze bez zadnych encji etc.

      Pozdrawiam!
      • markus.kembi Re: Deklaracja XML 27.07.07, 15:42
        tommy_from_cracow napisał:

        > Po pierwsze jesli mimo deklaracji XHTML 1.0 Strict serwujesz witryne
        > w MIME-Type text/html to deklaracja powinna byc lekcewazona,
        > bo to informacja XMLowa w niexmlowym dokumencie. Inaczej wyglada sprawa
        > w przypadku kiedy witryna idzie do klienta jako application/xhtml+xml,
        > wtedy to co jest powmiedzy <?xml?> rzecywiscie ma znaczenie.

        Próbowałem stworzyć stronę zgodną ze specyfikacją XHTML 1.1, ale okazało się to
        dla mnie zbyt skomplikowane, bo też i tworzeniem stron zajmuję się od niedawna.
        Zrobię tak jak przy okazji poprzedniej strony - XHTML 1.0 i text/html (tyle że
        tym razem strict, nie będzie już "target="), chociaż niektórzy to, jako
        "półśrodek", odradzają, że to niby ani HTML ani XHTML:

        pornel.net/xhtml

        > Co do kodowania, to owszem w przypadku XMLa bardziej zalecane sa UTF'y,
        > ktore sa zgodne z wytycznymi i polskie strony maga jaknajbardziej byc
        > w tym standardzie kodowane. Ja od dawna przesiadlem sie wlasnie na to,
        > bo mieszanie np, wielu jezykow na jednej stronie jest po stokroc prostsze
        > bez zadnych encji etc.

        To dziwne, bo byłem przekonany, że jest odwrotnie jeśli chodzi o łączenie
        różnych języków. Testową wersję swojej strony (CSS jeszcze nie skończony, tylko
        próbny tekst) umieściłem na serwerze w 2 wersjach - jedna kodowana w ISO-8859-2,
        a druga - UTF-8. I rzeczywiście, w obu wersjach poprawnie mi się wyświetlają
        polskie znaki, tyle że w wersji ISO - również znaki niemieckie - właściwie to
        tylko jeden znak, bo na razie z takimi znakami jest tylko wyraz "Bundesländern"
        - w wersji UTF-8 zamiast "ä" wyświetlany jest znaczek "�". Coś powinienem
        jeszcze dopisać w nagłówku strony? na razie jest:


        <html xmlns="www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="Content-Language" content="pl" />

        toya.net.pl/~marek_ju/e.html oraz e1.html


        Coś na pewno powinienem jeszcze zmienić. Tym bardziej, że wersję utf-owską
        chciałem przeskanować walidatorem online "kwality" i wyskoczył taki komunikat,
        że "Kodowanie zdeklarowane jako UTF-8, nieprawidlowa sekwencja: E46E"

        Widzę że muszę jeszcze się sporo nauczyć. A tymczasem dziękuję za rady i pozdrawiam.
        • tommy_from_cracow Re: Deklaracja XML 28.07.07, 14:03
          Hej,

          No jednak utf daje wieksze mozliwosci ze wzgledu na ilosc bitow ktorymi operuje. Musisz sie uzbroic w odpowiednio kodujacy edytor i poczytac o BOM, bo czasem one dodaja cos w naglowkach i juz przy niektorych np. php'owych stronach mozesz miec bledy przy np. rozpoczynaniu sesji...

          dla przykladu niemiecka strona UTFowa:
          www.toyota.de/
          I glowna strona wiki:
          wikipedia.org/
          Polecam Ci np Notepad++, ona bardzo dobrze koduje strony lacznie z ustawieniami BOM.

          Pozdrawiam!

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka