encyklopedia.run.place

XML

XML (ang. Extensible Markup Language) – uproszczony, rozbudowywalny język znaczników opracowany w 1998 roku przez World Wide Web Consortium (W3C). Jego głównym celem jest umożliwienie przechowywania i wymiany danych w sposób czytelny zarówno dla ludzi, jak i dla maszyn, przy zachowaniu struktury hierarchicznej.

Historia

XML wywodzi się z SGML – standardu definiującego języki znaczników. W latach 19951997 obserwowano rosnącą potrzebę prostszego języka, który mógłby być używany w aplikacjach internetowych i wymianie danych pomiędzy różnymi systemami operacyjnymi. Projekt XML został rozpoczęty w 1998 roku, a pierwsza wersja standardu ISO 8879:1998 została opublikowana w 1998 roku.

Podstawowe zasady

  • Dokument XML jest dokumentem tekstowym kodowanym najczęściej w Unicode (UTF‑8, UTF‑16).
  • Struktura dokumentu jest drzewiasta – każdy element może zawierać pod­elementy i atrybuty.
  • Dokument musi być dobrze uformowany (well‑formed): musi posiadać jedną korzeniową etykietę, wszystkie znaczniki muszą być poprawnie otwarte i zamknięte oraz muszą być odpowiednio zagnieżdżone.
  • Możliwość walidacji względem schematu (DTD, XML Schema, Relax NG) zapewnia, że dokument spełnia określone reguły strukturalne.

Składnia

<?xml version="1.0" encoding="UTF-8"?>
<książka>
    <tytuł>Przykładowy tytuł</tytuł>
    <autor>Jan Kowalski</autor>
    <rok wydania="2024"></rok>
</książka>
    

W powyższym przykładzie:

  • Linia deklaracji określa wersję XML i kodowanie.
  • Element <książka> jest korzeniem.
  • Atrybut wydania w elemencie <rok> jest przykładem atrybutu XML.

Walidacja i schematy

Walidacja dokumentu XML może odbywać się przy użyciu:

Technologie pokrewne

XML jest bazą dla wielu innych standardów i technologii:

  • XSLT – język transformacji dokumentów XML.
  • XPath – język zapytań służący do nawigacji po drzewie XML.
  • XQuery – język zapytań i transformacji podobny do XPath, ale bardziej rozbudowany.
  • SOAP – protokół wymiany wiadomości oparty na XML, używany w usługach sieciowych.
  • RSS i Atom – formaty kanałów informacyjnych.
  • AJAX – technika pozwalająca na asynchroniczną wymianę danych XML między przeglądarką a serwerem.

Zastosowania

XML znajduje zastosowanie w wielu dziedzinach:

  • Web services – wymiana danych pomiędzy aplikacjami.
  • Konfiguracja oprogramowania – pliki konfiguracyjne (np. pom.xml w Maven).
  • Przechowywanie danych – jako format wymiany i archiwizacji (np. Office Open XML).
  • Dokumenty techniczneDocBook, DITA.
  • Mapowanie danychXSLT do konwersji między formatami (np. XML → HTML).

Przyszłość i alternatywy

Mimo rosnącej popularności JSON, XML nadal jest szeroko stosowany w aplikacjach wymagających silnej walidacji i rozbudowanych schematów. Współczesne projekty często wykorzystują oba formaty, wybierając ten, który lepiej spełnia określone wymagania.

Powiązane pojęcia