Logo W3C
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (głosów: 1, średnia ocena: 5,00)
Loading...Loading...

Typy mediów w XHTML

Adnotacja W3C z dnia 1 sierpnia 2002 roku

Niniejszy dokument jest tłumaczeniem rekomendacji W3C XHTML Media Types. Tłumaczenie to nie ma statusu dokumentu normatywnego i może zawierać błędy wynikające z tłumaczenia. Tylko dokument znajdujący się na stronie W3C pod adresem http://www.w3.org/TR/xhtml-media-types ma charakter normatywny.

Copyright © 2004 W3C® (MIT, ERCIM, Keio), Wszystkie prawa zastrzeżone. W3C stosuje następujące zasady dotyczące odpowiedzialności cywilnej, znaku towarowego, używania dokumentu i licencji oprogramowania.

Obecna wersja:

http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801

Najnowsza wersja:

http://www.w3.org/TR/xhtml-media-types

Poprzednia wersja:

http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020430

Redaktor:

Ishikawa Masayasu, W3C

Streszczenie

Niniejszy dokument podsumowuje najlepsze sposoby używania różnych typów internetowych mediów w celu obsługiwania dokumentów z rodziny XHTML. W skrócie: typ „application/xhtml+xml” powinien być używany dla dokumentów z rodziny XHTML, a użycie typu „text/html” powinno być ograniczone do dokumentów XHTML 1.0, zgodnych z HTML. Typy „application/xml” i „text/xml” również mogą być używane, jednak gdy tylko pozwalają na to okoliczności, powinno się stosować typ „application/xhtml+xml” zamiast generycznych typów mediów XML.

Status niniejszego dokumentu

Rozdział ten opisuje status niniejszego dokumentu w momencie jego publikacji. Inne dokumenty mogą ten dokument zastąpić. Najnowszy status serii tych dokumentów jest utrzymywany przez W3C.

Niniejszy dokument jest udostępniony przez World Wide Web Consortium (W3C) w celach informacyjnych. Jego publikacja przez W3C nie jest równoznaczna z zatwierdzeniem go przez W3C, Grupę W3C, ani przez Członków W3C.

Dokument ten reprezentuje konsensus Grupy Roboczej HTML W3C (tylko członkowie) w kwestii użycia internetowych typów mediów dla różnych dokumentów z rodziny XHTML. Dokument ten nie jest jednakże normatywną specyfikacją. Zamiast tego, dokumentuje zbiór rekomendacji mających na celu zwiększenie interoperacyjności dokumentów XHTML odnośnie internetowych typów mediów. Niniejszy dokument nie zajmuje się ogólnymi kwestiami związanymi z typami mediów i przestrzeniami nazw, co nie leży w sferze zainteresowań Statutu grupy roboczej HTML (podany adres stracił ważność nowy znajduje się pod http://www.w3.org/2002/05/html/charter - przyp. tłum.), a co będzie rozpatrywane przez Grupę zajmującą się architekturą techniczną (Technical Architecture Group - TAG).

Komentarze dotyczące tego dokumentu można wysyłać na adres [email protected] (archiwum). Ogólna dyskusja dotycząca tego dokumentu odbywa się za pośrednictwem listy dyskusyjnej [email protected] (archiwum).

Niniejszy dokument został utworzony jako część Działalności HTML W3C. Cele Grupy Roboczej HTML są dyskutowane przez Statut grupy roboczej HTML. Lista obecnych Rekomendacji W3C i innych dokumentów technicznych dostępna jest pod adresem http://www.w3.org/TR.

Spis treści

1. Wstęp

2. Terminologia

3. Użycie zalecanych typów mediów

3.1 „text/html”

3.2 „application/xhtml+xml”

3.3 „application/xml”

3.4 „text/xml”

3.5 Podsumowanie

Literatura

Zmiany w stosunku do poprzedniej wersji

1. Wstęp

XHTML 1.0 powstał w wyniku przekształcenia HTML 4 w aplikację XML, a Modularyzacja XHTMLM12N dostarczyła środków do zdefiniowania języków znaczników, opartych na XHTML i używających modułów XHTML, zwanych razem "Rodziną XHTML". Jednakże z przyczyn historycznych zalecany sposób obsługiwania dokumentów z rodziny XHTML, w szczególności odnośnie internetowych typów mediów, był dość niejasny.

Rozdział "5.1 Internet Media Type" (Typ mediów internetowych) pierwszego wydania dokumentu XHTML1 zawierał niniejsze, ogólnikowe oświadczenie:

W momencie publikacji niniejszej rekomendacji ogólne określanie typu MIME dla aplikacji opartych na XML nie zostało jeszcze ustalone.

Jednakże dokumenty XHTML utworzone zgodnie z wytycznymi ustanowionymi w Dodatku C "HTML Compatibility Guidelines" (Zgodność z HTML) mogą zostać oznaczone jako typ mediów internetowych "text/html", gdyż są one zgodne z większością przeglądarek HTML. Niniejszy dokument nie udziela żadnych rekomendacji odnośnie typów MIME dla innych dokumentów XHTML.

W międzyczasie, po publikacji XHTML 1, dokument RFC dla typów mediów w XML został poprawiony i opublikowany jako dokument RFC 3023, wprowadzając konwencję sufiksu "+xml" dla typów mediów opartych na XML. W wyniku tej konwencji zarejestrowany został typ mediów "application/xhtml+xml" (RFC 3236). Obecnie istnieją przynajmniej cztery możliwości oznaczania typów mediów w dokumentach z rodziny XHTML - "text/html", "application/xhtml+xml" i generyczne typy mediów XML "application/xml" i "text/xml".

Niniejszy dokument podsumowuje najlepsze obecnie konwencje stosowane do używania tych typów internetowych mediów dla różnych dokumentów z rodziny XHTML.

2. Terminologia

XHTML

The Extensible HyperText Markup Language. XHTML nie jest nazwą jednego, monolitycznego języka znaczników, lecz nazwą rodziny typów dokumentów, które razem tworzą ten język znaczników. Adresem URL przestrzeni nazw dla XHTML jest http://www.w3.org/1999/xhtml.

Uwaga: Przyszła wersja XHTML może używać innej przestrzeni nazw.

Typ rodziny dokumentu XHTML

Typ dokumentu należący do rodziny typów dokumentu XHTML. Do takich typów dokumentu zalicza się XHTML 1 oraz typy dokumentów XHTML Host Language, jak XHTML 1.1 i XHTML Basic. Elementy i atrybuty w tych typach dokumentów należą do przestrzeni nazw XHTML (z wyjątkiem, należących do przestrzeni nazw XML, jak xml:lang), ale rodzina typów dokumentów XHTML może zawierać elementy i atrybuty z innych przestrzeni nazw, jak MathML.

XHTML Host Language document type

Typ dokumentu, który jest zgodny z "XHTML Host Language Document Type Conformance" (zgodność z typem dokumentu języka hosta XHTML), jak zostało to określone w rozdziale 3.1 rekomendacji XHTMLM12N.

XHTML Integration Set document type

Typ dokumentu, który jest zgodny z "XHTML Integration Set Document Type Conformance" (zgodność z typem dokumentu zbioru integracyjnego XHTML), jak zostało określone w rozdziale 3.2 rekomendacji XHTMLM12N.

3. Użycie zalecanych typów mediów

Niniejszy rozdział streszcza typy mediów internetowych oraz cel ich zastosowania, dla dokumentów z rodziny XHTML.

3.1 "text/html"

Typ mediów "text/html" (RFC2854) w pierwszej kolejności powstał dla HTML, a nie dla XHTML. Ogólnie rzecz biorąc, ten typ mediów nie jest odpowiedni dla XHTML. Jednakże, według dokumentu RFC2854 "XHTML 1 definiuje profil użycia XHTML, który jest zgodny z HTML 4.01 i który może także zostać zaklasyfikowany jako "text/html".

Dodatek C "HTML Compatibility Guidelines" (Zgodność z HTML) dokumentu XHTML 1 podsumowuje "określanie wytycznych dla autorów, którzy chcą, aby ich dokumenty XHTML operowały na istniejących klientach użytkownika HTML". Użycie typu "text/html" dla XHTML powinno być ograniczone w celu operowania na istniejących klientach użytkownika HTML, oraz powinno być ograniczone do dokumentów XHTML 1, które są zgodne z wytycznymi zgodności HTML. Zwłaszcza, że typ "text/html" nie jest odpowiedni dla typów dokumentów rodziny XHTML, które dodają elementy i atrybuty z obcych przestrzeni nazw, takich jak XHTML+MathML.

Dokumenty XHTML, obsługiwane jako "text/html" nie będą przetwarzane jak dokumenty XML, np. błędy strukturalne mogą pozostać nie wykryte przez przeglądarkę. Trzeba też być świadomym tego, że zastosowane zostaną zasady HTML dla standardu DOM oraz dla arkuszy stylów (zob. odpowiednio rozdziały C.11 i C.13 dokumentu XHTML1).

Autorzy powinni być także ostrożni, jeżeli chodzi o kwestię kodowania znaków. Typowym nieporozumieniem jest założenie, że skoro dokument XHTML jest dokumentem XML to, w przypadku braku jasno sprecyzowanych informacji odnośnie kodowania, kodowanie znaków dokumentu XHTML powinno być UTF-8 lub UTF-16. Nie ma to miejsca w przypadku, kiedy dokument XHTML jest obsługiwany przez typ "text/html". Rozdział 6. dokumentu RFC2854 "Charset default rules" (Standardowe zasady kodu znaku) podaje:

Zaleca się jasne określanie strony kodowej tworzonych dokumentów. Podczas gdy standard MIME określa, że "standardowym zestawem znaków, który musi być przyjęty w przypadku braku określenia kodowania znaków, jest US-ASCII", dokument HTTP, rozdział 3.7.1 określa, że "domyślną stroną kodową podtypów mediów typu text z definicji powinna być iso-8859-1" (dla polskich stron iso-8859-2 - przyp. tłum.) Rozdział 19.3 dokumentu HTTP podaje dodatkowe wytyczne. Precyzyjne określenie strony kodowej pomoże uniknąć pomyłek.

Używanie jasno sprecyzowanego parametru kodowania znaków uwzględnia również to, że przytłaczająca większość przeglądarek używa innego standardu kodowania, niż ISO-8859-1, jako kodowania domyślnego; domyślne kodowanie jest, albo kodowaniem ustalonym przez danego producenta, albo kodowaniem znaków szeroko rozpowszechnionym w danym kraju lub regionalnej społeczności. Dalsze rozważania na ten temat znajdują się w rozdziale 5.2 dokumentu HTML40.

Rozdział "5.2.2 Specifying the character encoding" (Określenie kodowania znaków) specyfikacji HTML 4 także zwraca uwagę na fakt, że "przeglądarki nie mogą zakładać żadnej wartości domyślnej dla parametru kodowania znaków". Dlatego też autorzy nie powinni przyjmować żadnej wartości domyślnej dla dokumentu XHTML, obsługiwanego jako typ "text/html" i, jak zostało wspomniane w dokumencie RFC2854, użycie jasno sprecyzowanego parametru kodowania znaków jest ściśle zalecane. W przypadku, gdy trudno określić sprecyzowany parametr kodowania znaków poprzez protokoły wyższego stopnia, autorzy powinni załączyć deklarację XML (np. <?xml version="1.0" encoding="EUC-JP"?>) i metainformację w http (np. <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />). Więcej szczegółów na ten temat znajduje się w rozdziale "C.9. Character Encoding" (Kod znaku) dokumentu XHTML1.

3.2. "application/xhtml+xml"

Typ mediów "application/xhtml+xml" (RFC3236) jest typem przeznaczonym dla dokumentów z rodziny XHTML, a w szczególności dla dokumentów XHTML Host Language. Wśród typów dokumentów z rodziny XHTML odpowiednich dla tego typu mediów znajdują się XHTML 1, XHTMLBasic, XHTML 1.1 i XHTML+MathML. Typ dokumentu XHTML Host Language, który dodaje elementy i atrybuty z obcych przestrzeni nazw może identyfikować swój profil przy pomocy opcjonalnego parametru "profile", lub innymi sposobami, takimi jak nagłówek MIME "Content-features" opisany w dokumencie RFC 2912. Każda przestrzeń nazw powinna zostać jednoznacznie zidentyfikowana poprzez deklarację przestrzeni nazw (XMLNS). Niniejszy dokument nie wyklucza rejestracji własnego typu mediów określonych typów dokumentu XHTML Host Language.

Zasadniczo ten typ mediów nie jest odpowiedni dla typów dokumentów XHTML Integration Set. Niniejszy dokument nie określa, który typ mediów powinien być użyty dla typów dokumentów XHTML Integration Set.

Typ "application/xhtml+xml" powinien być używany do obsługi dokumentów XHTML dla przeglądarek XHTML. Autorzy, którzy chcą korzystać zarówno z przeglądarek XHTML, jak i HTML mogą wykorzystać negocjowanie zawartości poprzez obsługiwanie dokumentów HTML, jako "text/html", a dokumentów XHTML jako "application/xhtml+xml". Należy również zwrócić uwagę na to, że nie wymaga się dla dokumentów XHTML obsługiwanych jako "application/xhtml+xml" spełnienia Wytycznych zgodności z HTML.

Podczas obsługiwania dokumentów XHTML przy pomocy tego typu mediów autorzy powinni załączyć instrukcję przetwarzania arkuszy stylów XML (XMLstyle) w celu skojarzenia arkuszy stylów.

Jeśli chodzi o kwestię kodowania znaków, jak wspomniano w rozdziale "6. Charset default rules" (Standardowe zasady kodu znaku) dokumentu RFC3236, typ "application/xhtml+xml" podlega tym samym zasadom co typ "application/xml". Szczegóły w rozdziale 3.3.

3.3. "application/xml"

Typ mediów "application/xml" (RFC3023) jest generycznym typem mediów dla dokumentów XML. Definicja "application/xml" nie wyklucza obsługiwania dokumentów XHTML, jako dokumentów tego typu mediów. Każdy dokument z rodziny XHTML może być obsługiwany jako "application/xml".

Autorzy powinni być jednak świadomi, że taki dokument może nie zawsze być przetwarzany jako XHTML (np. hiperłącza mogą nie zostać rozpoznane), zależnie od przeglądarki. Generyczne procesory XML mogą rozpoznać takowy dokument po prostu jako XML, który zawiera elementy i atrybuty z przestrzeni nazw XHTML (i innych) i mogą nie posiadać zakodowanych działań odnośnie takich dokumentów, oprócz tego, co mogą w takim przypadku zrobić z generycznymi dokumentami XML.

Autorzy powinni jasno sprecyzować odpowiednią przestrzeń nazw XHTML jako typ "application/xml" poprzez deklarację przestrzeni nazw, kiedy obsługują dokument z rodziny XHTML, aby ułatwić prawidłowe przetwarzanie. XML stylesheet PI powinien zostać użyty w celu skojarzenia arkuszy stylów.

Kiedy tylko jest to właściwe, powinno się używać typu "application/xhtml+xml" zamiast "application/xml".

Jeśli chodzi o kwestię kodowania znaków, rozdział "3.2 Application/xml Registration" (Rejestracja application/xml) dokumentu RFC3023 mówi, że "określenie strony kodowej jest ściśle zalecane", a także określa zasadę, że "jeśli otrzymana zostaje jednostka application/xml w miejscu, gdzie strona kodowa jest pominięta nagłówek MIME Content-Type nie dostarczy żadnych informacji odnośnie kodowania". Oznacza to, że zgodny ze standardami procesor XML musi spełniać wymagania opisane w rozdziale 4.3.3. dokumentu XML10.

Dlatego też, chociaż mocno zalecane jest jasne określenie strony kodowej poprzez protokół wyższego stopnia, autorzy powinni załączyć deklarację XML (np. &lt?xml version="1.0" encoding="EUC-JP"?&gt). Należy zwrócić uwagę na to, że metainformacja w http nie zostanie rozpoznana przez procesory XML i autorzy nie powinni załączać tego typu informacji w dokumentach XHTML obsługiwanych jako "application/xml" (ani w dokumentach typu "application/xhtml+xml").

3.4. "text/xml"

Typ mediów "text/xml" (RFC3023) jest innym generycznym typem dla dokumentów XML i definicja "text/xml" także nie wyklucza obsługi dokumentów XHTML jako tego typu mediów. Każdy dokument z rodziny XHTML może być obsługiwany jako "text/xml". Zasady odnośnie typu "aplication/xml" znajdują zastosowanie również w "text/xml". Kiedy tylko jest to odpowiednie, powinno się używać typu "application/xhtml+xml" zamiast "text/xml".

Autorzy powinni być także świadomi różnicy pomiędzy "application/xml" (a także "application/xhtml+xml") a "text/xml" jeżeli chodzi o kodowanie znaków. Zgodnie z rozdziałem "3.1 Text/xml Registration" (Rejestracja text/xml) dokumentu RFC3023, „jeżeli otrzymano jednostkę text/xml z pominięciem strony kodowej, procesory MIME i XML muszą użyć domyślnej wartości ‚us-ascii’ [ASCII] kodowania znaków". Ta domyślna wartość ma charakter nadrzędny w stosunku do informacji kodowania zawartej w deklaracji XML, albo w stosunku do domyślnego kodowania XML zgodnego z UTF-8 i UTF-16, w przypadku gdy nie załączono deklaracji kodowania. Tak więc pomijanie strony kodowej w jednostce "text/xml" może spowodować nieprzewidziane skutki. Jak wspomniano w dokumencie RFC3023 użycie strony kodowej jest ściśle zalecane.

3.5. Podsumowanie

Poniższa tabela podsumowuje rekomendacje pomocne autorom przy oznaczaniu dokumentów XHTML. Uwzględniono również HTML 4 w celach porównawczych.

Podsumowanie typów mediów obsługujących dokumenty XHTML

Typ Mediów HTML 4 XHTML 1.0 (zgodny z HTML) XHTML 1.0 (inne) XHTML Basic / 1.1 XHTML+MathML
text/html POWINIEN MOŻE NIE POWINIEN NIE POWINIEN NIE POWINIEN
application/xhtml+xml NIE MOŻE POWINIEN POWINIEN POWINIEN POWINIEN
application/xml NIE MOŻE MOŻE MOŻE MOŻE MOŻE
text/xml NIE MOŻE MOŻE MOŻE MOŻE MOŻE

Literatura

[ASCII]

"Information Systems — Coded Character Sets — 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII)", ANSI X3.4-1986, 1986.

[HTML4]

"HTML 4.01 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 24 December 1999. Available at: http://www.w3.org/TR/1999/REC-html401-19991224

The latest version of HTML 4.01 is available at: http://www.w3.org/TR/html401

The latest version of HTML 4 is available at: http://www.w3.org/TR/html4

[HTML40]

"HTML 4.0 Specification", W3C Recommendation, D. Raggett, A. Le Hors, I. Jacobs, eds., 18 December 1997, revised on 24 April 1998. Available at http://www.w3.org/TR/1998/REC-html40-19980424

[HTTP]

"Hypertext Transfer Protocol — HTTP/1.1", RFC 2616, J. Gettys, R. Fielding, J. Mogul, H. Frystyk, L. Masinter, P. Leach and T. Berners-Lee, June 1999. Available at: http://www.rfc-editor.org/rfc/rfc2616.txt

[MathML2]

"Mathematical Markup Language (MathML) Version 2.0", W3C Recommendation, D. Carlisle, P. Ion, R. Miner, N. Poppelier, eds., 21 February 2001. Available at: http://www.w3.org/TR/2001/REC-MathML2-20010221

The latest version is available at: http://www.w3.org/TR/MathML2

[MIME]

"Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, N. Freed, N. Borenstein, November 1996. Available at: http://www.rfc-editor.org/rfc/rfc2046.txt

[RFC2119]

"Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, S. Bradner, March 1997. Available at: http://www.rfc-editor.org/rfc/rfc2119.txt

[RFC2854]

"The ‚text/html’ Media Type", RFC 2854, D. Connolly, L. Masinter, June 2000. Available at: http://www.rfc-editor.org/rfc/rfc2854.txt

[RFC2912]

"Indicating Media Features for MIME Content", RFC 2912, G. Klyne, September 2000. Available at: http://www.rfc-editor.org/rfc/rfc2912.txt

[RFC3023]

"XML Media Types", RFC3023, M. Murata, S. St.Laurent, D. Kohn, January 2001. Available at: http://www.rfc-editor.org/rfc/rfc3023.txt

[RFC3236]

"The ‚application/xhtml+xml’ Media Type", RFC 3236, M. Baker, P. Stark, January 2002. Available at: http://www.rfc-editor.org/rfc/rfc3236.txt

[XHTML1]

"XHTMLT 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0", W3C Recommendation, S. Pemberton et al., August 2002. Available at: http://www.w3.org/TR/2002/REC-xhtml1-20020801

The first edition is available at: http://www.w3.org/TR/2000/REC-xhtml1-20000126

The latest version is available at: http://www.w3.org/TR/xhtml1

[XHTML11]

"XHTMLT 1.1 - Module-based XHTML", W3C Recommendation, M. Altheim, S. McCarron, eds., 31 May 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml11-20010531

The latest version is available at: http://www.w3.org/TR/xhtml11

[XHTMLBasic]

"XHTMLT Basic", W3C Recemmendation, M. Baker, M. Ishikawa, S. Matsui, P. Stark, T. Wugofski, T. Yamakami, eds., 19 December 2000. Available at: http://www.w3.org/TR/2000/REC-xhtml-basic-20001219

The latest version is available at: http://www.w3.org/TR/xhtml-basic

[XHTMLM12N]

"Modularization of XHTMLT", W3C Recommendation, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron, S. Schnitzenbaumer, T. Wugofski, eds., 10 April 2001. Available at: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410

The latest version is at: http://www.w3.org/TR/xhtml-modularization

[XHTML+MathML]

"XHTML plus Math 1.1 DTD", "A.2 MathML as a DTD Module", Mathematical Markup Language (MathML) Version 2.0. Available at: http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd

[XML10]

"Extensible Markup Language (XML) 1.0 Specification (Second Edition)", T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, eds., 6 October 2000. Available at: http://www.w3.org/TR/2000/REC-xml-20001006

The latest version is available at: http://www.w3.org/TR/REC-xml

[XMLNS]

"Namespaces in XML", T. Bray, D. Hollander, A. Layman, eds., 14 January 1999. Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114

The latest version is available at: http://www.w3.org/TR/REC-xml-names

[XMLstyle]

"Associating Style Sheets with XML documents Version 1.0", W3C Recommendation, J. Clark, ed., 29 June 1999. Available at: http://www.w3.org/1999/06/REC-xml-stylesheet-19990629

The latest version is available at: http://www.w3.org/TR/xml-stylesheet

Zmiany w stosunku do poprzedniej wersji

W rozdziale 3.5 Podsumowanie zmieniono atrybut „text/html” dla HTML 4 z MOŻE na POWINIEN.

Uaktualniono odnośniki dla XHTML 1.0, tak aby odnosiły się do drugiego wydania.

Inne artykuły poruszające podobny temat

Dwa nowe moduły CSS: układy siatkowe i treść generowana dla mediów stronicowanych

Ikona siatki

Szkic specyfikacji układów siatkowych CSS

Logo HTML5

HTML5 i Canvas 2D przechodzą w fazę rekomendacji kandydujących

Chłopiec z gazetą oznaczający newsa

Moduły tekstu i dekoracji tekstu CSS3

Trzy nowe szkice robocze grupy roboczej W3C ds. CSS

CSS4 nie istnieje!

Dodaj komentarz









Newsletter

Subskrybując nasz newsletter masz pewność, że nie ominie Cię żadna nowość w serwisie!