Transcript MathML
MathML Mathematical Markup Language BURAK ZEYDAN 2006104669 MathML Nedir? • MathML ; matematik notasyonu açıklayan ve matematik notasyonun içeriğini ve yapısal özelliklerini kapsayan bir XML uygulamasıdır. • Amacı matematiksel ifadelerin internet üzerinden sunulmasına, kullanılmasına ve değiştirilebilmesine imkan sağlamaktır. MathML • Web için W3C tarafından matematiksel terimleri ifade etmek için geliştirilen bir dildir. • Son sürümü: MathML 2. MathML • Docbook-XML, RDF, XHTML ve MathML XML dilinin belli yönde özelleşmiş halleridir. XML • Genişletilebilir İşaretleme Dili (eXtensible Markup Language) hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmaya yarayan, W3C tarafından tanımlanmış bir standarttır. Bu özelliği ile veri saklamanın yanında farklı sistemler arasında veri alışverişi yapmaya yarayan bir ara format görevi de görür. • XML'in tasarımcısı, HTML'i de tasarlamış olan Tim Berners Lee'dir. Dilin düzenlenmesi de W3C'nin sorumluluğundadır. XML • Günümüzde birçok yazılım, diğer yazılımlarla veri alışverişini XML formatı üzerinden yapmaktadır. Ayrıca XML'i esas format olarak kullanan uygulamalara, veri tabanlarına rastlamak mümkündür. Örneğin Microsoft'un geliştirdiği .NET teknolojisinde kullanılan DataSet nesneleri XML formatındadır. Ayrıca XML, ofis uygulamalarının alt yapısı haline getirilmiştir • İçeriğin, doküman yapısının ve şeklin birbirinden ayrı ele alınması XML'i İçerik yönetim sistemlerinin ideal formatı haline getirmiştir. MathML • MathML ( Mathematical Markup Language), matematiksel ifade ve formülleri yazmakta kullanılan bir dildir. • Matematik dünyasındaki insanlar için oldukça kullanışlı bir aractır. Tarihçe • MathML ilk kez 1.01 versiyonu olarak Temmuz 1999’da yayınlanmıştır. • Genişletilmiş 2.0 versiyonu Şubat 2001’de yayınlanmıştır. • Şu anda kullanılan MathML ise 2.0 versiyonunun 2. sürümü olarak W3C adlı çalışma grubu tarafından hazırlanmıştır ve 2003 ekiminden beri kullanımdadır. • Yeni versiyon olan MathML 3.0 için çalışmalar devam etmektedir. Neden MathML? • Matematiksel ifadelerin sanal ortamda belli bir dökümana aktarımı zahmetli bir iştir. • Word dosyalarıyla yazılan ifadeler ve Excel ile çizilen grafikler, rapor hazırlama konularındaki değişik ayrıntılar insanları sıkıntıya sokabilmektedir. Neden MathML? • Özellikle bu tip raporların internet’e aktarılması ve üzerlerinde herhangi bir değişiklik yapılması zor bir iştir. Herhangi bir yanlışlık olduğunda raporların en baştan hazırlanmaları gerekebilir. Neden MathML? MathML Interface Mathematics Across Applications MathML’ nin Faydaları nelerdir? • MathML ile integral,türev,matrix vs. bir çok matematiksel formül ve ifade yazılabilir. • Bazı browser'lar, örneğin Netscape 7.0 MathML kodunun görüntülenmesine imkan sağlamaktadır. Yani herhangi bir MathML kodunu bir HTML içinde yazarsanız browser MathML'yi okuyup sizin istediğiniz görüntüyü yapar. Denklemleri MSWord’ de yazıp resime çevirme gibi bir işkenceden kurtulursunuz. MathML’ nin Hazırlanma Amacı MathML’ nin hazırlanmasının temelde 2 amacı vardır : • Programın öncelikli hedefi çoğu browsera uygun olarak yazılması ve her türlü ifadenin kapsanacağı bir ortam oluşturulmasıdır. • Yazılan matematiksel ifadenin ve onun anlamının kodla uyumluluğunun en üst düzeyde sağlanmasıdır. MathML Elemanları • Tüm MathML elemanları üç kategoriden birinin içinde yer alır: sunum elemanları, içerik elemanları ve arayüz elemanları. Sunum Elemanları •Sunum elmanları matematik notasyonun iki boyutlu görsel yapısını düzenlemekten sorumludur. •MathML dili yaklaşık 50 tane fonksiyonu destekleyen 30 tane sunum elemanı içerir. İçerik Elemanları • İçerik elemanları matematiksel ifadenin ne manaya geldiğini açıklar. • İçerik elemanları yaklaşık bir düzine fonksiyonu kabul eden 100 tane elaman içerir. • Bu elemanların büyük bir çoğunluğu çok çeşitli operatörlerle ve isimlendirilmiş fonksiyonlarla ilişkili boş elamanlardır. Sunum ve İçerik Elemanları <math> <mrow> <mi>E</mi> <mo>=</mo> <mrow> <mi>m</mi> <mo>⁢</mo> <msup> <mi>c</mi> <mn>2</mn> </msup> </mrow> </mrow> </math> <math> <reln> <eq/> <ci>E</ci> <apply> <times/> <ci>m</ci> <apply> <power/> <ci>c</ci> <cn>2</cn> </apply> </apply> </reln> </math> Uyumluluk • MathML dilinde yaklaşık 40 niteliğin belirtilebilmesi için 25 simge belirtilmiştir. • Bu özelliği MathML’in gösterim yapısının, TeX ya da ISO12083 gibi yapılara göre avantajlarını arttırmaktadır. Notasyon simgeleri Uyumluluk • MathML dilinde ayrıca, herhangi bir karışıklığa yer vermeyecek şekilde anlamları, yazıya yükleyen 75 adet içerik işareti bulunmaktadır. • Bunların örnekleri ise ; İçerik Simgeleri İçerik Simgeleri İçerik Simgeleri İçerik Simgeleri Uygunluk • MathML dilinin önemli özelliklerinden biri ise çoğu yayın ve browsera uygun olarak hazırlanmış olması ve daha da geliştiriliyor olmasıdır. • Örneğin MathML dili, Publicon ve SciWriter gibi önemli matematiksel ve bilimsel içerikli programların desteğini almaktadır. Uygunluk • MathML dili ayrıca, KOffice, Microsoft Office 2007 gibi ofis tabanlı programlar ile Mathematica ve Windows için Casio ClassPad 300 gibi software ürünlerine de uyum sağlamaktadır. Uygunluk • MathML dili aynı zamanda internet tabanlı dökümantasyon için de geliştirilmiş olduğundan, web browser uyumluluğu da gelişmiştir. Uygunluk • Firefox ve Camino gibi Gecko browserlarından doğrudan destek alan bu dil ayrıca Internet Explorer ve Opera browserlarına da çeşitli programlar aracılığıyla adapte edilmiştir. • Bazı forumlarda Internet Explorer ın 16. versiyonunun mathML’ yi doğrudan destekleyebileceği iddia edilmektedir. MathML • Bu dilin bir önemli özelliği de başka dillerle olan ilişkisidir. • Matematiksel ifadelerin çevirilmesi sırasında TeX gibi bazı dillerin (özellikle pdf uzantılı dosyalar için) MathML ile bağlantıları ortaya çıkar. MathML • TtM ve daha detaylı bilgi için; • http://hutchinson.belmont.ma.us/tth/mml/ Örnekler • İfadeler MathML dilinde nasıl yazılıyor? • Bunun için birkaç örnek üzerinde duralım. Örnekler Örnekler Örnekler Örnekler Örnekler • Daha fazla örnek ve bu örneklerin çözümleri için; • http://www.mathmlcentral.com/Tools/ToMat hML.jsp Kaynaklar • http://tr.wikipedia.org/wiki/MathML • http://www.w3.org/Math/ • ***http://www.godoro.com/divisions/ehil/Mecm ua/Magazines/Columns/txt/html/article_MathM L.html • http://en.wikipedia.org/wiki/MathML • Daha detaylı bilgi için; • The MathML Handbook by the author Pavi Sandhu Kaynaklar • http://www.mathmlconference.org/2000/presentation s.html MathML tutorial by Douglas Lovell Advanced Internet Publishing IBM T.J. Watson Research Center • www.dessci.com/en/support/mathtype/tutorials/math ml/default.htm • http://www.cmpe.boun.edu.tr/courses/cmpe220/com mon/doku.php?id=presentations MathML by Özdemir Küğcümen Dinlediğiniz için Teşekkürler!!