JustPaste.it

HTML i XHTML - najczęściej zadawane pytania (FAQ)

Dokument ten jest tłumaczeniem oryginalnego HTML and XHTML Frequently Answered Questions.

Przekład jest nienormatywny i może zawierać błędy powstałe w czasie tłumaczenia. Status normatywny posiada jedynie oryginalna wersja w języku angielskim dostępna pod adresem http://www.w3.org/MarkUp/2004/xhtml-faq.
Autor przekładu: Robert Błaut
Lokalizacja przekładu: http://standards.blaut.biz/xhtml-faq/

 

HTML and XHTML Frequently Answered Questions

HTML i XHTML - najczęściej zadawane pytania (FAQ)

Editor: Steven Pemberton, W3C/CWI

Redaktor: Steven Pemberton, W3C/CWI

Version date: 21 July 2004

Data wersji: 21 lipca 2004

Inne pokrewne FAQ:

To comment on this document, or to send suggestions for questions, please email www-html-editor@w3.org, including the word FAQ in the subject.

Wszelkie komentarze oraz sugestie dotyczące treści tego dokumentu prosimy przesyłać na adres www-html-editor@w3.org. Do tematu listu prosimy dopisać słowo FAQ.

Table of Contents

Spis treści

  1. Dlaczego XHTML jest potrzebny? Czy HTML nie jest wystarczająco dobry?
  2. Jakie są zalety używania języka XHTML w porównaniu do HTML?
  3. Czy mogę umieścić deklarację języka XML na początku istniejących dokumentów HTML? Czy mogę w dokumentach mieszać kod HTML 4.01 z kodem XHTML?
  4. Jak najłatwiej przekształcić dokumenty HTML do XHTML?
  5. Dlaczego przeglądarki są takie wybredne, jeśli chodzi o XML? Są znacznie bardziej tolerancyjne w stosunku do dokumentów HTML.
  6. Dlaczego powinienem dbać o poprawność dokumentów HTML? Przecież wyświetlają się prawidłowo w mojej przeglądarce.
  7. Gdzie mogę sprawdzić poprawność kodu dokumentu?
  8. Dlaczego mówicie wszędzie o "agencie użytkownika" (ang. user agent) zamiast o "przeglądarce"?
  9. Dlaczego muszę w XHTML używać takich dziwnych rzeczy jak przestrzenie nazw?
  10. Dlaczego dopuszczalne jest przesyłanie dokumentów XHTML 1.0 jako text/html?
  11. Które przeglądarki akceptują typ MIME application/xhtml+xml?
  12. Czy Microsoft Internet Explorer akceptuje typ MIME application/xhtml+xml?
  13. CSS określa wiele zasad, które odnoszą się tylko do HTML. Czy mają one również zastosowanie do XHTML?
  14. Czy document.write działa w XHTML?
  15. Dlaczego zabronione jest przesyłanie dokumentów XHTML 1.1 jako text/html?
  16. Dlaczego atrybut target został usunięty ze specyfikacji XHTML 1.1?
  17. Jakie jest przeznaczenie Modularyzacji XHTML-a?
  18. Dlaczego XHTML2 jest potrzebny? Czy XHTML 1 nie jest wystarczająco dobry?
  19. Czy element <img> zostanie zastąpiony elementem <object> w XHTML2?
  20. Dlaczego XHTML2 nie korzysta z XLink?
  21. Dlaczego XHTML2 nie jest wstecznie zgodny?
  22. Dlaczego xml:space jest ustawiony na 'preserve' dla wszystkich elementów w XHTML? Nie chcę mieć żadnych niepotrzebnych, pustych miejsc na stronie.

Why is XHTML needed? Isn't HTML good enough?

Dlaczego XHTML jest potrzebny? Czy HTML nie jest wystarczająco dobry?

HTML is probably the most successful document markup language in the world. But when XML was introduced, a two-day workshop was organised to discuss whether a new version of HTML in XML was needed. The opinion at the workshop was a clear 'Yes': with an XML-based HTML other XML languages could include bits of XHTML, and XHTML documents could include bits of other markup languages. We could also take advantage of the redesign to clean up some of the more untidy parts of HTML, and add some new needed functionality, like better forms.

HTML jest najprawdopodobniej najpopularniejszym językiem znaczników na świecie. W momencie wprowadzenia standardu XML, zorganizowano dwudniowe warsztaty mające podjąć decyzję, czy nowa wersja HTML napisana w języku XML jest rzeczywiście potrzebna. Końcowy wniosek był jasny: "Tak, jest potrzebna. Korzystając z HTML opartego na XML inne języki XML będą mogły zawierać kod XHTML, jak również dokumenty XHTML będą mogły zawierać osadzony kod innych języków znacznikowych. Przy okazji tworzenia nowego standardu będzie można oczyścić fragmenty istniejącej specyfikacji HTML oraz dodać nowe funkcjonalności, jak np. lepszą obsługę formularzy".

What are the advantages of using XHTML rather than HTML?

Jakie są zalety używania języka XHTML w porównaniu do HTML?

If your document is just pure XHTML 1.0 (not including other markup languages) then you will not yet notice much difference. However as more and more XML tools become available, such as XSLT for tranforming documents, you will start noticing the advantages of using XHTML. XForms for instance will allow you to edit XHTML documents (or any other sort of XML document) in simple controllable ways. Semantic Web applications will be able to take advantage of XHTML documents.

Jeśli twoje dokumenty są napisane w czystym języku XHTML 1.0 (nie zawierają innych języków znaczników), możesz nie zauważyć wielkiej różnicy. Ale wraz z pojawianiem się coraz większej liczby narzędzi XML do przekształcania dokumentów, takich jak na przykład XSLT, zaczniesz zauważać przewagę stosowania XHTML. Na przykład XForms pozwoli Ci na proste edytowanie dokumentów XHTML (lub innych dokumentów XML). Aplikacje semantycznej sieci www będą mogły w pełni korzystać z zalet dokumentów XHTML.

If your document is more than XHTML 1.0, for instance including MathML, SMIL, or SVG, then the advantages are immediate: you can't do that sort of thing with HTML.

Jeśli Twój dokument jest czymś więcej, niż tylko czystym dokumentem XHTML 1.0, np. zawiera kod języka MathML, SMIL czy SVG, w takim przypadku zalety tego języka widzisz od razu - nie możesz wykonać takiego zadania, korzystając z języka HTML.

Can I just put the XML declaration on top of existing HTML documents? Can I intermix HTML 4.01 and XHTML documents?

Czy mogę umieścić deklarację języka XML na początku istniejących dokumentów HTML? Czy mogę w dokumentach mieszać kod HTML 4.01 z kodem XHTML?

No. HTML is not in XML format. You have to make the changes necessary to make the document proper XML before you can get it accepted as XML.

Nie. Język HTML nie przestrzega zasad języka XML. Musisz dokonać niezbędnych zmian, aby Twoje dokumenty były zgodne z regułami składni XML.

What is the easiest way to convert my HTML documents to XHTML?

Jak najłatwiej przekształcić dokumenty HTML do XHTML?

HTML Tidy gives you the option to transform any HTML document into an XHTML one. Amaya is a browser/editor that will save HTML documents as XHTML.

HTML Tidy ma możliwość konwersji dokumentów HTML do XHTML. Przeglądarka Amaya jest w stanie zapisać dokument HTML jako XHTML.

Why are browsers so fussy about XML? They were more accepting with HTML.

Dlaczego przeglądarki są takie wybredne, jeśli chodzi o XML? Są znacznie bardziej tolerancyjne w stosunku do dokumentów HTML.

This is deliberate. HTML browsers accept any input, correct or incorrect, and try to make something sensible of it. This error-correction makes browsers very hard to write, especially if all browsers are expected to do the same thing. It has also meant that huge numbers of HTML documents are incorrect, because since they display OK in the browser, the author isn't aware of the errors. This makes it incredibly difficult to write new web user agents since documents claiming to be HTML are often so poor.

Takie działanie jest w pełni zamierzone. Przeglądarki HTML akceptują każdy dokument, poprawny lub nie i próbują zrobić z tym coś pożytecznego. Konieczność korygowania błędów popełnionych przez autorów stron www powoduje, że przeglądarki są bardzo skomplikowanymi aplikacjami, zwłaszcza jeśli oczekuje się, że wszystkie przeglądarki powinny zachowywać się identycznie. To również przyczyniło się do tego, że ogromna liczba dokumentów HTML jest nieprawidłowa, ponieważ skoro dobrze wyświetlają się w przeglądarce, autor nie zdaje sobie sprawy z błędów. To czyni zadanie tworzenia nowych agentów użytkownika ogromnie trudnym, gdyż dokumenty deklarowane jako HTML są często niskiej jakości.

Why should I care if my document is in correct HTML? It displays all right on my browser.

Dlaczego powinienem dbać o poprawność dokumentów HTML? Przecież wyświetlają się prawidłowo w mojej przeglądarce.

All browsers know how to deal with correct HTML. However, if it is incorrect, the browser has to repair the document, and since not all browsers repair documents in the same way, this introduces differences, so that your document may look and work differently on different browsers. Since there are hundreds of different browsers, and more coming all the time (not only on PCs, but also on PDAs, mobile phones, televisions, printers, even refrigerators), it is impossible to test your document on every browser. If you use incorrect HTML and your document doesn't work on a particular browser, it is your fault; if you use correct HTML and it doesn't work, it is a bug in the browser.

Wszystkie przeglądarki wiedzą, jak renderować poprawne dokumenty HTML. Jakkolwiek, jeśli są one niepoprawne, przeglądarka musi poprawić taki dokument, a ponieważ nie wszystkie przeglądarki poprawiają nieprawidłowe dokumenty w identyczny sposób, Twoje dokumenty mogą wyglądać i działać odmiennie w różnych przeglądarkach. Ponieważ na rynku obecnych jest kilkadziesiąt różnych przeglądarek i z każdym dniem pojawiają się nowe (nie tylko dla komputerów PC, ale również PDA, telefonów komórkowych, telewizorów, drukarek, a nawet lodówek), nie jest możliwe przetestowanie Twoich dokumentów na każdej z tych przeglądarek. Jeśli stworzysz niepoprawny dokument HTML i taki dokument nie będzie poprawnie działał w danej przeglądarce, to będzie Twój błąd; jeśli z kolei napiszesz poprawny dokument HTML i on dalej nie będzie prawidłowo działał w wybranej przeglądarce, będzie to oznaczać, że przeglądarka ta posiada błędy.

Where can I go to verify my document uses correct markup?

Gdzie mogę sprawdzić poprawność kodu dokumentu?

W3C offers a service at http://validator.w3.org/. The Amaya browser/editor will also ensure that your markup is correct.

W3C prowadzi serwis: http://validator.w3.org/. Przeglądarka Amaya jest również w stanie przetestować dany dokument pod kątem poprawności kodu HTML.

Why do you say "user agent" everywhere, instead of "browser"?

Dlaczego mówicie wszędzie o "agencie użytkownika" (ang. user agent) zamiast o "przeglądarce"?

Although browsers are indeed important users of HTML and XHTML, there are other programs and systems that read those documents. Search engines for instance read documents, but are not browsers. By using the term "user agent" we are trying to remind people of the difference.

Chociaż przeglądarki są w rzeczy samej ważnymi użytkownikami języka HTML oraz XHTML, istnieją również inne aplikacje i systemy, które mogą czytać dokumenty stworzone w tych językach. Na przykład silniki wyszukiwarek czytają takie dokumenty, a przecież przeglądarkami nie są. Poprzez użycie terminu "agent użytkownika" staramy się zwracać uwagę na te różnice.

For example, when you do a Google search often you will see under some of the search results something like "This web page uses frames, but your browser doesn't support them". therefore surely frightening off some people from clicking on that link. The author of the website in question hasn't realised that there are more than just browsers, and that they ought to include better text in their <noframes> section, so that they don't appear so foolish when people search their site.

Na przykład, gdy szukasz czegoś w wyszukiwarce Google, często będziesz mógł ujrzeć w wynikach poszukiwań coś takiego: "Ta strona korzysta z ramek, a Twoja przeglądarka niestety ich nie obsługuje". Taki tekst może odstraszać potencjalnych użytkowników. Autor takiej strony nie zdaje sobie sprawy, że istnieją inne programy niż przeglądarki, które mogą czytać jego strony. Powinien on w sekcji <noframes> zamieścić bardziej sensowny tekst, który nie prezentowałby się co najmniej dziwnie w wynikach wyszukiwarek.

Why do I have to use these namespace things in XHTML?

Dlaczego muszę w XHTML używać takich dziwnych rzeczy jak przestrzenie nazw?

In the early days of HTML different groups and companies added new elements and attributes to HTML at will. This threatened to cause a chaos of different non-interoperable versions of HTML. XML (the X stands for Extensible) allows anyone to use elements and elements from different languages, but for a browser or other user agent to know which element belongs to which language, you have to tell it. The namespace declarations do just that.

We wczesnych latach rozwoju języka HTML różne organizacje i firmy dodawały wg własnego widzimisię nowe elementy i nowe atrybuty do tego języka. Zagroziło to powstaniem wielu różnych wzajemnie niekompatybilnych wersji języka HTML. XML (X oznacza rozszerzalny (ang. extensible)) pozwala każdemu na użycie własnych nowych elementów, bądź elementów z innych języków. Jednak, aby przeglądarka lub inny agent użytkownika wiedziały, które elementy należą do którego języka, musisz je o tym poinformować. Właśnie do tego celu służą deklaracje przestrzeni nazw.

Why is it allowed to send XHTML 1.0 documents as text/html?

Dlaczego dopuszczalne jest przesyłanie dokumentów XHTML 1.0 jako text/html?

XHTML is an XML format; this means that strictly speaking it should be sent with an XML-related media type (application/xhtml+xml, application/xml, or text/xml). However XHTML 1.0 was carefully designed so that with care it would also work on legacy HTML user agents as well. If you follow some simple guidelines, you can get many XHTML 1.0 documents to work in legacy browsers. However, legacy browsers only understand the media type text/html, so you have to use that media type if you send XHTML 1.0 documents to them. But be well aware, sending XHTML documents to browsers as text/html means that those browsers see the documents as HTML documents, not XHTML documents.

XHTML jest aplikacją formatu XML, a to oznacza, że powinien być przesyłany z odpowiednim typem MIME (application/xhtml+xml, application/xml lub text/xml). Jakkolwiek XHTML 1.0 został zaprojektowany tak, aby przestarzałe agenty użytkownika nie miałby problemu z przetwarzaniem dokumentów napisanych w tym języku. Jeśli zastosujesz się do kilku prostych zasad, wiele Twoich dokumentów XHTML 1.0 będzie obsługiwanych bez problemów w przestarzałych przeglądarkach. Ponieważ takie przeglądarki rozumieją tylko typ MIME text/html, dlatego musisz użyć tego właśnie typu do przesyłania dokumentów XHTML 1.0 do tych przeglądarek. Jednak musisz zdawać sobie sprawę z tego, że przesyłanie dokumentów XHTML do przeglądarek jako text/html oznacza, że te przeglądarki widzą takie dokumenty jako zwykłe dokumenty HTML, a nie XHTML.

Which browsers accept the media type application/xhtml+xml?

Które przeglądarki akceptują typ MIME application/xhtml+xml?

Browsers known to us include all Mozilla-based browsers, such as Mozilla, Netscape 5 and higher, Galeon and Firefox, as well as Opera, Amaya, Camino, Chimera, DocZilla, iCab, Safari, and all browsers on mobile phones that accept WAP2. In fact, any modern browser. Most accept XHTML documents as application/xml as well. See the XHTML Media-type test for details.

Takimi przeglądarkami są wszystkie oparte o kod projektu Mozilla (Mozilla, Netscape 5 i wyższe, Galeon i Firefox, Camino, Chimera, DocZilla), Opera, Amaya, iCab, Safari, wszystkie przeglądarki w telefonach komórkowych, które obsługują WAP2. W zasadzie każda nowoczesna przeglądarka akceptuje typ MIME application/xhtml+xml. Większość tych przeglądarek również nie ma problemu z application/xml. Zobacz szczegóły na stronie: Test obsługi typu MIME XHTML.

Does Microsoft Internet Explorer accept the media type application/xhtml+xml?

Czy Microsoft Internet Explorer akceptuje typ MIME application/xhtml+xml?

No. However, there is a trick that allows you to serve XHTML1.0 documents to Internet Explorer as application/xml.

Nie. Jednakże istnieje trik, który pozwala serwować dokumenty XHTML Internet Explorerowi jako application/xml.

Include at the top of your document the line in bold here:

Dopisz na początku Twojego dokumentu poniższe linie:

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href=''?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> 
<head>

where copy.xsl is a file that contains the following:

gdzie plik copy.xsl ma następującą zawartość:

<stylesheet version="1.0" xmlns="http://www.w3.org/1999/XSL/Transform">

<template match="/"> <copy-of select="."/> </template> </stylesheet>

Note that this file must be on the same site as the document referring to it.

Zauważ, że ten plik musi się znajdować w tym samym katalogu, w którym znajduje się dokument zawierający odniesienie do niego.

Although you are serving the document as XML, and it gets parsed as XML, the browser thinks it has received text/html, and so your XHTML 1.0 document must follow many of the guidelines for serving to legacy browsers.

Mimo że plik jest serwowany jako XML i jest również parsowany jako XML, przeglądarka myśli, że otrzymała dokument o typie text/html i dlatego ten dokument XHTML 1.0 powinien być napisany zgodnie ze wskazówkami dotyczącymi dostosowywania takich dokumentów dla przestarzałych przeglądarek.

Your XHTML document will continue to work on browsers that accept XHTML 1.0 as application/xml.

Twój dokument XHTML wciąż będzie dobrze działał w przeglądarkach, które akceptują XHTML 1.0 jako application/xml.

CSS has a lot of special rules that only apply to HTML. Do these also apply to XHTML?

Standard CSS określa wiele zasad, które odnoszą się tylko do HTML. Czy mają one również zastosowanie do XHTML?

No. CSS rules that apply only to HTML, apply only to documents that are delivered as text/html.

Nie. Reguły CSS, które mają odniesienie tylko do HTML, mają zastosowanie tylko do dokumentów przesyłanych jako text/html.

Does document.write work in XHTML?

Czy document.write działa w XHTML?

No. Because of the way XML is defined, it is not possible to do tricks like this, where markup is generated by scripting while the parser is still parsing the markup.

Nie. Z uwagi na sposób, w jaki definiowany jest XML, nie są możliwe triki takie jak generowanie kodu html przez skrypty podczas przetwarzania kodu dokumentu przez parser XML.

You can still achieve the same effects, but you have to do it by using the DOM to add and delete elements.

W dalszym ciągu możesz osiągnąć identyczne efekty, ale musisz w tym celu skorzystać z modelu DOM, aby mieć możliwość dodawania i usuwania elementów

Why is it disallowed to send XHTML 1.1 documents as text/html?

Dlaczego zabronione jest przesyłanie dokumentów XHTML 1.1 jako text/html?

XHTML 1.1 is pure XML, and only intended to be XML. It cannot reliably be sent to legacy browsers. Therefore XHTML 1.1 documents must be sent with an XML-related media type, such as application/xhtml+xml.

XHTML 1.1 jest czystą aplikacją XML i taką powinien w zamierzeniach twórców specyfikacji pozostać. Kompatybilność wstecz z przestarzałymi przeglądarkami została zarzucona. Dlatego dokumenty XHTML 1.1 muszą być przesyłane z typem MIME application/xhtml+xml.

Why was the target attribute removed from XHTML 1.1?

Dlaczego atrybut target został usunięty ze specyfikacji XHTML 1.1?

It wasn't. XHTML 1.0 comes in three versions: strict, transitional, and frameset. All three of these were deliberately kept as close as possible to HTML 4.01 as XML would allow. XHTML 1.1 is an updated version of XHTML 1.0 strict, and no version of HTML strict has ever included the target attribute. The other two versions, transitional and frameset, were not updated, because there was nothing to update. If you want to use the target attribute, use XHTML 1.0 transitional.

Nie został usunięty. XHTML 1.0 definiuje trzy wersje: ścisłą (ang. strict), przejściową (ang. transitional) i oraz ramkową (ang. frameset). We wszystkich trzech wersjach celowo zachowano tak duże podobieństwo z HTML 4.01, na ile pozwalał na to XML. XHTML 1.1 jest zaktualizowaną wersją odmiany XHTML 1.0 ścisłej. W żadnej wersji ścisłego HTML nie ma zawartego atrybutu target. Pozostałe dwie wersje - przejściowa i ramkowa - nie zostały zaktualizowane, ponieważ nie było takiej potrzeby. Jeśli chcesz korzystać z atrybutu target powinieneś wykorzystać wersję XHTML 1.0 przejściową.

What is the use of XHTML Modularization?

Jakie jest przeznaczenie Modularyzacji XHTML-a?

XHTML Modularization is not aimed at the regular users of XHTML, but at designers of XHTML-based languages. It had been observed that companies and groups had the tendency to design their own versions of HTML and XHTML that were often not interoperable at basic levels. XHTML Modularization splits XHTML into a number of modules that can be individually selected when defining a new language; in this way any XHTML-based language that uses tables is guaranteed to use the same definition of tables, and not some divergent version. Modularization also makes it clear where it is OK to add new elements, and where it is not.

Modularyzacja XHTML nie została opracowana dla zwykłych użytkowników języka XHTML, ale dla projektantów języków opartych na standardzie XHTML. Zaobserwowano, że różne firmy i organizacje mają tendecje do projektowania własnych wersji HTML i XHTML, które są wzajemnie niekompatybilne na podstawowym poziomie. Modularyzacja XHTML dzieli specyfikację XHTML na kilkanaście modułów, które mogą być pojedynczo wybierane podczas definiowania nowego języka. W ten sposób mamy gwarancję, że każdy język oparty na XHTML, który korzysta z tabel, używa tej samej definicji tabel jak inne języki korzystające z tego samego modułu. Modularyzacja dokładnie określa również, gdzie można dodawać nowe elementy, a gdzie nie.

Why is XHTML2 needed? Isn't XHTML1 good enough?

Dlaczego XHTML2 jest potrzebny? Czy XHTML1 nie jest wystarczająco dobry?

HTML and XHTML have done good service, but there are many things that can be improved. Areas that have received particular attention include better structuring possibilities, removing features that are duplicated in XML, usability, accessibility, internationalization, device independence, better forms, and reducing the need for scripting.

HTML i XHTML dobrze wypełniają swoją rolę, jednak jest wiele obszarów, które mogą być zdecydowanie bardziej udoskonalone. Obszary, które wymagają takich rozwiązań, to przede wszystkim lepsze możliwości strukturalizacji, usunięcie funkcjonalności, które są zdublowane w XML, lepsza dostępność, internacjonalizacja, niezależność od platformy sprzętowej, rozbudowane formularze oraz ograniczenie potrzeby korzystania z języków skryptowych.

Is <img> being replaced by <object> in XHTML2?

Czy element <img> zostanie zastąpiony elementem <object> w XHTML2?

No. <img> is being replaced in XHTML2, but by something else (although you could use <object> if you wanted).

Nie. Element <img> zostanie zastąpiony w XHTML2 czymś zupełnie innym (jeśli chcesz, możesz jednak wykorzystać <object>).

The design of <img> has many problems in HTML:

Sposób działania elementu <img> stwarza wiele problemów w HTML:

  • It has no fallback possibilities, so that if you use an image of type PNG for instance, and the browser can't handle that type, the only alternative is to use the alt text. This fact has hampered the adoption of PNG images, which in many ways are better than GIF and JPG, since people have continued to use the lowest-common denominator format, to ensure that everyone can see the images.
  • The alt text cannot be marked up, so that if it gets used, you just get the plain text.
  • It is possible to include a longdesc link to a description of the image, to help people who cannot see, but it is seldom implemented.
  • Nie posiada możliwości korzystania z kilku alternatyw, dlatego jeśli użyjemy na przykład obrazków typu PNG, a przeglądarka nie będzie obsługiwała tego typu, jedyną rzeczą, którą w tej sytuacji może zrobić przeglądarka, jest wyświetlenie tekstu alt. Taki stan rzeczy przyczynił się m.in. do słabej popularyzacji standardu PNG, który jest zdecydowanie lepszy od GIF i JPG, ponieważ autorzy stron korzystają powszechnie zaadaptowanych typów obrazków, aby mieć pewność, że każdy je zobaczy.
  • Tekst wewnątrz elementu alt nie może być formatowany, dlatego jest wyświetlany jako czysty tekst.
  • Istnieje możliwość dodania atrybutu longdesc - odnośnika do szczegółowego opisu obrazka, jako ułatwienia dla niewidomych osób, ale w praktyce jest rzadko implementowany.

What XHTML2 does is say that all images are equivalent to some piece of content; it does this by allowing you to put a src attribute on any element at all. What this says is: if the image is available, and the browser can process it, use it, otherwise use the content of the element. For instance:

Standard XHTML2 mówi, że wszystkie obrazki są ekwiwalentne do niektórych części treści, dlatego pozwala na korzystanie z atrybutu src z każdym elementem. Standard mówi: jeśli obrazek jest dostępny i przeglądarka może go przetworzyć, należy wyświetlić obrazek, w przeciwnym razie należy wyświetlić zawartość elementu. Na przykład:

<p src="map.png">Exit from the station, turn left,    go straight on to <strong>High Street</strong>,    and turn right</p>

The advantage of this is that if the image is not available for some reason (such as network failure) or the browser can't render that sort of image, your document is still usable. If you want to supply more than one sort of image, you can do:

Podstawową zaletą tej metody jest pełna funkcjonalność dokumentu w przypadku niedostępności obrazka z różnych powodów (na przykład uszkodzenie sieci) lub w przypadku braku obsługi przez przeglądarkę danego typu obrazka. Jeśli chcesz udostępnić kilka rodzajów obrazków, możesz to osiągnąć poprzez:

<p src="map.png"><span src="map.gif">Exit from station...</span></p>

although it is better to use content negotiation if your server supports it (and most do):

jednak lepiej jest wykorzystać negocjację rodzaju treści, jeśli twój serwer daje takie możliwości (większość daje):

<p src="map">Exit from station...</p>

which would negotiate with the browser which sort of image it accepts, and give the browser its preferred sort. If there is no available image, then the content of the element would be used. This has an added advantage that you can later add other image types on your server and you don't have to change the page for it still to work.

W tym przypadku negocjowany jest typ przesyłanego obrazka obsługiwanego przez daną przeglądarkę. Jeśli obrazek nie jest dostępny, wtedy zostanie wyświetlona zawartość elementu. Dodatkową zaletą tej metody jest to, że możesz w każdej chwili udostępnić na serwerze obrazek innego typu i nie będziesz musiał zmieniać kodu strony.

Why doesn't XHTML2 use XLink?

Dlaczego XHTML2 nie korzysta z XLink?

XLink and XHTML had different requirements for linking that turned out not to be reconcilable.

XLink i XHTML mają wzajemnie niezgodne wymagania w zakresie linkowania.

Why isn't XHTML2 backwards compatible?

Dlaczego XHTML2 nie jest wstecznie zgodny?

It is, but in a different way to how previous versions of HTML were backwards compatible.

Jest wstecznie zgodny, ale inaczej niż poprzednie wersje języka HTML.

Because earlier versions of HTML were special-purpose languages, it was necessary to ensure a level of backwards compatibility with new versions so that new documents would still be usable in older browsers. For instance, this is why the <meta> element has its content in an attribute rather than in the content of the element, since it would have shown up in older browsers.

Ponieważ wcześniejsze wersje HTML były językami specjalizowanego przeznaczenia, bardzo ważne było zapewnienie wstecznej zgodności w nowych wersjach, aby nowe dokumenty mogły być bez problemu obsługiwane przez starsze przeglądarki. Z tego właśnie powodu na przykład element <meta> posiada treść wewnątrz atrybutu, zamiast wewnątrz elementu. Gdyby było inaczej, stare przeglądarki wyświetlałyby tę treść.

However, thanks to XML and stylesheets, such strict element-wise backwards compatibility is no longer necessary, since an XML-based browser, of which at the time of writing means more than 95% of browsers in use, can process new markup languages without having to be updated. Much of XHTML 2 works already in existing browsers, browsers that are not pre-programmed to accept XHTML2. Much works, but not all: when forms and tables were added to HTML, people had to wait for new version of browsers; similarly some parts of XHTML2, such as XForms and XML Events, still require user agents that understand that functionality.

Dziś, dzięki językowi XML i arkuszom stylów, takie ścisłe zachowanie wstecznej zgodności nie jest już konieczne, ponieważ obecne przeglądarki oparte na języku XML, czyli praktycznie 95% wszystkich przeglądarek na rynku, mogą przetwarzać nowe języki znaczników bez konieczności aktualizacji do nowszej wersji. Większość elementów XHTML2 działa już teraz w istniejących przeglądarkach, czyli aplikacjach jeszcze nieprzygotowanych do obsługi XHTML2. Większość działa, ale jeszcze nie wszystko - podobnie jak w czasach, gdy dodano do standardu HTML formularze i tabele, użytkownicy musieli czekać na nową wersję przeglądarek, tak teraz takie nowe funkcjonalności, jak XForms oraz XML Events, będą wymagały, aby agenty użytkownika rozumiały te elementy.

Why is xml:space set to 'preserve' on all elements of XHTML? I don't want to see extra space in my output.

Dlaczego xml:space jest ustawiony na 'preserve' dla wszystkich elementów w XHTML? Nie chcę mieć żadnych niepotrzebnych, pustych miejsc na stronie.

The attribute xml:space is about input: that is to say, it controls if the spaces will be present in the DOM (i.e. in the internal version of the document inside the browser); it says nothing about what will appear on your screen. Output whitespace is controlled by the CSS property 'whitespace'. Set it to 'pre' and the spaces in the DOM will be preserved on output; set it to 'normal' and the whitespace will be collapsed (CSS3 will have more properties to enable greater control).

Atrybut xml:space dotyczy danych wejściowych. Jakby to powiedzieć... określa on, czy spacje będą obecne w drzewie DOM (np. w wewnętrznie przetwarzanym przez przeglądarkę dokumencie). Nie określa on, w jaki sposób będą wyświetlane spacje na ekranie wynikowym. Spacje wynikowe są kontrolowane przez własność 'whitespace' z CSS. Ustawienie jej na 'pre' oznacza, że spacje z drzewa DOM będą obecne również w wynikach, ustawienie jej na 'normal' oznacza, że spacje będą składane (Standard CSS3 daje więcej możliwości w tym zakresie).

This is the reason that all elements are set to xml:space="preserve" in XHTML2, otherwise the CSS 'whitespace' property would have no effect, and you would have no control over visible whitespace. The default stylesheet will set'whitespace' to 'normal' for all elements except <pre>, but you will be free to change them.

Z tego właśnie powodu wszystkie elementy w XHTML2 mają ustawione xml:space="preserve". W innym przypadku właściwość 'whitespace' z CSS nie dawałaby żadnego efektu i nie miałbyś możliwości kontroli spacji. Domyślny arkusz stylów ma ustawione 'whitespace' na 'normal' z wyjątkiem elementu <pre>, ale oczywiście masz możliwość zmiany tych ustawień.


 

Źródło: Steven Pemberton, W3C