MathML
Programer(i) | W3 Konzorcijum |
---|---|
Prvo izdanje | April 1998 |
Stabilno izdanje | 3.0
/ 21. Oktobar 2010. |
Napisan u | XML |
Veb-sajt | W3C Math |
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.
Istorija
[uredi | uredi izvor]Veb standardi |
---|
Standardi |
|
Organizacije |
|
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 | uredi izvor]MathML ima dva oblika: prezentacioni[3] i sadržajni[4].
Prezentacioni MathML
[uredi | uredi izvor]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 (π
- 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><!-- ⁢ --></mo>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<mi>b</mi>
<mo><!-- ⁢ --></mo>
<mi>x</mi>
<mo>+</mo>
<mi>c</mi>
</mrow>
</math>
Sadržajni MathML
[uredi | uredi izvor]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 | uredi izvor]Uređivači
[uredi | uredi izvor]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 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 | uredi izvor]- ^ "Mathematical Markup Language (MathML) Version 2.0 (Second Edition)", W3 Consortium, 2003-10-21, [1]
- ^ "Mathematical Markup Language (MathML) Version 3.0", W3 Consortium, 2010-10-21, [2]
- ^ "Presentation Markup", W3 Consortium, 2010-10-21, [3]
- ^ "Content Markup", W3 Consortium, 2010-10-21, [4]
- ^ "MathML element reference", Mozilla Developer Network, [5] Arhivirano na sajtu Wayback Machine (7. maj 2012)
- ^ "XML Entity Definitions for Characters", W3 Consortium, 2003-04-01, [6]
- ^ "MathML Software - Editors", W3 Consortium, 2012-04-24, [7]
- ^ "MathML Software - Browsers", W3 Consortium, 2012-04-24, [8]
- ^ "MathML Software - Browser plugins, scripts and extensions", W3 Consortium, 2012-04-24, [9]