MathML, skraćeno od Mathematical Markup Language, predstavlja jezik baziran na XMLu kojem je namena strukturno i sadržajno opisivanje matematičkih beleški. Osnovna ideja iza ovog jezika je da se na jednostavan i smislen način omogući umetanje matematičkih izraza u Veb stranice.

MathML
Programer(i)W3 Konzorcijum
Prvo izdanjeApril 1998
Stabilno izdanje
3.0 / 21. Oktobar 2010.
Napisan uXML
Veb-sajtW3C Math

Istorija uredi

MathML 1 objaljen je kao preporuka W3 Konzorcijuma u aprilu 1998. godine kao prvi jezik baziran na XMLu koji je preporučen od strane konzorcijuma. Verzija 1.01 formata objavljena je u julu 1999, a verzija 2.0 pojavila se u februaru 2001. U oktobru 2003. druga revizija verzije 2.0[1] je objavljena kao konačna. Radovi na verziji 3.0 započeti su u junu 2006. godine, dok je ona objavljena u 21. oktobra 2010.[2] kao kompatibilna sa verzijom 2.

Prezentacija i semantika uredi

MathML ima dva oblika: prezentacioni[3] i sadržajni[4].

Prezentacioni MathML uredi

Prezentacioni MathML se fokusira na prezentaciju matematičkih zapisa i ima oko 30 elemenata sa 50 atributa. Svi elementi počinju slovom m. Postoje tzv. "žetonski" elementi, <mi>x</mi> (identifikatori), <mo>+</mo> (operatori), <mn>2</mn> (brojevi). Žetonski elementi se kombinuju sa šablonskim elementima za dobijanje jednačina. Neki šablonski elementi su <mrow> (red), <msup> (superskript) i <mfrac (razlomak)[5]. Osim elemenata postoji i veliki broj entiteta koji označavaju slova (&pi; - malo slovo Pi), simbole ( - strelica nadesno), operacije i nevidljive karaktere, kao što je koji predstavlja operaciju množenja.[6]

Da bi MathML dokument bio ispravan, on mora zadovoljiti specifikaciju koja nalaže da mora imati XML deklaraciju:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
         "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">

Jednostavan izraz oblika   izgledao bi ovako:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN"
         "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">
<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <mi>a</mi>
        <mo><!-- &InvisibleTimes; --></mo>
        <msup>
            <mi>x</mi>
            <mn>2</mn>
        </msup>
        <mo>+</mo>
        <mi>b</mi>
        <mo><!-- &InvisibleTimes; --></mo>
        <mi>x</mi>
        <mo>+</mo>
        <mi>c</mi>
    </mrow>
</math>

Sadržajni MathML uredi

Sadržajni MathML se fokusira na semantičko značenje izraza, dok je na korisniku kako će ta jednačina izgledati. Glavni element je <apply> koji predstavlja funkciju ili operator, zavisno od toga koji je prvi element koji mu pripada.

Jednostavan izraz oblika   izgledao bi ovako:

<math>
    <apply>
        <plus/>
        <apply>
            <times/>
            <ci>a</ci>
            <apply>
                <power/>
                <ci>x</ci>
                <cn>2</cn>
            </apply>
        </apply>
        <apply>
            <times/>
            <ci>b</ci>
            <ci>x</ci>
        </apply>
        <ci>c</ci>
    </apply>
</math>

Implementacije i podrška uredi

Uređivači uredi

Većina računarskih uređivača jednačina podržava ovaj standard; kompletna lista dostupna je na sajtu W3C.[7] Dobar deo kancelarijskih paketa poseduje podršku za ovaj standard, na primer Microsoft Office, OpenOffice.org i Libreofis.

Veb čitači uredi

Veb čitači bazirani na Gecko projektu, kao što je Fajerfoks, podržavaju MathML "iz kutije". Opera podržava MathML od verzije 9.5. Čitači koji su bazirani na WebKit projektu poseduju podršku, ali je ona dostupna samo u Safariju od verzije 5.1; Gugl kroum, iako je baziran na ovom projektu, ne poseduje podršku za MathML. Internet Eksplorer ne poseduje nikakvu podršku ali se ona može dodati u verzijama 7, 8 i 9 pomoću dodataka. Detaljnija lista postoji na sajtu W3C.[8][9]

Reference uredi

  1. ^ "Mathematical Markup Language (MathML) Version 2.0 (Second Edition)", W3 Consortium, 2003-10-21, [1]
  2. ^ "Mathematical Markup Language (MathML) Version 3.0", W3 Consortium, 2010-10-21, [2]
  3. ^ "Presentation Markup", W3 Consortium, 2010-10-21, [3]
  4. ^ "Content Markup", W3 Consortium, 2010-10-21, [4]
  5. ^ "MathML element reference", Mozilla Developer Network, [5] Arhivirano na sajtu Wayback Machine (7. maj 2012)
  6. ^ "XML Entity Definitions for Characters", W3 Consortium, 2003-04-01, [6]
  7. ^ "MathML Software - Editors", W3 Consortium, 2012-04-24, [7]
  8. ^ "MathML Software - Browsers", W3 Consortium, 2012-04-24, [8]
  9. ^ "MathML Software - Browser plugins, scripts and extensions", W3 Consortium, 2012-04-24, [9]