1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
%D \module
%D [ file=xtag-pml,
%D version=2001.09.04,
%D title=\CONTEXT\ XML Support,
%D subtitle=Physics ML,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
\writestatus{loading}{Context XML Macros (phys ml)}
%D This filter runs on top of the mathml and units modules.
\useXMLfilter[mml,mmp,mmc,unt]
\defineXMLargument [phys] \doXMLphys
\defineXMLargument [iphys] \doXMLiphys
\defineXMLargument [dphys] \doXMLdphys
\unprotect
\unexpanded\def\doXMLphys {\ifhmode\@EA\doXMLiphys\else\@EA\doXMLdphys\fi}
\unexpanded\def\doXMLiphys{\XMLremapdata[mml]{$\ignorespaces}{\unskip$}}
\unexpanded\def\doXMLdphys{\XMLremapdata[mml]{\dostartformula{}}{\dostopformula}}
\protect
\doifnotmode{demo}{\endinput}
\usemodule[units]
\starttext
\startXMLdata
<phys>
<apply> <times/>
<cn> 10 </cn>
<ci><unit><Milli/><Sec/><Per/><Square/><Kilo/><Meter/></unit> </ci>
</apply>
</phys>
\stopXMLdata
\startXMLdata
<phys>
<apply> <divide/>
<cn> 10 </cn>
<ci> <unit><Unit/><Milli/><Sec/><Per/><Square/><Kilo/><Meter/></unit> </ci>
</apply>
</phys>
\stopXMLdata
\startXMLdata
<phys>
<apply> <times/>
<cn> 10 </cn>
<ci> <unit> <Milli/> <Sec/> <Per/> <Square/> <Kilo/> <Meter/> </unit> </ci>
</apply>
</phys>
\stopXMLdata
\startXMLdata
<phys>
<apply> <times/>
<cn> 10 </cn>
<ci> <unit><Milli/><Sec/><Per/><Square/><Kilo/><Meter/></unit> </ci>
</apply>
</phys>
\stopXMLdata
\startXMLdata
<phys>
<apply> <times/>
<cn> 10 </cn>
<ci> <unit> <Milli/> <Sec/> <Per/> <Square/> <Kilo/> <Meter/> </unit> </ci>
</apply>
</phys>
\stopXMLdata
\stoptext
|