Bardzo ważną kwestią jest rozróżnianie wielkości liter. <news> nie jest tym samym znacznikiem co <NEWS> czy <News>, nie można go również zamknąć wstawiając </NEWS>. XML nie wymaga stosowania jednej, konkretnej wielkości liter, konieczna jest jednak konsystencja w wykorzystaniu jednego systemu.
tych samych autorów
- IMAP w stylu PHP [MP]
- Własne RSS [MP]
- Rodzina XSL [MP]
- Rozszerzenia XSSI [MP]
- Dynamiczne generowanie grafiki w PHP [MP]
zobacz również
Hierarchia elementów
Jest ona jedną z podstawowych cech XML. Dowolny dokument XML można zapisać w formie drzewa hierarchicznego. Zobaczmy jak wyglądałoby ono dla podanego wyżej przykładu newsa:
news
|
|--- tytul - XML jest swietny!
|--- data -- 20 Stycznia 2004
|--- autor - Michał Paluchowski
|--- tresc
|
|--- nazwa - XML
|--- firma - IBM
...
Element <news> jest tutaj elementem nadrzędnym - rodzicem elementów <tytul>, <data>, <autor> i <tresc>. Dlaczego jest to takie istotne? Ponieważ dla poprawienia spójności kodu w specyfikacji XML przyjęto zasadę, że każdy znacznik musi zostać zamknięty zanim zostanie zamknięty każdy z jego rodziców. Co to oznacza w praktyce? Otóż nie możemy napisać:
<news><tytul>Dowolny tytuł</news></tytul>
ale musimy:
<news><tytul>Dowolny tytuł</tytul></news>
Atrybuty
Podobnie jak to jest w HTML, atrybuty określa się w znaczniku otwierającym dany element. Ich wartości muszą być zawsze zamknięte w cudzysłów, chociaż nie ma już znaczenia czy będzie on pojedynczy czy podwójny. Podobnie jest ze spacjami wokół znaku równości. Zatem:
<data dzien="13" miesiąc="kwiecień" rok="2004" />
jest tym samym co:
<data dzien = '13' miesiąc = 'kwiecień' rok = '2004' />
Nazwy w XML
Zasady dotyczące nazewnictwa w XML są wspólne zarówno dla nazw elementów, jak i atrybutów oraz pewnych rzadziej używanych konstrukcji. Cały ten zbiór jest określany jako XML Names.
Nazwy w XML mogą oczywiście zawierać dowolne znaki alfanumeryczne, a więc cały zakres alfabetu łacińskiego i wszelkie cyfry. Nazwy te mogą zawierać również znaki narodowe, np. polskie ogonki, niemieckie umlauty, cyrylicę czy chińskie ideogramy. Dozwolone są także trzy znaki przestankowe: podkreślenie '_'; myślnik '-' oraz kropkę '.' Niedozwolone są inne znaki specjalne, jak apostrofy, znaki zapytania, wykrzykniki, procenty itp.
Nazwy muszą również w całości znajdować się w jednej linii bez żadnych spacji.
Wewnątrz elementów natomiast niedozwolone jest umieszczanie dwóch znaków specjalnych: & który musi być zastępowany przez & oraz < który należy zastępować przez <
Sekcje CDATA
W języku XML występują specjalne bloki typu CDATA, gdzie umieszcza się zawartość, którą parser powinien potraktować jako czysty tekst i przepuścić bez jakiegokolwiek przetwarzania. Wszelkie elementy XML czy inne znaczące formy, jakie się wewnątrz nich znajdą zostaną przez parser zignorowane. Bloki CDATA definiuje się następująco:
<znacznik>
<![CDATA[
Każdy <znacznik /> tutaj zostanie zignorowany.
]]>
</znacznik>
Komentarze
Komentarze w kodzie XML są wprowadzane identycznie jak w języku HTML:
<!-- Krótki komentarz do kodu. -->
Należy jedynie uważać, aby treść komentarza nie zawierała nigdzie podwójnego myślnika -- (poza początkiem i końcem). Istotne może być również, że do parsera należy decyzja, czy pozostawi komentarze w ostatecznym kodzie czy też je usunie. Lepiej więc nie umieszczać w nich żadnych danych istotnych dla działania końcowego produktu.
Przetwarzanie instrukcji
Ten fragment reguł może wydawać się dziwnie znajomy osobom, które miały styczność z PHP. Otóż instrukcje, które mają zostać przetworzone przez zewnętrzny program umieszcza się wewnątrz znaczników <? i ?>. Jeśli więc chcemy umieścić kawałek kodu PHP w dokumencie XML, należy to zrobić tak:
<tytul><? echo $tytul; ?></tytul>
Akceptowane jest również wpisanie:
<tytul><?php echo $tytul; ?></tytul>
To wyjaśnia dlaczego twórcy PHP wybrali akurat <? i ?> do zaznaczenia początku i końca kodu.
Narzędzia do tworzenia dokumentów
Jak już wspomniałem, dokumenty XML można tworzyć w dowolnym edytorze tekstu. Jednakże szczególnie na początku, kiedy masz z tym mało doświadczenia, przydatne mogą okazać się wyspecjalizowane narzędzia. Wiele z nich jest rozprowadzanych na zasadzie OpenSource. Na początek możesz przyjrzeć się programowi XML Cooktop (www.xmlcooktop.com).
Mam nadzieję, że to krótkie wprowadzenie stanowi zachęcającą podstawę do dalszej pracy z językiem XML. Jak zawsze bardziej szczegółowe informacje można znaleźć na stronie www.w3c.org. Bogactwo technologii, jakie działają w oparciu o standard XML to już temat na zupełnie inny artykuł.