CSS i XML

Arkusz stylów CSS

Kaskadowe arkusze stylów (ang. Cascading Style Sheets – CSS) jest językiem służącym do opisu sposobu renderowania stron WWW. Arkusz taki jest listą reguł ustalających, jak ma zostać renderowana przez przeglądarkę internetową zawartość elementu HTML lub XML. CSS zostały stworzone aby oddzielić sposób formatowania stron WWW od struktury logicznej dokumentu. Umożliwiło to znaczne uproszczenie kodu HTML.

XML

XML, czyli eXtensible Markup Language – rozszerzalny język znaczników, zaprojektowany przez World Wide Web Consortium. XML, w przeciwieństwie do np. HTML nie jest językiem służącym do przechowywania konkretnych danych. Jest natomiast językiem opisującym dane, czyli tzw. metajęzykiem. Przede wszystkim nie jest to język do tworzenia dokumentów, lecz język do tworzenia innych języków. Dopiero te języki służą do budowania dokumentów w Internecie. Języki takie nazywamy aplikacjami XML. Najbardziej znane z nich to m.in.:

  • XHTML (następca HTML),
  • MathML (tworzenie dokumentów zawierających formuły matematyczne),
  • WAP (wyświetlanie internetowej informacji w telefonach komórkowych),
  • GedML (obsługa danych genealogicznych)
  • MusicML (notacja muzyczna)
  • VoiceML (dane głosowe)
  • ThML (teksty teologiczne)
  • VML i SVG (grafika wektorowa)
  • XMLNews (wymiana aktualnych wiadomości)
  • RSS (kanały informacyjne).

Aplikacji takich powstało mnóstwo i są to języki służące biznesowi, naukowcom, wyspecjalizowanym mediom itd.

XML jest podzbiorem języka SGML (każdy dokument XML jest zarazem dokumentem SGML, oferuje 80% jego możliwości, przy dziesięciokrotnie łatwiejszym ich wykorzystaniu). Dzięki XML sami możemy tworzyć własne znaczniki, a przeglądarka będzie wyświetlała je w żądany sposób. Język ten nie ma ograniczonej liczby znaczników, gdyż pozwala przechowywać dowolne dane i to w jak najbardziej wygodny dla nas sposób, bo sami go określamy. Sami określamy strukturę danych, która może być tabelaryczna, ale może także tworzyć drzewo. W ten sposób nie jesteśmy, jako twórcy zbiorów XML w żaden sposób ograniczeni. Na tym przede wszystkim polega wyższość XML nad innymi formatami zapisu danych.

Dzięki oddzieleniu treści od formy – czego nie umożliwia wspomniany HTML – łatwo skupić się na samych danych. Zwykłe programy mogą dzięki wspólnemu formatowi XML łatwiej wymieniać dane, a informacje publikowane np. w Sieci mogą być łatwiej przetwarzane.

Przykład zastosowania j ęzyka XML:

<?xml version=”1.0″?>

<news numer=”1″>

<tytul>Piractwo komputerowe zostanie ukrócone!</tytul>

<data>11 grudnia 2006</data>

<autor>Bartek Ziobrowski</autor>

<tresc><nazwisko>Mariusz Dutko</nazwisko> oświadczył, że powoła grupę do walki z piractwem. We współpracy z <firma>Microsoft</firma>, <firma>KMP</firma> i <firma>RIAA</firma> powoła grupę zwaną Agencją Ochrony Własności Intelektualnej (<skrot>AOWI</skrot>).</tresc>

</news>

Jak widać składnia dokumentu jest bardzo schludna. Każdy znacznik jest czytelny i jasno określa zawartość. Oczywiście nad interpretacją takich znaczników przez cały czas czuwa procesor XML, dzięki któremu przeglądarka wyświetla je w żądany sposób – jest to tzw. parser XSLT.

Jak każdy język, XML ma również swoje zasady, których należy przestrzegać. Nieobowiązkowa jest deklaracja XML, znajdująca się na początku dokumentu. Zalecane jest jednak, aby ją umieścić. Jej zawartość wygląda następująco:

<?xml version=”1.0″ encoding=”ISO-8859-2″ standalone=”yes”?>

Jak widać, zdefiniowana jest wersja języka XML, zawiera również informację o kodowaniu, natomiast atrybut „standalone” określa, czy dokument może występować samodzielnie czy też będzie on potrzebował odwołania do zewnętrznego DTD.

Znaczniki konstruuje się identycznie jak w HTML, jednak w języku XML – w odróżnieniu od HTML – każdy znacznik musi być zamknięty.

Bardzo ważną sprawą jest wielkość liter. XML nie wymaga stosowania ujednoliconej, konkretnej wielkości liter, aczkolwiek konieczna jest konsystencja w wykorzystaniu jednego systemu. I tak <news> nie jest tym samym znacznikiem co <News> czy <NEWS>. Nie można go również zamknąć korzystając z </NEWS>.

Kolejnym ważną cechą, o której należy pamiętać to hierarchia elementów. 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. Biorąc pod uwagę powyższy przykład zastosowania XML, nie możemy napisać:

<tytuł><data>11 grudnia 2006</news></tytuł>

ale musimy to zanotować tak:

<tytuł><data>11 grudnia 2006</data></tytuł>

Sprawa atrybutów rozwiązana jest podobnie jak w przypadku HTML. Ich wartości muszą być zamknięte w cudzysłów, aczkolwiek nie ma znaczenia czy będzie on podwójny czy pojedynczy. Spacje wokół znaku równości również nie odgrywają roli, np.:

<autor imie=”Mariusz” nazwisko=”Dutko” />

oznacza to samo co:

<autor imie = 'Mariusz' nazwisko = 'Dutko' />

Nazwy dotyczące nazewnictwa są wspólne są wspólne zarówno dla nazw elementów, jak i atrybutów oraz pewnych rzadziej używanych konstrukcji. Nazwy w XML mogą zawierać dowolne znaki alfanumeryczne, w tym wszelkie znaki narodowe, cyfry i trzy znaki przestankowe: podkreślenie, myślnik i kropkę. Niedozwolone są inne znaki specjalne, jak apostrofy, znaki zapytania, wykrzykniki, procenty itp. Nazwy muszą znajdować się w całości w jednej linii bez żadnych spacji. Dwa ze znaków specjalnych nie mogą być umieszczane wewnątrz elementów, są to: „&”, który należy zastąpić „&amp;” oraz „<”, zastępowany przez „&lt;”.

Specjalne bloki CDATA służą do umieszczania zawartości, którą parser potraktuje jako czysty tekst i przepuści ją bez przetwarzania. Wszelkie elementy XML wewnątrz CDATA zostaną przez parser zignorowane.

Dokumenty XML, podobnie jak HTML, można tworzyć i zmieniać w dowolnym edytorze tekstu, jednak wygodniej jest korzystać z wyspecjalizowanych narzędzi, które znacznie ułatwią pracę przy tworzeniu dokumentów.[16][17]


[16]„Kurs XML”, webdiary.pl/technologie+list.cat+27.htm

[17]„Wprowadzenie do XML”, Michał Paluchowski, nethut.pl/artykul/120/2