Grupa MagazynyInternetowe
Online: 1003
Mathematical Markup Language to język znacznikowy, który umożliwia osadzanie wzorów matematycznych na stronach WWW. Artykuł opisuje, w jaki sposób przygotowywać dokumenty XHTML zawierające wstawki MathML, tak by były zgodne ze standardami oraz poprawnie wyświetlane w przeglądarkach Firefox i IE.
Włodzimierz Gajda
Z powodu ograniczeń HTML-a matematycy, a także naukowcy z wielu innych dziedzin, przez wiele lat byli skazani na publikowanie formuł w postaci obrazów dołączanych do strony WWW znacznikiem <img>. Jedyną alternatywą były formaty PDF oraz PostScript. Wymienione rozwiązania pozwalają wprawdzie na tworzenie stron WWW zawierających dowolnie złożone wzory, jednak dokumenty takie są dostępne wyłącznie dla przeglądarek graficznych. Ani przeglądarki czytające treść stron WWW, ani roboty wyszukiwarek internetowych nie odczytają treści matematycznych zawartych w plikach graficznych czy PDF-ach.
Rozwiązaniem problemu dostępności treści matematycznych jest Mathematical Markup Language, czyli matematyczny język znacznikowy, w skrócie oznaczany jako MathML. Formuły zapisane w MathML-u mogą być nie tylko wyświetlane w postaci graficznej na monitorze, ale także automatycznie przetwarzane przez różnego rodzaju oprogramowanie. W ten sposób treści matematyczne opublikowane w sieci WWW będzie można katalogować i przeszukiwać podobnie jak dokumenty HTML.
W języku MathML wzory matematyczne są tworzone z licznych znaczników, np. mfrac (ułamek), msqrt (pierwiastek kwadratowy) oraz mn (liczba). Wzór "pierwiastek z dwóch przez dwa" przyjmuje w MathML-u postać:
1. <math> 2. <mfrac> 3. <msqrt> 4. <mn>2</mn> 5. </msqrt> 6. <mn>2</mn> 7. </mfrac> 8. </math>
Po wyświetleniu w przeglądarce Firefox powyższy kod MathML będzie wyglądał tak, jak na rys. 1.
Rys. 1. Wzór: pierwiastek z dwóch przez dwa
Od początku prac nad MathML-em równolegle rozwijane są dwa dialekty języka: prezentacyjny (ang. presentational markup) oraz znaczeniowy (ang. content markup). W dialekcie prezentacyjnym nacisk położono na wizualny skład wyrażeń, zaś znaczeniowy MathML ma przede wszystkim kodować zawartą we wzorze treść.
Wzór x2 + 4x + 4 = 0 w dialekcie prezentacyjnym przyjmuje postać:
1. <math> 2. <mrow> 3. <msup> 4. <mi>x</mi> 5. <mn>2</mn> 6. </msup> 7. <mo>+</mo> 8. <mrow> 9. <mn>4</mn> 10. <mo>⁢</mo> 11. <mi>x</mi> 12. </mrow> 13. <mo>+</mo> 14. <mn>4</mn> 15. </mrow> 16. <mo>=</mo> 17. <mn>0</mn> 18. </math>
Ten sam wzór zapisany w znaczeniowym MathML-u wygląda następująco:
1. <math> 2. <apply> 3. <eq/> 4. <apply> 5. <plus/> 6. <apply> 7. <power/> 8. <ci>x</ci> 9. <cn>2</cn> 10. </apply> 11. <apply> 12. <times/> 13. <cn>4</cn> 14. <ci>x</ci> 15. </apply> 16. <cn>4</cn> 17. </apply> 18. <cn>0</cn> 19. </apply> 20. </math>
Pierwszy z wzorów zawiera operatory +, ⁢ = oraz indeksację msup. Wzór zapisany w sposób znaczeniowy operuje zaś znacznikami plus, times, power oraz eq.
Oba dialekty, prezentacyjny i znaczeniowy, można łączyć. Otrzymany w ten sposób zapis składa się z dwóch fragmentów, z których jeden zawiera instrukcje do wizualnego przedstawienia wzoru, a drugi reprezentuje treść matematyczną. Można to porównać do znacznika img oraz atrybutu alt. Mieszany MathML jest zawarty w elemencie semantics. Prezentacyjna część znajduje się bezpośrednio po znaczniku <semantics>, zaś znaczeniowa w elemencie annotation-xml:
Listing zwinięty - 31 linii
Brak komentarzy
Artykuły tego autora:
Kontynuujemy nasze zestawienie najlepszych darmowych narzędzi do tworzenia stron internetowych. W tym artykule zawarliśmy programy niezbędne do publikacji multimediów, aplikacje do zarządzania treściami na stronie i testowania serwisów internetowych.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: