İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

MathML Önümüzü Açıyor

Okul yıllarında bizden bazı konularda raporlar istenirdi. Örneğin deney sonuçlarının bir raporu yazılır ve sonuçların grafiği çizilirdi. Ben raporu Word'te yazar ve grafiği Excel'de çizerdim. Word'te matematiksel denklemleri "Denklem Editor"ü ile hazırlardım. Tabi ki daha komplex raporlar ve hesaplar için Word ve Excel yeterli olamazdı. Ancak bir üniversite öğrencisi için Word ve Excel yeterli idi.

Bir gün yazdığım bir raporu intertte web sayfama koymak istedim. Ancak bir sorun vardı. Matematiksel denklemleri bir HTML içinde nasıl gösterecektim. En basit çözüm Word'teki matematiksel denklemleri resime çevirmekti. Bunun için Word belgesini HTML olarak kaydediyordum. Word HTML olarak kaydet denilince denklemleri bir resim dosyası haline getiriyordu. Bende bu resimleri web sayfama koyuyordum. Ancak formüllerde küçük bir değişiklik yapmak istediğim zaman her şeyi tekrar yapmak zorunda kalıyordum. Word'ü aç, denklem editorunu aç, değişikliği yap ve html olarak kaydet. Bir kötü özellikte kaydedilen resimleri ismi image0,image1 gibi gidiyordu. Değişiklik yaptığım denklemin resmini bulmam gerekiyordu. İşte bu yaşadığım zorlukları başkalarıda yaşamış olacak ki bir XML dili olan MathML dili yaratıldı.

MathML bir XML dili ve matematiksel formülleri yazmak için geliştirilmiş. Örneğin aşağıda ikinici dereceden bir denklem MathML örneği bulunmakta.

<math>
<reln>
	<eq/>
	<apply>
		<plus/>
		<apply>
			<power/>
			<ci>x</ci>
			<cn>2</cn>
		</apply>
		<apply>
			<times/>
			<ci>3</ci>
			<cn>x</cn>		
		</apply>
		<cn>1</cn>		
	</apply>
	<cn>0</cn>
</reln>
</math>

Bu MathML x^2+3x+1=0 demektir. MathML ile integral,türev,matrix vs. bir çok matematiksel formül ve ifade yazılabilir. Peki MathML'in yararı nedir? Birinisi bazı browser'lar MathML kodunu göstermektedirler. Yani yukarıdaki MathML kodunu bir HTML içinde yazarsanız broser MathML'yi okuyup sizin istediğiniz görüntüyü yapar. Örneğin Netscape 7.0 MathML desteği bulunmakta. Aşağıdaki gibi bir HTML yaparsanız Netscape bunu gösterir. IE içinde çeşitli plug-in ile MathML gösterilebilir hale gelir.

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus
MathML 2.0//EN"
"http://www.w3.org/Math/DTD/xhtml-math11-f.dtd">
<html>
<body>
<math xmlns="http://wwww.w3.org/1998/Math/MathML">
	Yukarıdaki MathML kodu buraya
</math>
</body>
</html>

Görüldüğü gibi denklemleri resime çevirme gibi bir işkenceden kurtulursunuz.

Yukarıda ki MathML kodunu yazmak çok zahmetli gelebilir. Ama bunun içinde editorler bulabilirsiniz. Siz bir düğmeye tıklayarak bir integral işareti eklersiniz. Sınırlarını kolayca yazarsınız ve sonuç olarak editor sizin için MathML kodunu üretir. Ancak benim gibi kod severler için bu iyi bir yöntem değil. Ben bir web sayfasını yaparken bile her zaman kod yazmışımdır. Bunun için HomeSite'ı kullanırım ve Frontpage,DreamWaever gibi programları hiç kullanmam. Bu yüzden kod yazmak bana hiç zor gelmez.

Bu uzun ifadeleri yazmak zor olabilir. Benim aklıma kendime daha kolay bir XML dili yazmak geliyor. Bu dili bir XSLT ile MathML'e çevirebilirim. Örneğin yukarıdaki 2. dereceden denklem için

<equation degree="2">
	<coefficienct>1<coefficienct>
	<coefficienct>3<coefficienct>
	<coefficienct>2<coefficienct>
</equation>

burada ilk katsayı 0. dereceden, 3 ise birinci dereceden ve 2 ikinci dereceden değişkenin katsayısı. Bu XML'i bir XSLT aracılığıyla yukarıdaki MathML denklemine çevirebilirsiniz.

MathML matematik-fizik gibi konular ile ilgili site yapacak insanların öğrenmesi gereken bir dil haline geldi. Ancak bir çok program MathML konudu sizin için üretebilir. Örnek olarak Mathematica verilebilir.

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır