HTML na XML: rozszerzenie języka znaczników
Zdecydowana większość ludzi z branży komputerowej wie, czym jest HTML (Hypertext Markup Language). Istnieje już od bardzo dawna i jest szeroko stosowany w projektowaniu stron internetowych, chociaż chociaż rzadko można już zobaczyć strony napisane wyłącznie w języku HTML, uważa się je za podstawową wiedzę w całym procesie tworzenia stron internetowych.
Z drugiej strony XML (Extensible Markup Language) to nowsza i znacznie mniej znana technologia w porównaniu do HTML. XML został stworzony w 1996 roku przez grupę 11 osób jako adaptacja SGML (Standard Generalized Markup Language) do użytku w sieci WWW. XML jest bardziej strukturalnym i ścisłym językiem znaczników w porównaniu do HTML, który pozwala użytkownikom tworzyć własne definicje i kodować modułowo. Został stworzony, aby stworzyć znormalizowane specyfikacje do tworzenia niestandardowych języków znaczników, które są obecnie znane jako dialekty XML. Może to nie być od razu widoczne, ale wszystkie niestandardowe języki znaczników, takie jak HTML, RSS i Atom, zostały zbudowane z XML jako metoda zwiększenia użyteczności Internetu.
Ponieważ XML został zaadaptowany z SGML, zawiera wiele kodu i technik, które pierwotnie pochodziły z SGML, takich jak jego ścisłość i tak zwana dobrze uformowana forma. Cechy, które rozciągają się nawet na potomków XML. Podczas tworzenia kodu opartego na XML należy zawsze brać pod uwagę pewne reguły. Z każdym dokumentem jest nawet dobrze sformułowana deklaracja określająca, jaki to rodzaj dokumentu i na jakich zasadach powinno opierać się przetwarzanie. Jest to bardzo różne w porównaniu z bardzo zrelaksowanym kodowaniem stosowanym w HTML.
Gdy przetwarzasz stronę HTML, uzyskasz jakiś wynik, niezależnie od tego, co zostało wprowadzone. Procesor HTML próbuje zrozumieć, co było w dokumencie, i tworzy wynik, który jego zdaniem najlepiej reprezentuje dane wejściowe. To nie jest prawda, jeśli chodzi o XML. XML wykorzystuje mechanizm obsługi błędów uznawany za „drakoński”. Ilekroć procesor XML napotka coś, czego nie może zrozumieć, po prostu tworzy raport o błędach i kończy przetwarzanie pliku. To pozostawia ci pole błędu i nie ma żadnego wyniku w przeciwieństwie do HTML.
Mówiąc inaczej, HTML to język znaczników używany do szybkiego i łatwego wyświetlania wyników. Nie dotyczy to poprawności danych wejściowych i po prostu próbuje utworzyć dane wyjściowe na podstawie pliku wejściowego. Z drugiej strony XML jest bardzo ścisłym językiem znaczników, który zwykle nie jest używany do tworzenia treści. Jego głównym zastosowaniem jest narzędzie do tworzenia innych języków znaczników, które tworzą potrzebną treść.