GAJDAW


PROGRAMY

1 2 3 4 5 6


MathML — matematyka na stronach WWW. Część 2. Strona zgodna ze standardami

Włodzimierz Gajda





1. Tryb quirksmode przeglądarki IE

Wstawki MathML możemy osadzać na stronach WWW w sposób przedstawiony na listingu 1. Jeśli kod listingu zapiszemy do pliku o rozszerzeniu XML, umieszczając w tym samym folderze pliki ctop.xsl, mathml.xsl, mathml-entities.dtd i pmathml.xsl, to dokument taki będzie poprawnie wyglądał w Firefoksie z zainstalowanymi czcionkami matematycznymi oraz w Internet Explorerze z zainstalowaną wtyczką MathPlayer.

...brak dostępu...

Listing 1. Kompletna strona WWW ze wstawką MathML



Rysunek 1. Strona z listingu 1 po wyświetleniu w Firefoksie i Internet Explorerze

Pewnym minusem rozwiązania z listingu 1 jest to, że nie możemy korzystać z oryginalnego dokumentu DTD pobieranego z W3C. Dokument oryginalny powoduje błędy w Internet Explorerze. W jego miejsce musimy stosować własnoręcznie przygotowany mathml-entities.dtd, który zawiera wyłącznie encje.

Poważniejszym mankamentem jest to, że Internet Explorer działa w trybie quirksmode (por. W. Gajda: „Quirks mode, strict mode ? dwa tryby pracy przeglądarek internetowych”, MI 1/2007, http://gajdaw.pl/varia/quirksmode-strictmode/). Informuje o tym okno dialogowe wyświetlane przez wstawkę JavaScript:

...brak dostępu...

W Firefoksie do sprawdzenia trybu pracy przeglądarki należy użyć — zamiast wstawki JavaScript — okna dialogowego Narzędzia → Informacje o stronie.

Jest to skutek dodania instrukcji:

...brak dostępu...

oraz użycia typu XHTML 1.1 plus MathML 2.0. Jeśli zrezygnujemy ze znaczeniowego MathML-a, dokument nie będzie musiał zawierać instrukcji dołączające plik mathml.xsl. Niestety nawet w takim przypadku Internet Explorer nie będzie umiał poprawnie renderować dokumentów otwieranych z serwera bez względu na to, czy użyjemy oryginalnego DTD czy zmodyfikowanego mathml-entities.dtd.

Jedną z metod zmuszenia przeglądarki IE w trybie standardów jest samodzielne osadzenie kontrolki MathPlayer. W tym przypadku wszystkie elementy MathML są porzedzone prefiksem m:, co widać na listingu 2. Strona z listingu 2 jest poprawnie wyświetlana także przez przeglądarkę Firefox, pod warunkiem, że zostanie zapisana w pliku o rozszerzeniu .xml (jeśli rozszerzeniem pliku jest .xml, to Internet Explorer nie wyświetla strony).

...brak dostępu...

Listing 2. Strona WWW, która jest wyświetlana przez IE w trybie standardów




1 2 3 4 5 6