Wstęp do XML, ręczne tworzenie plików xml

Struktura XML jest bardzo podobna do HTML, z dwiema subtelnymi, ale znaczącymi, różnicami.
1) XML umożliwia stosowanie dowolnych nazw tagów, kiedy HTML ma standaryzowane znaczniki. Z tego wynika druga różnica.
2) XML został stworzony do przechowywania danych, (czyli w domyśle również do odczytywania), na przykład do przechowywania aktualnych kursów walut.

Skoro XML umożliwia stosowanie dowolnych tagów to nie ma się nad czym rozwodzić. Poza kilkoma istotnymi uwagami co do samych nazw, ponieważ praser XML jest bardzo restrykcyjny.

1) Raczej formalność – plik musi być zapisany z rozszerzeniem .xml (plik.xml)
2) Na samym początku, koniecznie w pierwszej linii musi pojawić się informacja dla prasera, że jest to plik XML, inaczej zwróci błąd

<?xml version="1.0"?>

3) Znaczniki mogą zawierać małe i duże znaki wyłącznie z zakresu a-z,A-Z oraz cyfry 0-9. Dozwolone są 3 łączniki, tj kropka(.), myślnik (-), dolna kreska (tzw. podłoga _).

Posiadając tą wiedzę można spokojnie wygenerować pierwszy plik xml o nazwie waluty.xml

<?xml version="1.0"?>
<waluty>
	<kraj>
		<panstwo>Polska</panstwo>
		<waluta>PLN</waluta>
		<kurs>1</kurs>
		<notowanie>25.04.2013</notowanie>
	</kraj>
	<kraj>
		<panstwo>Niemcy</panstwo>
		<waluta>EUR</waluta>
		<kurs>4.1403</kurs>
		<notowanie>25.04.2013</notowanie>
	</kraj>
	<kraj>
		<panstwo>Szwecja</panstwo>
		<waluta>SEK</waluta>
		<kurs>0.4812</kurs>
		<notowanie>25.04.2013</notowanie>
	</kraj>
	<kraj>
		<panstwo>Rosja</panstwo>
		<waluta>RUB</waluta>
		<kurs>4</kurs>
		<notowanie>25.04.2013</notowanie>
	</kraj>
	<kraj>
		<panstwo>Norwegia</panstwo>
		<waluta>NOK</waluta>
		<kurs>0.5392</kurs>
		<notowanie>25.04.2013</notowanie>
	</kraj>
</waluty>

Demo pliku waluty.xml

Taki sposób przechowywania danych ma bardzo duże możliwości:
– Programy partnerskie (helion) udostępnia w ten sposób listę swoich produktów do umieszczenia na swojej stronie.
– Sklepy internetowe umożliwiają generowanie plików XML z nazwami produktów, opisem, cenom w celu dodania sklepu do porównywarki cen.
– Generowanie mapy strony dla Google Webmasters Tools
– Generowanie kanału RSS.

Dwa ostatnie punkty będą realizowane gdzieś później na blogu.