Co to jest xml?

Autor: Opublikowano

W skrócie: XML to tekstowy format zapisu i wymiany danych, w którym znaczniki opisują znaczenie oraz strukturę informacji. Stosuje się go między innymi w integracjach systemów, plikach konfiguracyjnych i mapach witryn. Plik XML można przeczytać w edytorze tekstu, ale do jego prawidłowego wykorzystania potrzebna jest znajomość zasad przyjętych przez dany system.

Jak działa XML i co oznacza jego nazwa

XML to skrót od Extensible Markup Language, czyli rozszerzalnego języka znaczników. Znacznik jest etykietą zapisaną w nawiasach ostrych, na przykład <cena>. Pozwala określić, co oznacza umieszczona między znacznikami wartość.

„Rozszerzalny” oznacza, że XML nie narzuca jednej listy nazw znaczników. Autor formatu może zdefiniować elementy takie jak <produkt>, <zamowienie> czy <klient>. Systemy wymieniające dane muszą jednak uzgodnić nazwy i strukturę — samo użycie XML nie sprawi, że dowolny program zrozumie plik.

XML opisuje przede wszystkim dane, a nie ich wygląd. Plik zawierający cenę i nazwę produktu nie określa automatycznie, jak mają one wyglądać na stronie sklepu. Za prezentację odpowiada aplikacja albo dodatkowe reguły przetwarzania.

Jak czytać plik XML: prosty przykład

Tak może wyglądać zapis pojedynczego produktu:

<?xml version="1.0" encoding="UTF-8"?>
<produkt id="123">
  <nazwa>Kubek ceramiczny</nazwa>
  <cena waluta="PLN">39.90</cena>
  <dostepny>true</dostepny>
</produkt>

Pierwszy wiersz to opcjonalna deklaracja XML. Wskazuje wersję języka oraz kodowanie znaków, czyli sposób zapisania liter i innych znaków w pliku. Jeśli deklaracja podaje UTF-8, rzeczywiste kodowanie pliku powinno być z nią zgodne.

<produkt> jest elementem głównym, który obejmuje pozostałe elementy. <nazwa>, <cena> i <dostepny> zawierają wartości. Z kolei id="123" oraz waluta="PLN" to atrybuty, czyli dodatkowe informacje umieszczone w znaczniku otwierającym.

Nazwy elementów sugerują znaczenie danych, ale nie definiują wszystkich zasad. XML sam nie rozstrzyga, czy cena musi mieć dwa miejsca po przecinku ani czy true oznacza dostępność w magazynie. Takie reguły wynikają z dokumentacji formatu lub schematu danych.

Jakie zasady musi spełniać poprawny XML

Dokument poprawny składniowo jest nazywany well-formed. Musi mieć jeden element główny, a elementy muszą być prawidłowo zamknięte i zagnieżdżone. Zapis <produkt><nazwa>Kubek</produkt></nazwa> jest błędny, ponieważ znaczniki zamykające występują w niewłaściwej kolejności.

Przy czytaniu lub poprawianiu pliku najważniejsze są następujące zasady:

Poprawna składnia nie oznacza jeszcze zgodności z wymaganiami odbiorcy. Do kontroli struktury można użyć schematu XSD, czyli dokumentu opisującego dozwolone elementy, ich kolejność i typy wartości. Plik może być poprawnym XML-em, ale zostać odrzucony przez aplikację, na przykład z powodu brakującego numeru zamówienia.

W bardziej rozbudowanych dokumentach występują też przestrzenie nazw. Pozwalają odróżnić elementy o tej samej nazwie pochodzące z różnych formatów. Dlatego prefiksów takich jak abc: i deklaracji xmlns nie należy usuwać tylko dlatego, że wyglądają na zbędne.

Gdzie XML jest używany i czym różni się od HTML oraz JSON

XML spotkasz w wymianie danych między sklepem a hurtownią, integracjach systemów firmowych i niektórych usługach sieciowych. Jest też używany w RSS, czyli formacie udostępniania aktualizacji treści, oraz SVG, czyli formacie grafiki wektorowej. Pliki XML występują również wewnątrz dokumentów DOCX i XLSX.

Mapa witryny XML zawiera adresy stron i może przekazywać wyszukiwarkom dodatkowe informacje o nich. Nie jest jednak gwarancją indeksacji ani uzyskania określonej pozycji w wynikach wyszukiwania.

HTML służy do opisywania struktury stron internetowych przy użyciu ustalonych elementów, takich jak nagłówki i akapity. XML pozwala tworzyć własne nazwy elementów do zapisu danych. Z kolei JSON to inny tekstowy format wymiany danych, oparty głównie na parach nazwa–wartość i listach.

Przy prostej integracji aplikacji internetowych JSON często jest wygodniejszy i bardziej zwięzły. XML może być odpowiednim wyborem, gdy wymaga go odbiorca albo istniejący standard. Przykładowo, jeśli hurtownia udostępnia katalog w XML, sklep potrzebuje importera obsługującego konkretną strukturę tego katalogu, nie tylko dowolne pliki z rozszerzeniem .xml.

Jak otworzyć XML i bezpiecznie z niego korzystać

Do podejrzenia pliku wystarczy edytor tekstu. Edytor kodu dodatkowo wyróżni znaczniki i pomoże znaleźć błędy. Przeglądarka internetowa także może pokazać strukturę XML lub komunikat o niepoprawnej składni, lecz nie zastąpi sprawdzenia zgodności z wymaganiami aplikacji.

Przed importem wykonaj kopię pliku, sprawdź wymagany format w dokumentacji odbiorcy i przetestuj niewielką próbkę danych. Nie przesyłaj plików z danymi klientów, hasłami czy informacjami firmowymi do przypadkowych internetowych walidatorów.

Jeśli tworzysz aplikację odczytującą XML z nieznanego źródła, zadbaj o bezpieczną konfigurację parsera, czyli programu analizującego dokument. Ogranicz obsługę zewnętrznych encji i pobieranie zasobów zewnętrznych, aby plik nie mógł wymusić niepożądanego dostępu do plików lub sieci.

Praktyczny pierwszy krok: otwórz XML w edytorze, znajdź element główny i porównaj jego strukturę z dokumentacją systemu, do którego chcesz wprowadzić dane.

Zobacz też: Co to jest 2FA?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.