Rozdział 1 ¨ Pierwsze kroki (Nagłówek strony)
u autora 6
Wielu autorów stron sieciowych trafia do XML z HTML i zwykle nie mają oni zbyt wielkiego doświadczenia programistycznego poza kodowaniem HTML – a w tym języku umiejętność programowania nie jest potrzebna, gdyż kod ten jest po prostu interpretowany i wyświetlany przez przeglądarkę sieciową. W przypadku XML sytuacja wygląda już inaczej, gdyż ten język z kolei służy głównie do zapisu danych. Wprawdzie przeglądarka może te dane udostępnić, ale do autora należy już sięgnięcie do nich, a to już wymaga pewnych umiejętności programistycznych. W tym rozdziale skupimy się na opanowaniu podstawowej wiedzy, która umożliwi użycie XML w stosowanych obecnie przeglądarkach sieciowych. Jeśli chodzi jedynie o wyświetlenie dokumentu XML, żadna wiedza programistyczna nie jest potrzebna, gdyż przeglądarka sama potrafi zinterpretować dokument, można też zastosować arkusz stylów.
Obecnie istnieją dwie przeglądarki
u autora jedna – dodałem Netscape Navigator 6
, które potrafią bezpośrednio zinterpretować XML: Internet Explorer Microsoftu (wersja 5 i wyższe) oraz Navigator Netscape’a (wersja 6 i wyższe). Niezależnie od tego, co sądzisz o Microsofcie, jednego nie można im odmówić: jako jedni z pierwszych udostępnili obsługę XML i zaangażowali się w rozwój tego języka, dzięki temu to Internet Explorer był pierwszą przeglądarką, w której można obsługiwać dokumenty XML stosując języki VBScript (język skryptowy Microsoftu oparty na ich Visual Basicu) i JavaScript. Jeśli chodzi o Netscape, obsługa XML pojawiła się po raz pierwszy w testowych edycjach ich przeglądarki w wersji 6 (udostępnianych jako Mozilla). W tej książce, aby prezentowany kod można było uruchamiać w możliwie wielu przeglądarkach, użyjemy języka JavaScript (później też omówimy programowanie w Javie). Jeśli jesteś już z JavaScriptem za pan brat, spokojnie możesz ten rozdział opuścić – ale być może warto, byś go przynajmniej przekartkował.
JavaScript jest najpowszechniej stosowanym obecnie językiem skryptowym. Stosując JavaScript możesz w witryny sieciowe wstawiać programy i je uruchamiać. W następnym rozdziale zobaczysz, jak można użyć tych programów do pobierania treści elementów XML i wartości ich atrybutów, a także jak wyszukiwać w dokumentach XML dane.
W Internet Explorerze doskonałym narzędziem do obsługi XML są wyspy XML, które umożliwiają wstawianie kodu XML bezpośrednio w strony HTML dzięki możliwości bezpośredniego odczytywania dokumentów XML. W tym rozdziale poznamy sam JavaScript, w następnym użyjemy tego języka do parsowania dokumentów XML. Z kolei w rozdziale 6
u autora 8.
użyjemy JavaScriptu do ładowania dokumentów XML do rekordów bazy danych, co umożliwia wyszukiwanie, porządkowanie i wyświetlanie danych na różne sposoby.
Programy JavaScriptu wpisuje się do dokumentów HTML stosując znacznik <SCRIPT>, który zwykle znajduje się w sekcji HEAD. Jeśli jednak programu używasz do wyświetlania tekstu bezpośrednio na stronie, odpowiedni znacznik <SCRIPT> umieścić należy w sekcji BODY, gdyż sekcja HEAD może zostać zinterpretowana jeszcze zanim dostępna będzie sekcja BODY.
Oto przykład, od którego zaczniemy. Języka JavaScript używamy do wypisania tekstu „Witaj w JavaScripcie!” na stronie przy jej pierwszym wyświetleniu:
<HTML>
<HEAD>
<TITLE>
Witaj w JavaScripcie!
</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.writeln("Witaj w JavaScripcie!")
//-->
</SCRIPT>
<CENTER>
<H1>
</H1>
</CENTER>
</BODY>
</HTML>
Wyniki interpretacji tego kodu HTML pokazano na rysunku 4.1. Kod JavaScriptu wypisał tekst powitalny w lewym górnym rogu strony.
Rysunek 4.1.
Użycie JavaScriptu w Internet Explorerze
Wprawdzie w tej chwili palmę pierwszeństwa dzierży Internet Explorer, ale prowadzący się stale zmienia i warto pamiętać o pewnych różnicach w implementacji JavaScriptu, szczególnie między Microsoftem a Netscape. Jeśli tę samą stronę chcesz obejrzeć w Netscape Navigatorze, przed pisaniem czegokolwiek w dokumencie musisz go otworzyć, a następnie trzeba go zamknąć:
document.open()
document.close()
Teraz na chwilę nasz przykład odłóżmy i zastanówmy się w ogóle, jak kod JavaScript wstawia się do strony. Kod umieszczamy między znacznikami <SCRIPT> a </SCRIPT>, przy czym dodajemy jeszcze atrybut LANGUAGE o wartości JavaScript, aby przeglądarka wiedziała, jak skrypt ma interpretować:
.
Cały kod JavaScriptu zamykać będziemy w komentarzu HTML. Jest to bardzo dobry zwyczaj – przeglądarki HTML, w przeciwieństwie do przeglądarek XML, jeśli nie rozumieją znaczników, to je pomijają i po prostu wyświetlają tekst między nimi się znajdujący. Niektóre przeglądarki mogą nie rozumieć JavaScriptu ani znacznika <SCRIPT>, więc po prostu wyświetliłyby kod funkcji. Jeśli przeglądarka nie potrafi JavaScriptu zinterpretować, to po prostu cały kod pominie jako komentarz. Z kolei przeglądarki JavaScript obsługujące zignorują znaczniki komentarza – zwróć jednak uwagę na to, że na końcu zamiast zwykłego --> użyliśmy //-->. Jest to konieczne po to, żeby przeglądarka napisu --> nie próbowała zinterpretować jako kodu JavaScript (// to z kolei oznaczenie komentarza w JavaScripcie):
Przeglądarki nie obsługujące JavaScriptu
Istnieje też znacznik <NOSCRIPT>, który umożliwia wyświetlanie komunikatów w przeglądarkach nie obsługujących JavaScriptu – na przykład:
<NOSCRIPT>Właśnie przeszła Ci koło nosa świetna prezentacja w języku JavaScript!</NOSCRIPT>
Przeglądarki nie obsługujące JavaScriptu nie potrafią zinterpretować ani znacznika <SCRIPT>, ani <NOSCRIPT>, ale wyświetlą treść elementu NOSCRIPT. Z kolei treść elementu SCRIPT pominą, gdyż umieściliśmy ją w komentarzu. Przeglądarki obsługujące JavaScript znacznik <NOSCRIPT> pomijają.
Teraz możemy już zacząć wpisywać kod JavaScript. Tym razem jest to po prostu wyrażenie document.writeln("Witaj w JavaScripcie!"), które powoduje wypisanie podanego tekstu w oknie przeglądarki:
Tak właśnie wygląda pierwszy nasz wiersz kodu JavaScript. Podczas ładowania strony kod ten jest odczytywany i wykonywany przez przeglądarkę.
Oficjalna specyfikacja JavaScriptu mówi, że każda instrukcja kończyć się powinna średnikiem. Zatem formalnie nasz pierwszy wiersz powinien wyglądać tak: document.writeln("Witaj w JavaScripcie!");, jednak obecnie przeglądarki już tego średnika nie wymagają – jest to wygodne, bo bardzo łatwo jest zapomnieć o nim. W przypadku typowego kodu JavaScript znajdowanego w Sieci średniki te są pomijane, więc i my będziemy tak samo postępowali.
Dwie istotne implementacje JavaScriptu to implementacje firm Netscape i Microsoft. Szczera i głęboka przyjaźń między tymi firmami ulega jednak pewnym wahaniom, szczególnie jeśli chodzi o przeglądarki, jeśli więc sądzisz, że obie implementacje JavaScriptu mogą być niezgodne, to masz rację.
Dokumentację JavaScriptu jak go widzi Netscape znajdziesz pod adresem http://developer.netscape.com/tech/javascript/index.html (pamiętaj, że tego typu adresy mogą jednak się często zmieniać). Netscape stworzył też wersję JavaScriptu przeznaczoną do używania na serwerach, a nie w przeglądarkach – opis tej wersji znajdziesz pod adresem http://docs.iplanet.com/docs/manuals/ssjs.html.
Implementacja JavaScriptu zrobiona p...
Wolf-1