Co oznacza XML
XML to skrót od Extensible Markup Language, czyli rozszerzalnego języka znaczników. W 1998 roku XML stał się rekomendacją W3C. Opisuje dane za pomocą tagów, które nazywasz samodzielnie – właśnie to oznacza „rozszerzalny”. Inaczej niż HTML, XML nie ma predefiniowanych tagów: katalog może używać <product> i <price>, a faktura <item> i <total>.
Mały dokument XML wygląda tak: <book id="1"><title>XML Basics</title><year>2026</year></book>. XML to zwykły tekst, więc ludzie mogą go czytać, a każdy język programowania – przetwarzać. Służy wyłącznie do przechowywania i strukturyzowania danych – sam z siebie nic nie robi. To programy decydują, co dane oznaczają i jak je wyświetlić.
Zasady składni XML
Każdy dokument XML musi przestrzegać kilku ścisłych reguł. Dokument, który je spełnia, nazywa się poprawnym składniowo (well-formed):
- Istnieje dokładnie jeden element główny, który zawiera wszystkie pozostałe elementy.
- Każdy element jest zamknięty:
<name>…</name>lub samozamykający, np.<br/>. - Elementy są prawidłowo zagnieżdżone:
<b><i>…</i></b>, nigdy<b><i>…</b></i>. - W nazwach rozróżniana jest wielkość liter:
<Item>i<item>to różne elementy. - Wartości atrybutów są zawsze ujęte w cudzysłów pojedynczy lub podwójny.
- Znaki
&i<w tekście zapisuje się jako&i<. - Opcjonalna deklaracja
<?xml version="1.0" encoding="UTF-8"?>musi znajdować się na samym początku.
Komentarze zapisuje się jako <!-- … -->. Walidator XML sprawdza wszystkie te reguły w sekundę i wskazuje wiersz z ewentualnym błędem.
Elementy i atrybuty
Element to tag otwierający, jego zawartość i tag zamykający: <price>19.90</price>. Elementy mogą zawierać tekst, inne elementy lub jedno i drugie. Atrybut to para nazwa–wartość wewnątrz tagu otwierającego: <price currency="EUR">.
| Element | Atrybut | |
|---|---|---|
| Przykład | <color>red</color> | color="red" |
| Może się powtarzać | Tak | Nie, raz w danym elemencie |
| Może zawierać elementy podrzędne | Tak | Nie, tylko tekst |
| Kolejność ma znaczenie | Tak | Nie |
Popularna konwencja: elementów używaj dla samych danych i wszystkiego, co może się powtarzać lub mieć strukturę, a atrybutów – dla metadanych, takich jak identyfikatory, jednostki czy typy.
XML poprawny składniowo a zgodny ze schematem
XML poprawny składniowo (well-formed) spełnia reguły składni; parsery odrzucają wszystko inne. XML zgodny ze schematem (valid) jest poprawny składniowo i dodatkowo odpowiada schematowi, który określa, jakie elementy i atrybuty są dozwolone, w jakiej kolejności i z jakimi typami danych.
- DTD (Document Type Definition) to pierwotny język schematów, wbudowany w XML 1.0. Pozwala też deklarować encje, takie jak
. - XSD (XML Schema Definition) sam jest zapisywany w XML i obsługuje typy danych, takie jak daty i liczby dziesiętne. Formaty e-faktur, takie jak CFDI, NF-e i UBL, publikują schematy XSD.
Przestrzenie nazw XML
Ponieważ każdy może wymyślać nazwy tagów, dwa słowniki mogą używać tej samej nazwy – <title> jako tytułu książki i <title> jako tytułu osoby. Przestrzenie nazw rozdzielają je, wiążąc nazwy z identyfikatorem URI. xmlns:cfdi="http://www.sat.gob.mx/cfd/4" deklaruje prefiks cfdi, więc <cfdi:Comprobante> należy do meksykańskiego słownika CFDI 4.0. Domyślna przestrzeń nazw, xmlns="…" bez prefiksu, obejmuje każdy element bez prefiksu wewnątrz elementu, w którym ją zadeklarowano. URI jest tylko identyfikatorem; nic nie jest spod niego pobierane.
XML, JSON i HTML – porównanie
| XML | JSON | HTML | |
|---|---|---|---|
| Przeznaczenie | Przechowywanie i wymiana danych strukturalnych oraz dokumentów | Wymiana danych, zwłaszcza w webowych API | Wyświetlanie stron internetowych |
| Nazwy tagów lub kluczy | Definiujesz sam | Definiujesz sam | Ustalone przez standard HTML |
| Typy danych | Tekst, chyba że schemat definiuje typy | Ciąg znaków, liczba, wartość logiczna, null, tablica, obiekt | Tekst |
| Atrybuty | Tak | Nie | Tak |
| Komentarze | Tak | Nie | Tak |
| Schematy | DTD, XSD | JSON Schema | – |
| Błędy składni | Odrzucane przez parsery | Odrzucane przez parsery | Naprawiane przez przeglądarki |
JSON jest krótszy i odwzorowuje się bezpośrednio na obiekty w JavaScripcie, dlatego większość webowych API przeszła na ten format. XML pozostaje silny tam, gdzie dokumenty łączą tekst i znaczniki, potrzebują przestrzeni nazw lub muszą być ściśle walidowane względem schematów – dlatego administracje podatkowe, wydawcy i formaty biurowe wciąż na nim polegają.
Co to jest plik XML i jak go otworzyć?
Plik .xml to zwykły plik tekstowy z dokumentem XML, najczęściej zakodowanym w UTF-8. Ponieważ to tekst, otworzy go każdy edytor tekstu – Notatnik w Windows, TextEdit na Macu lub edytor kodu, np. VS Code. Chrome i Firefox wyświetlają pliki XML jako drzewo po przeciągnięciu ich do okna przeglądarki, a Excel potrafi zaimportować dane XML do arkusza kalkulacyjnego.
Wiele plików korzysta z XML bez rozszerzenia .xml: obrazy .svg, kanały .rss, schematy .xsd, arkusze stylów .xsl, pliki .config w .NET oraz pliki .plist w macOS, które mogą być zapisane jako XML. Pliki Word, Excel i PowerPoint (.docx, .xlsx, .pptx) to archiwa ZIP pełne plików XML.
Gdzie używa się XML
- Mapy witryn:
sitemap.xmlinformuje wyszukiwarki, jakie strony ma witryna. - Kanały RSS i Atom: serwisy informacyjne, blogi i podcasty publikują aktualizacje w formacie XML.
- SVG: grafika wektorowa w sieci to dokumenty XML.
- Pliki biurowe: Office Open XML (DOCX, XLSX, PPTX) i OpenDocument (ODT, ODS) to pakiety ZIP z plikami XML.
- E-faktury: CFDI w Meksyku i NF-e w Brazylii to pliki XML, które muszą zostać podpisane cyfrowo i autoryzowane, zanim nabiorą mocy prawnej; UBL to format XML, na którym opiera się fakturowanie elektroniczne Peppol w Europie i poza nią.
- Usługi sieciowe SOAP: banki, operatorzy płatności i systemy administracji publicznej wymieniają komunikaty XML opisane w plikach WSDL.
- Aplikacje na Androida: układy, zasoby tekstowe i
AndroidManifest.xmlsą zapisane w XML. - Konfiguracja:
pom.xmlw Mavenie,web.configw .NET oraz wiele innych ustawień kompilacji i serwerów.
Najczęściej zadawane pytania
Co oznacza skrót XML?
Extensible Markup Language, czyli rozszerzalny język znaczników. „Rozszerzalny” oznacza, że sam definiujesz tagi, a „język znaczników” – że struktura jest zapisywana jako tagi otaczające dane.
Czy XML to język programowania?
Nie. XML to format danych: opisuje i porządkuje informacje, ale niczego nie oblicza. Powiązane technologie, takie jak XPath i XSLT, służą do odpytywania i przekształcania dokumentów XML.
Czy XML jest nadal używany?
Tak. JSON zastąpił XML w wielu webowych API, ale XML pozostaje standardem dla map witryn, kanałów RSS, SVG, dokumentów biurowych, układów w Androidzie, usług SOAP i e-faktur w wielu krajach.
Ostatnia aktualizacja: