MathML / XML series: An introduction....MSOR Connections Nov 2005 Vol 5 No 4 1 Peter James Rowlett Nottingham Trent University peter.rowlett@ntu.ac.uk MathML / XML series: An introduction MSOR Connections Nov 2005 Vol 5 No 4 The eXtensible Markup Language (XML) is changing the way the worldworks...The word processor used to write this piece is storing the text and style information using XML. The Firefox web browser from the Mozilla Foundation, which is battling for web browser market share with Microsoft’s Internet Explorer browser [1], uses the XML language XUL to describe its user interface. With the interface in an open format, Firefox is customisible [2]. You may have heard of the RSS feed format (although apparently more people use RSS than have heard of it [3]) or of it’s audio, and lately video-based equivalent, the Podcast. Both are XML implementations. You might use XML for satellite navigation [4] or to modify your favourite computer game [5]. Linguists, concerned that data recorded on endangered languages may become lost are using XML as a storage method that they can be “sure will be accessible indefinitely into the future” [6]. They know that by basing their data storage on a free and open standard they can ensure that the future tools will be able to access the data stored today. Some implementations that may be of particular interest to the MSOR community are: MathML, used to store mathematics in an unambiguous, machine readable format; and SVG and X3D, used to create 2D and 3D diagrams and animations in a non-proprietary format. These are just a few examples. NASA remarks: “Government, industry, and academia are all embracing XML as a technology that will assist in the sharing and reuse of information” [7]. Broadly speaking, XML is a method for describing the structure of data and storing that data. XML is free to use, platform independent, non-proprietary and built on international data encoding standards. This means users with ‘non-standard technologies’ like Linux, Firefox, a screenreader or a non- English language can access the data equally. Programs can be written to access the data from any platform, and being able to use an XML resource into the future does not depend on any company or organisation’s continued existence, as it might with a proprietary format. Using the XML implementation MathML, one arrives at a free, open, platform independent, non-proprietary format for describing mathematics notation. Your web browser has a language for describing mathematics that your computer algebra system can also speak. Mathematics stored as MathML can be unambiguously translated into other formats, such as spoken English or Mathematical Braille. A search engine can be written which searches MathML webpages for the actual mathematics used, not just for the English text likely to accompany it. While MathML is obviously the XML format of most specific relevance for the MSOR community, there are plenty of other XML implementations available and upcoming that may be of use. And XML languages are created all the time by individuals to fit a particular need for a particular piece of work. Exciting things are certainly possible with MathML and XML. How is the MSOR community taking advantage of this? This introduction is intended to mark the start of a series of articles within MSOR Connections. Upcoming articles will explore the MathML format, 2 MathML / XML series: An introduction Peter James Rowlett MSOR Connections Nov 2005 Vol 5 No 4 other XML formats and look at the way people are using these. This is where your help is needed: • Do you offer your course notes on the Web using MathML or another XML format? How do you generate this? • Do you podcast your lectures? • Have a look at the software you use. Does it use XML? How might you take advantage of this? • Have you written a program which makes use of XML? Does your teaching and learning project store data as XML? • Does your statistical package use XML for data storage? • Do you have an idea for an XML application you’d like to discuss? • Are you screaming at this page for missing an obvious application of XML? • Do you disagree with something written above? Have you tried using XML and found it unsuited to your needs? Debate is certainly encouraged! Will you share your experiences through MSOR Connections? Please contact the editors if you are able to write or contribute to an article for this series. References [1] Barker, C. Firefox market share on a rollercoaster ride [online]. In: ZDNet UK, 11 October 2005. At: http://news.zdnet.co.uk/internet/ 0,39020369,39228262,00.htm [Accessed 13 October 2005]. [2] Hamiter, E. How to create Mozilla Firefox extensions [online], 2004. At: http:// roachfiend.com/archives/2004/12/08/how-to- create-firefox-extensions/ [Accessed 14 October 2005]. [3] Burns, E. More Use RSS Than Have Heard Of It [online]. In: ClickZ Network, 11 October 2005. At: http://www.clickz.com/stats/sectors/ search_tools/article.php/3555441 [Accessed 13 October 2005]. [4] Foster, D., ed. GPX: the GPS Exchange Format [online], 2005. At: http://www.topografix.com/ gpx.asp [Accessed 13 October 2005]. [5] Callaham, J. Civilization IV Mod Details [online]. Game Cloud, 2005. At: http:// www.gamecloud.com/article.php?article_id=1614 [Accessed 13 October 2005]. [6] Webster, A. Digital race to save languages [online]. In: BBC News, 20 March 2003. At: http:// news.bbc.co.uk/1/hi/technology/2857041.stm [Accessed 13 October 2005]. [7] NASA. NASA XML Project [online], 2005. At: http://xml.nasa.gov/ [Accessed 13 October 2005]. Remember that the Maths, Stats & OR Network maintains a list of MathML resources, at: www.mathstore.ac.uk/mathml/ << /ASCII85EncodePages false /AllowTransparency false /AutoPositionEPSFiles true /AutoRotatePages /All /Binding /Left /CalGrayProfile (Dot Gain 20%) /CalRGBProfile (sRGB IEC61966-2.1) /CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2) /sRGBProfile (sRGB IEC61966-2.1) /CannotEmbedFontPolicy /Warning /CompatibilityLevel 1.4 /CompressObjects /Tags /CompressPages true /ConvertImagesToIndexed true /PassThroughJPEGImages true /CreateJDFFile false /CreateJobTicket false /DefaultRenderingIntent /Default /DetectBlends true /ColorConversionStrategy /LeaveColorUnchanged /DoThumbnails false /EmbedAllFonts true /EmbedJobOptions true /DSCReportingLevel 0 /EmitDSCWarnings false /EndPage -1 /ImageMemory 1048576 /LockDistillerParams false /MaxSubsetPct 100 /Optimize true /OPM 1 /ParseDSCComments true /ParseDSCCommentsForDocInfo true /PreserveCopyPage true /PreserveEPSInfo true /PreserveHalftoneInfo false /PreserveOPIComments false /PreserveOverprintSettings true /StartPage 1 /SubsetFonts true /TransferFunctionInfo /Apply /UCRandBGInfo /Preserve /UsePrologue false /ColorSettingsFile () /AlwaysEmbed [ true ] /NeverEmbed [ true ] /AntiAliasColorImages false /DownsampleColorImages true /ColorImageDownsampleType /Bicubic /ColorImageResolution 300 /ColorImageDepth -1 /ColorImageDownsampleThreshold 1.50000 /EncodeColorImages true /ColorImageFilter /DCTEncode /AutoFilterColorImages true /ColorImageAutoFilterStrategy /JPEG /ColorACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /ColorImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000ColorACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000ColorImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasGrayImages false /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /GrayImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000GrayACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000GrayImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasMonoImages false /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict << /K -1 >> /AllowPSXObjects false /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputCondition () /PDFXRegistryName (http://www.color.org) /PDFXTrapped /Unknown /Description << /FRA /ENU (Use these settings to create PDF documents with higher image resolution for improved printing quality. The PDF documents can be opened with Acrobat and Reader 5.0 and later.) /JPN /DEU /PTB /DAN /NLD /ESP /SUO /ITA /NOR /SVE >> >> setdistillerparams << /HWResolution [2400 2400] /PageSize [612.000 792.000] >> setpagedevice