Każdy dokument XML powinien być zbudowany w następujący sposób:
Prolog, w którym należy określić używaną wersję języka XML, typ dokumentu oraz - opcjonalnie - DTD (Document Type Definition). DTD zawiera definicje wszystkich elementów występujących w dokumencie; na jego podstawie programy interpretujące mogą ocenić poprawność składniową dokumentu XML.
Zawartość, czyli właściwą (użytkową) treść dokumentu.
Poniższy przykład przedstawia typową strukturę dokumentu XML:
<?xml version="1.0" standalone="yes"?>
<KursXML>Ten dokument zawiera informacje dotyczace jezyka XML
<Opis>Wstep Struktura dokumentu Kodowanie znakow
Prezentacja danych Linki i informacje koncowe
</Opis>
</KursXML>
Dokument taki zapisujemy w formacie xml . Po uruchomieniu z przeglądarki można zobaczyć efekt: Przykład 1. Jak widać efekt na razie nie jest imponujący.
Opis:
<?xml version="1.0" standalone="yes"?> - Prolog zawiera deklarację języka xml i jego wersję 1.0 zastosowanie określenie wersji języka jest obowiązkowe ! Atrybutami których koniecznie nie musimy używać są: "encoding" kodowanie znaków ( które by pisać po polsku z ogonkami by się jednak przydało) i "standalone", który określa, czy dokument jest samodzielny (tzn., czy nie zawiera odwołań do źródeł zewnętrznych). Tworząc dokument xml należy pamiętać o tym, że ów język rozpoznaje wielki i małe litery czyli taka para znaczników jest nie poprawna np.:
<KursXml></kursXML> w przeciwieństwie do tej <kursXML></kursXML>.
Ważna jest także kolejność znaczników np. <a><b></b></a> jest poprawne <a><b></a></b> jest niepoprawne. Każdy dokument XML jest zbiorem węzłów tworzących strukturę drzewiastą. Wynika z tego, że w dokumencie powinien znajdować się dokładnie jeden element główny tzw. korzeń, w którym zawarte są pozostałe elementy. W dokumencie XML mogą znajdować się wyłącznie dane oraz opisujące je znaczniki. Nie umieszcza się w dokumencie XML informacji o sposobie przedstawienia danych. Do formatowania danych służą arkusze stylów. Nasz dokument zawiera poszczególne elementy na które składa się cała strona. Nazywamy je formułując kolejne nazwy znaczników. Gdy chcemy do owego dokumentu dodać jakąś właściwość możemy oczywiście wstawić nowy znaczni ale nie tylko można to zrobić także w taki sposób <rozdzialy rodzaj="Kategorie glowne"></rozdzialy>.
Nazwy znaczników nie mogą zawierać znaków regionalnych (np. "ą","ę"). W dokumentach xml tak jak HTML możemy używać komentarzy np.:
<!-- kurs języka xml --> Nowe jest to co może osoby znające HTML'a zaskoczyć pusty znacznik np. <dane></dane> możemy w xml'u zastąpić takim <dane/>. Kolejnym elementem który można zastosować w dokumencie są instrukcje przetwarzania np.:
<?PHP echo (" ----------Kurs XML'a------------") ?>
lub
<?javascript document.write(" XML !"); ?>
Funkcjonalność ich jest tym większa, że pozwalają one na identyfikację swojej zawartości, po prostu poprzez nazwę. Nazwa ta występuje na samym początku, po znakach "<?" i funkcjonuje dokładnie tak samo, jak nazwa każdego elementu.