Zamiast Worda i Accessa

Jeśli do przechowywania informacji nie wystarczy nam zwykły plik tekstowy, a nie stać nas na taki program jak Access, zainteresujmy się natywną bazą danych XML

Bazy danych są narzędziami zbyt skomplikowanymi (a czasem i zbyt drogimi), w sytuacji gdy przetwarzamy niewielkie ilości informacji. Korzystając natomiast z pliku tekstowego, natkniemy się na ograniczenia podczas manipulowania danymi. Czasami zatem najlepiej poszukać innej drogi i sięgnąć po natywną bazę danych XML. W artykule pokażę, jak za pomocą PHP odczytywać i modyfikować informacje zawarte w dokumencie XML.

XML – co to jest?

XML, czyli Extensible Markup Language, to uniwersalny język znaczników. Na jego bazie można tworzyć inne języki, zwane aplikacjami XML. W taki właśnie sposób powstał np. XHTML.

Podkreślmy, że XML nie ma predefiniowanych znaczników, tak jak jego aplikacje (np. XHTML czy SVG). Dzięki temu o nazwach i kolejności zagnieżdżania znaczników decydujemy sami. W efekcie kod źródłowy pliku XML jest bardziej przejrzysty i zrozumiały dla przeciętnego człowieka niż np. kod źródłowy zapisany w zbiorze XHTML. Oto przykład fragmentu dokumentu XHTML, przechowującego imię i nazwisko pisarza:

<p>Bolesław</p><br/> <p><b>Prus</b><p>

A oto te same dane zamieszczone w dokumencie XML:

<imie>Bolesław</imie>
<nazwisko><pogrubione>Prus
     </pogrubione></nazwisko>

Na pierwszy rzut oka widać, że bardziej przejrzysty i zrozumiały jest drugi dokument. Gdyby zaszła konieczność wprowadzania w nim zmian, to nawet osoba nieznająca XML-a powinna sobie poradzić z takim zadaniem.

Podczas tworzenia pliku XML trzeba pamiętać o tym, że musi się on rozpoczynać deklaracją dokumentu XML. Za nią jest umieszczany element główny (zwany korzeniem dokumentu) i dopiero on zawiera podelementy przechowujące dane.

W deklaracji obowiązkowo musimy podać wersję języka XML. Opcjonalnie określamy także metodę kodowania znaków. Dzięki specjalnemu atrybutowi standalone wolno nam wreszcie określić, czy nasz dokument jest „samodzielny”, czyli czy nie ma do niego dołączonych jakichś zewnętrznych plików.

Między DOC-em a MDB

Odpowiednio przygotowany zbiór XML spełnia funkcję małej bazy danych, zwanej natywną bazą XML. Jest ona czymś pośrednim między zwykłym plikiem tekstowym a bazą relacyjną. Bezsprzeczną korzyścią wynikającą z zastosowania dokumentu XML jest jego przenośność.

Naszą bazę danych będzie stanowił plik litera1.xml, w którym umieściliśmy kolekcję utworów literackich. A oto zawartość zbioru:

<?xml version=”1.0″ encoding=”UTF-8″
     standalone=”yes” ?>
<literatura>
     <utwor id=”1″ gatunek=”powiesc”>
       <tytul>Potop</tytul>
      <autor>Henryk Sienkiewicz
          </autor>
      <opis>Powieść historyczna epoki
          pozytywizmu.</opis>
   </utwor>

<utwor id=”5″ gatunek=”nowela”>
      <tytul>Latarnik</tytul>
      <autor>Henryk Sienkiewicz
         </autor>
      <opis>Nowela.</opis>
   </utwor>
</literatura>

Jak łatwo zauważyć, wszystkie dane są umieszczone w głównym elemencie <literatura>. Ten z kolei zawiera podelementy , które opisują konkretne utwory literackie. Dodatkowo każdy utwór ma unikatowy identyfikator i należy do określonego gatunku literackiego, na co wskazują atrybuty id oraz gatunek. Każdy element <utwor> zawiera wreszcie podelementy:

<tytul>

,

<autor>

i <opis>, opisujące określone dzieło.

Close

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.