home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 January / PCWorld_2004-01_cd.bin / akce / openoffice / f_0335 / math.dtd
Text File  |  2001-07-30  |  35KB  |  958 lines

  1. <!-- Copyright 1997-1999  World Wide Web Consortium,    -->
  2. <!-- (Massachusetts Institute of Technology,            -->
  3. <!--  Institut National de Recherche en Informatique et en Automatique, -->
  4. <!--  Keio University). All Rights Reserved.            -->
  5. <!-- http://www.w3.org/Consortium/Legal/                -->
  6.  
  7. <!-- Modified DTD for MathML 1.01                       -->
  8. <!--                                                    -->
  9. <!-- Original DTD:                                      -->
  10. <!--    http://www.w3.org/1999/07/REC-MathML-19990707/mmlents.zip  -->
  11. <!--                                                    -->
  12. <!-- modified 20. June 2001:                            -->
  13. <!-- 1) added "math:" namespace prefix                  -->
  14. <!-- 2) removed entity include files                    -->
  15. <!-- 3) added copyright notice above to comply with     -->
  16. <!--    W3C IPR Software Notice                         -->
  17. <!-- 4) added this comment block                        -->
  18. <!-- Modifications are intended to ease validation      -->
  19. <!-- of MathML files written by StarMath 6.0            -->
  20.  
  21.  
  22. <!-- Content model for content and presentation        -->
  23. <!--  and browser interface tags in MathML              -->
  24. <!-- initial draft 9.May.1997          syntax = XML     -->
  25. <!-- author = s.buswell sb@stilo.demon.co.uk            -->
  26. <!--                                                    -->
  27. <!-- revised 14.May.1997 by Robert Miner                -->
  28. <!-- revised 29.June.1997 and 2.July.1997 by s.buswell  -->
  29. <!--                                                    -->
  30. <!-- revised 15.December.1997  by s.buswell             -->
  31. <!-- revised 8.February.1998   by s.buswell             -->
  32. <!-- revised 4.april.1998      by s.buswell             -->
  33. <!-- 21.February.1999 entities and small revisions by d.carlisle    -->
  34. <!--                                                    -->
  35. <!-- W3C Recommendation      7 April 1998                               -->
  36. <!-- *************************************************  -->
  37.  
  38. <!-- general attribute definitions for class & style & id & other -->
  39. <!-- : attributes shared by all mathml elements        -->
  40.  
  41. <!ENTITY % att-globalatts      'math:class CDATA #IMPLIED
  42.                                  math:style CDATA #IMPLIED
  43.                                  math:id    ID    #IMPLIED
  44.                                  math:other CDATA #IMPLIED'  >
  45.  
  46. <!-- *************************************************  -->
  47. <!-- Presentation element set                           -->
  48.  
  49. <!-- presentation attribute definitions -->
  50.  
  51. <!ENTITY % att-fontsize        'math:fontsize CDATA #IMPLIED'             >
  52. <!ENTITY % att-fontweight      'math:fontweight (normal | bold) #IMPLIED'  >
  53. <!ENTITY % att-fontstyle       'math:fontstyle (normal | italic) #IMPLIED' >
  54. <!ENTITY % att-fontfamily      'math:fontfamily CDATA   #IMPLIED'         >
  55. <!ENTITY % att-color           'math:color CDATA   #IMPLIED'              >
  56.  
  57. <!ENTITY % att-fontinfo      '%att-fontsize;
  58.                              %att-fontweight;
  59.                              %att-fontstyle;
  60.                              %att-fontfamily;
  61.                              %att-color;'  >
  62.  
  63. <!ENTITY % att-form        'math:form (prefix | infix | postfix) #IMPLIED' >
  64. <!ENTITY % att-fence       'math:fence (true | false ) #IMPLIED'    >
  65. <!ENTITY % att-separator   'math:separator (true | false ) #IMPLIED'    >
  66. <!ENTITY % att-lspace      'math:lspace CDATA  #IMPLIED'       >
  67. <!ENTITY % att-rspace      'math:rspace CDATA  #IMPLIED'       >
  68. <!ENTITY % att-stretchy    'math:stretchy (true | false ) #IMPLIED'     >
  69. <!ENTITY % att-symmetric   'math:symmetric (true | false ) #IMPLIED'    >
  70. <!ENTITY % att-maxsize     'math:maxsize CDATA #IMPLIED'       >
  71. <!ENTITY % att-minsize     'math:minsize CDATA #IMPLIED'       >
  72. <!ENTITY % att-largeop           'math:largeop (true | false ) #IMPLIED' >
  73. <!ENTITY % att-movablelimits     'math:movablelimits (true | false )
  74. #IMPLIED' >
  75. <!ENTITY % att-accent               'math:accent (true | false)  #IMPLIED'>
  76.  
  77. <!ENTITY % att-opinfo '%att-form;
  78.                         %att-fence;
  79.                         %att-separator;
  80.                         %att-lspace;
  81.                         %att-rspace;
  82.                         %att-stretchy;
  83.                         %att-symmetric;
  84.                         %att-maxsize;
  85.                         %att-minsize;
  86.                         %att-largeop;
  87.                         %att-movablelimits;
  88.                         %att-accent;'         >
  89.  
  90. <!ENTITY % att-width             'math:width CDATA #IMPLIED'   >
  91. <!ENTITY % att-height            'math:height CDATA #IMPLIED' >
  92. <!ENTITY % att-depth             'math:depth CDATA #IMPLIED'   >
  93.  
  94. <!ENTITY % att-sizeinfo          '%att-width;
  95.                                   %att-height;
  96.                                   %att-depth;'          >
  97.  
  98. <!ENTITY % att-lquote              'math:lquote CDATA #IMPLIED'   >
  99. <!ENTITY % att-rquote              'math:rquote CDATA #IMPLIED'   >
  100.  
  101. <!ENTITY % att-linethickness        'math:linethickness CDATA #IMPLIED' >
  102.  
  103. <!ENTITY % att-scriptlevel          'math:scriptlevel CDATA #IMPLIED'>
  104. <!ENTITY % att-displaystyle         'math:displaystyle (true | false)
  105. #IMPLIED'>
  106. <!ENTITY % att-scriptsizemultiplier 'math:scriptsizemultiplier CDATA
  107. #IMPLIED'  >
  108. <!ENTITY % att-scriptminsize        'math:scriptminsize CDATA #IMPLIED'>
  109. <!ENTITY % att-background           'math:background CDATA #IMPLIED' >
  110.  
  111. <!ENTITY % att-open                 'math:open CDATA #IMPLIED' >
  112. <!ENTITY % att-close                'math:close CDATA #IMPLIED' >
  113. <!ENTITY % att-separators           'math:separators CDATA #IMPLIED' >
  114.  
  115. <!ENTITY % att-subscriptshift       'math:subscriptshift CDATA #IMPLIED'>
  116. <!ENTITY % att-superscriptshift     'math:superscriptshift CDATA #IMPLIED'    >
  117.  
  118. <!ENTITY % att-accentunder          'math:accentunder (true | false)
  119. #IMPLIED'>
  120.  
  121. <!ENTITY % att-align                'math:align CDATA #IMPLIED'           >
  122. <!ENTITY % att-rowalign             'math:rowalign CDATA #IMPLIED'    >
  123. <!ENTITY % att-columnalign          'math:columnalign CDATA #IMPLIED'   >
  124. <!ENTITY % att-groupalign           'math:groupalign CDATA #IMPLIED'    >
  125. <!ENTITY % att-alignmentscope       'math:alignmentscope CDATA #IMPLIED'  >
  126.  
  127. <!ENTITY % att-rowspacing           'math:rowspacing CDATA #IMPLIED'      >
  128. <!ENTITY % att-columnspacing        'math:columnspacing CDATA #IMPLIED'   >
  129. <!ENTITY % att-rowlines             'math:rowlines CDATA #IMPLIED'           >
  130. <!ENTITY % att-columnlines          'math:columnlines CDATA #IMPLIED'         >
  131. <!ENTITY % att-frame                'math:frame (none | solid | dashed)
  132. #IMPLIED'  >
  133. <!ENTITY % att-framespacing         'math:framespacing CDATA #IMPLIED'       >
  134. <!ENTITY % att-equalrows            'math:equalrows CDATA #IMPLIED'         >
  135. <!ENTITY % att-equalcolumns         'math:equalcolumns CDATA #IMPLIED'     >
  136.  
  137. <!ENTITY % att-tableinfo           '%att-align;
  138.                                    %att-rowalign;
  139.                                    %att-columnalign;
  140.                                    %att-groupalign;
  141.                                    %att-alignmentscope;
  142.                                    %att-rowspacing;
  143.                                    %att-columnspacing;
  144.                                    %att-rowlines;
  145.                                    %att-columnlines;
  146.                                    %att-frame;
  147.                                    %att-framespacing;
  148.                                    %att-equalrows;
  149.                                    %att-equalcolumns;
  150.                                    %att-displaystyle;'        >
  151.  
  152. <!ENTITY % att-rowspan              'math:rowspan CDATA #IMPLIED'         >
  153. <!ENTITY % att-columnspan           'math:columnspan CDATA #IMPLIED'      >
  154.  
  155. <!ENTITY % att-edge                  'math:edge (left | right)  #IMPLIED ' >
  156.  
  157. <!ENTITY % att-actiontype            'math:actiontype CDATA #IMPLIED' >
  158. <!ENTITY % att-selection             'math:selection CDATA #IMPLIED ' >
  159.  
  160. <!-- presentation token schemata with content-->
  161.  
  162. <!ENTITY % ptoken "math:mi | math:mn | math:mo | math:mtext | math:ms" >
  163.  
  164. <!ATTLIST math:mi        %att-fontinfo;
  165.                     %att-globalatts;    >
  166.  
  167. <!ATTLIST math:mn        %att-fontinfo;
  168.                     %att-globalatts;    >
  169.  
  170. <!ATTLIST math:mo        %att-fontinfo;
  171.                     %att-opinfo;
  172.                     %att-globalatts;     >
  173.  
  174. <!ATTLIST math:mtext     %att-fontinfo;
  175.                     %att-globalatts;     >
  176.  
  177. <!ATTLIST math:ms        %att-fontinfo;
  178.                     %att-lquote;
  179.                     %att-rquote;
  180.                     %att-globalatts;          >
  181.  
  182. <!-- empty presentation token schemata -->
  183.  
  184. <!ENTITY % petoken  "math:mspace" >
  185. <!ELEMENT math:mspace     EMPTY  >
  186.  
  187. <!ATTLIST math:mspace    %att-sizeinfo;
  188.                     %att-globalatts;       >
  189.  
  190. <!-- presentation general layout schemata -->
  191.  
  192. <!ENTITY % pgenschema "math:mrow|math:mfrac|math:msqrt|math:mroot|
  193.                     math:mstyle|math:merror|math:mpadded| math:mphantom|math:mfenced" >
  194.  
  195. <!ATTLIST math:mrow      %att-globalatts;   >
  196.  
  197. <!ATTLIST math:mfrac     %att-linethickness;
  198.                     %att-globalatts; >
  199.  
  200. <!ATTLIST math:msqrt     %att-globalatts;   >
  201.  
  202. <!ATTLIST math:mroot     %att-globalatts;   >
  203.  
  204. <!ATTLIST math:mstyle    %att-fontinfo;
  205.                     %att-opinfo;
  206.                     %att-lquote;
  207.                     %att-rquote;
  208.                     %att-linethickness;
  209.                     %att-scriptlevel;
  210.                     %att-scriptsizemultiplier;
  211.                     %att-scriptminsize;
  212.                                         %att-background;
  213.                                         %att-open;
  214.                                         %att-close;
  215.                                         %att-separators;
  216.                     %att-subscriptshift;
  217.                     %att-superscriptshift;
  218.                     %att-accentunder;
  219.                     %att-tableinfo;
  220.                     %att-rowspan;
  221.                     %att-columnspan;
  222.                                         %att-edge;
  223.                                         %att-actiontype;
  224.                                         %att-selection;
  225.                     %att-globalatts;          >
  226.  
  227. <!ATTLIST math:merror    %att-globalatts;   >
  228.  
  229. <!ATTLIST math:mpadded   %att-sizeinfo;
  230.                     %att-lspace;
  231.                     %att-globalatts;     >
  232.  
  233. <!ATTLIST math:mphantom  %att-globalatts;     >
  234.  
  235. <!ATTLIST math:mfenced   %att-open;
  236.                     %att-close;
  237.                     %att-separators;
  238.                     %att-globalatts;     >
  239.  
  240. <!-- presentation  layout schemata : scripts and limits -->
  241.  
  242. <!ENTITY % pscrschema  "math:msub|math:msup|math:msubsup|
  243.                     math:munder|math:mover|math:munderover|math:mmultiscripts" >
  244.  
  245. <!ATTLIST math:msub      %att-subscriptshift;
  246.                     %att-globalatts;     >
  247.  
  248. <!ATTLIST math:msup      %att-superscriptshift;
  249.                     %att-globalatts;          >
  250.  
  251. <!ATTLIST math:msubsup   %att-subscriptshift;
  252.                     %att-superscriptshift;
  253.                     %att-globalatts;          >
  254.  
  255. <!ATTLIST math:munder    %att-accentunder;
  256.                     %att-globalatts;          >
  257.  
  258. <!ATTLIST math:mover     %att-accent;
  259.                     %att-globalatts;           >
  260.  
  261. <!ATTLIST math:munderover %att-accent;
  262.                      %att-accentunder;
  263.                      %att-globalatts;      >
  264.  
  265. <!ATTLIST math:mmultiscripts
  266.                     %att-subscriptshift;
  267.                     %att-superscriptshift;
  268.                     %att-globalatts;          >
  269.  
  270. <!-- presentation layout schemata: script empty elements -->
  271.  
  272. <!ENTITY % pscreschema "math:mprescripts|math:none" >
  273.  
  274. <!ELEMENT math:mprescripts    EMPTY          >
  275. <!ATTLIST math:mprescripts   %att-globalatts;      >
  276.  
  277. <!ELEMENT math:none          EMPTY          >
  278. <!ATTLIST math:none          %att-globalatts;      >
  279.  
  280. <!-- presentation layout schemata: tables -->
  281.  
  282. <!ENTITY % ptabschema "math:mtable|math:mtr|math:mtd" >
  283.  
  284. <!ATTLIST math:mtable    %att-tableinfo;
  285.                     %att-globalatts;      >
  286.  
  287. <!ATTLIST math:mtr       %att-rowalign;
  288.                     %att-columnalign;
  289.                     %att-groupalign;
  290.                     %att-globalatts; >
  291.  
  292. <!ATTLIST math:mtd       %att-rowalign;
  293.                     %att-columnalign;
  294.                     %att-groupalign;
  295.                     %att-rowspan;
  296.                     %att-columnspan;
  297.                     %att-globalatts;   >
  298.  
  299. <!ENTITY % plschema  "%pgenschema;|%pscrschema;|%ptabschema;" >
  300.  
  301. <!-- empty presentation layout schemata -->
  302.  
  303. <!ENTITY % peschema "math:maligngroup | math:malignmark" >
  304.  
  305. <!ELEMENT  math:malignmark  EMPTY          >
  306.  
  307. <!ATTLIST math:malignmark    %att-edge;
  308.                         %att-globalatts;      >
  309.  
  310. <!ELEMENT math:maligngroup    EMPTY          >
  311. <!ATTLIST math:maligngroup   %att-groupalign;
  312.                         %att-globalatts;      >
  313.  
  314. <!-- presentation action schemata -->
  315.  
  316. <!ENTITY % pactions "math:maction" >
  317. <!ATTLIST math:maction   %att-actiontype;
  318.                     %att-selection;
  319.                     %att-globalatts;     >
  320.  
  321. <!-- Presentation entity for substitution into content tag constructs -->
  322. <!-- excludes elements which are not valid as expressions             -->
  323.  
  324. <!ENTITY % PresInCont    "%ptoken; | %petoken; |
  325.                           %plschema; | %peschema; | %pactions;">
  326.  
  327. <!-- Presentation entity - all presentation constructs -->
  328.  
  329. <!ENTITY % Presentation  "%ptoken; | %petoken; | %pscreschema; |
  330.                           %plschema; | %peschema; | %pactions;">
  331.  
  332. <!-- *************************************************  -->
  333. <!-- Content element set                                -->
  334. <!-- attribute definitions                              -->
  335.  
  336. <!ENTITY % att-base              'math:base CDATA "10"'           >
  337. <!ENTITY % att-closure           'math:closure CDATA "closed"'    >
  338. <!ENTITY % att-definition        'math:definitionURL CDATA ""'    >
  339. <!ENTITY % att-encoding          'math:encoding CDATA ""'         >
  340. <!ENTITY % att-nargs             'math:nargs CDATA "1"'           >
  341. <!ENTITY % att-occurence         'math:occurence CDATA "function-model"'  >
  342. <!ENTITY % att-order             'math:order CDATA "numeric"'         >
  343. <!ENTITY % att-scope             'math:scope CDATA "local"'         >
  344. <!ENTITY % att-type              'math:type CDATA #IMPLIED'         >
  345.  
  346. <!-- content leaf token elements -->
  347.  
  348. <!ENTITY % ctoken "math:ci | math:cn" >
  349.  
  350. <!ATTLIST math:ci   %att-type;
  351.                %att-globalatts;     >
  352.  
  353. <!ATTLIST math:cn   %att-type;
  354.                %att-base;
  355.                %att-globalatts;     >
  356.  
  357. <!-- content elements - specials -->
  358.  
  359. <!ENTITY % cspecial "math:apply | math:reln | math:lambda" >
  360.  
  361. <!ATTLIST math:apply   %att-globalatts;     >
  362.  
  363. <!ATTLIST math:reln    %att-globalatts;     >
  364.  
  365. <!ATTLIST math:lambda  %att-globalatts;     >
  366.  
  367. <!-- content elements - others -->
  368.  
  369. <!ENTITY % cother "math:condition | math:declare | math:sep" >
  370.  
  371. <!ATTLIST math:condition       %att-globalatts;     >
  372.  
  373. <!ATTLIST math:declare         %att-type;
  374.                           %att-scope;
  375.                           %att-nargs;
  376.                           %att-occurence;
  377.                           %att-definition;
  378.                           %att-globalatts;     >
  379.  
  380. <!ELEMENT math:sep       EMPTY >
  381. <!ATTLIST math:sep       %att-globalatts;     >
  382.  
  383. <!-- content elements - semantic mapping -->
  384.  
  385. <!ENTITY % csemantics "math:semantics | math:annotation | math:annotation-xml" >
  386.  
  387. <!ATTLIST math:semantics         %att-definition;
  388.                             %att-globalatts;     >
  389.  
  390. <!ATTLIST math:annotation        %att-encoding;
  391.                             %att-globalatts;     >
  392.  
  393. <!ATTLIST math:annotation-xml    %att-encoding;
  394.                             %att-globalatts;     >
  395.  
  396. <!-- content elements - constructors -->
  397.  
  398. <!ENTITY % cconstructor "math:interval | math:list | math:matrix | math:matrixrow | math:set |
  399. math:vector" >
  400.  
  401. <!ATTLIST math:interval     %att-closure;
  402.                        %att-globalatts;     >
  403.  
  404. <!ATTLIST math:set          %att-globalatts;     >
  405.  
  406. <!ATTLIST math:list         %att-order;
  407.                        %att-globalatts;     >
  408.  
  409. <!ATTLIST math:vector       %att-globalatts;     >
  410.  
  411. <!ATTLIST math:matrix       %att-globalatts;     >
  412.  
  413. <!ATTLIST math:matrixrow    %att-globalatts;     >
  414.  
  415. <!-- content elements - operators -->
  416.  
  417. <!ENTITY % cfuncop1ary "math:inverse | math:ident " >
  418.  
  419. <!ELEMENT math:inverse          EMPTY       >
  420. <!ATTLIST math:inverse     %att-definition;
  421.                       %att-globalatts;     >
  422.  
  423. <!ENTITY % cfuncopnary "math:fn |  math:compose" >
  424.  
  425. <!ATTLIST math:fn     %att-definition;
  426.                  %att-globalatts;     >
  427.  
  428. <!ELEMENT math:ident       EMPTY       >
  429. <!ATTLIST math:ident       %att-definition;
  430.                       %att-globalatts;     >
  431.  
  432. <!ELEMENT math:compose     EMPTY       >
  433. <!ATTLIST math:compose     %att-definition;
  434.                       %att-globalatts;     >
  435.  
  436. <!ENTITY % carithop1ary "math:abs | math:conjugate | math:exp | math:factorial" >
  437.  
  438. <!ELEMENT math:exp         EMPTY       >
  439. <!ATTLIST math:exp         %att-definition;
  440.                       %att-globalatts;     >
  441.  
  442. <!ELEMENT math:abs         EMPTY       >
  443. <!ATTLIST math:abs         %att-definition;
  444.                       %att-globalatts;     >
  445.  
  446. <!ELEMENT math:conjugate   EMPTY       >
  447. <!ATTLIST math:conjugate   %att-definition;
  448.                       %att-globalatts;     >
  449.  
  450. <!ELEMENT math:factorial   EMPTY       >
  451. <!ATTLIST math:factorial   %att-definition;
  452.                       %att-globalatts;     >
  453.  
  454. <!ENTITY % carithop1or2ary "math:minus" >
  455.  
  456. <!ELEMENT math:minus       EMPTY       >
  457. <!ATTLIST math:minus       %att-definition;
  458.                       %att-globalatts;     >
  459.  
  460. <!ENTITY % carithop2ary "math:quotient | math:divide | math:power | math:rem" >
  461.  
  462. <!ELEMENT math:quotient       EMPTY       >
  463. <!ATTLIST math:quotient       %att-definition;
  464.                          %att-globalatts;     >
  465.  
  466. <!ELEMENT math:divide       EMPTY       >
  467. <!ATTLIST math:divide       %att-definition;
  468.                        %att-globalatts;     >
  469.  
  470. <!ELEMENT math:power          EMPTY       >
  471. <!ATTLIST math:power       %att-definition;
  472.                       %att-globalatts;     >
  473.  
  474. <!ELEMENT math:rem          EMPTY       >
  475. <!ATTLIST math:rem        %att-definition;
  476.                      %att-globalatts;     >
  477.  
  478. <!ENTITY % carithopnary "math:plus | math:times | math:max | math:min | math:gcd" >
  479.  
  480. <!ELEMENT math:plus          EMPTY       >
  481. <!ATTLIST math:plus        %att-definition;
  482.                       %att-globalatts;     >
  483.  
  484. <!ELEMENT math:max          EMPTY       >
  485. <!ATTLIST math:max         %att-definition;
  486.                       %att-globalatts;     >
  487.  
  488. <!ELEMENT math:min          EMPTY       >
  489. <!ATTLIST math:min         %att-definition;
  490.                       %att-globalatts;     >
  491.  
  492. <!ELEMENT math:times          EMPTY       >
  493. <!ATTLIST math:times     %att-definition;
  494.                     %att-globalatts;     >
  495.  
  496. <!ELEMENT math:gcd          EMPTY       >
  497. <!ATTLIST math:gcd     %att-definition;
  498.                   %att-globalatts;     >
  499.  
  500. <!ENTITY % carithoproot "math:root" >
  501.  
  502. <!ELEMENT math:root          EMPTY       >
  503. <!ATTLIST math:root     %att-definition;
  504.                    %att-globalatts;     >
  505.  
  506. <!ENTITY % clogicopquant "math:exists | math:forall" >
  507.  
  508. <!ELEMENT math:exists          EMPTY       >
  509. <!ATTLIST math:exists     %att-definition;
  510.                       %att-globalatts;     >
  511.  
  512. <!ELEMENT math:forall          EMPTY       >
  513. <!ATTLIST math:forall     %att-definition;
  514.                       %att-globalatts;     >
  515.  
  516. <!ENTITY % clogicopnary "math:and | math:or | math:xor" >
  517.  
  518. <!ELEMENT math:and          EMPTY       >
  519. <!ATTLIST math:and     %att-definition;
  520.                       %att-globalatts;     >
  521.  
  522. <!ELEMENT math:or          EMPTY       >
  523. <!ATTLIST math:or     %att-definition;
  524.                       %att-globalatts;     >
  525.  
  526. <!ELEMENT math:xor          EMPTY       >
  527. <!ATTLIST math:xor     %att-definition;
  528.                       %att-globalatts;     >
  529.  
  530. <!ENTITY % clogicop1ary "math:not" >
  531.  
  532. <!ELEMENT math:not          EMPTY       >
  533. <!ATTLIST math:not     %att-definition;
  534.                       %att-globalatts;     >
  535.  
  536. <!ENTITY % clogicop2ary "math:implies" >
  537.  
  538. <!ELEMENT math:implies          EMPTY       >
  539. <!ATTLIST math:implies     %att-definition;
  540.                       %att-globalatts;     >
  541.  
  542. <!ENTITY % ccalcop "math:log | math:int | math:diff | math:partialdiff" >
  543.  
  544. <!ELEMENT math:log          EMPTY       >
  545. <!ATTLIST math:log     %att-definition;
  546.                       %att-globalatts;     >
  547.  
  548. <!ELEMENT math:int          EMPTY       >
  549. <!ATTLIST math:int     %att-definition;
  550.                       %att-globalatts;     >
  551.  
  552. <!ELEMENT math:diff          EMPTY       >
  553. <!ATTLIST math:diff     %att-definition;
  554.                       %att-globalatts;     >
  555.  
  556. <!ELEMENT math:partialdiff          EMPTY       >
  557. <!ATTLIST math:partialdiff     %att-definition;
  558.                       %att-globalatts;     >
  559.  
  560. <!ENTITY % ccalcop1ary "math:ln" >
  561.  
  562. <!ELEMENT math:ln          EMPTY       >
  563. <!ATTLIST math:ln     %att-definition;
  564.                       %att-globalatts;     >
  565.  
  566. <!ENTITY % csetop2ary "math:setdiff" >
  567.  
  568. <!ELEMENT math:setdiff          EMPTY       >
  569. <!ATTLIST math:setdiff     %att-definition;
  570.                       %att-globalatts;     >
  571.  
  572. <!ENTITY % csetopnary "math:union | math:intersect" >
  573.  
  574. <!ELEMENT math:union          EMPTY       >
  575. <!ATTLIST math:union     %att-definition;
  576.                       %att-globalatts;     >
  577.  
  578. <!ELEMENT math:intersect          EMPTY       >
  579. <!ATTLIST math:intersect     %att-definition;
  580.                       %att-globalatts;     >
  581.  
  582. <!ENTITY % cseqop "math:sum | math:product | math:limit" >
  583.  
  584. <!ELEMENT math:sum          EMPTY       >
  585. <!ATTLIST math:sum     %att-definition;
  586.                       %att-globalatts;     >
  587.  
  588. <!ELEMENT math:product          EMPTY       >
  589. <!ATTLIST math:product     %att-definition;
  590.                       %att-globalatts;     >
  591.  
  592. <!ELEMENT math:limit          EMPTY       >
  593. <!ATTLIST math:limit     %att-definition;
  594.                       %att-globalatts;     >
  595.  
  596. <!ENTITY % ctrigop "math:sin | math:cos | math:tan | math:sec | math:csc | math:cot | math:sinh
  597.                 | math:cosh | math:tanh | math:sech | math:csch | math:coth
  598.                 | math:arcsin | math:arccos | math:arctan" >
  599.  
  600. <!ELEMENT math:sin          EMPTY       >
  601. <!ATTLIST math:sin     %att-definition;
  602.                       %att-globalatts;     >
  603.  
  604. <!ELEMENT math:cos          EMPTY       >
  605. <!ATTLIST math:cos     %att-definition;
  606.                       %att-globalatts;     >
  607.  
  608. <!ELEMENT math:tan          EMPTY       >
  609. <!ATTLIST math:tan     %att-definition;
  610.                       %att-globalatts;     >
  611.  
  612. <!ELEMENT math:sec          EMPTY       >
  613. <!ATTLIST math:sec     %att-definition;
  614.                       %att-globalatts;     >
  615.  
  616. <!ELEMENT math:csc          EMPTY       >
  617. <!ATTLIST math:csc     %att-definition;
  618.                       %att-globalatts;     >
  619.  
  620. <!ELEMENT math:cot          EMPTY       >
  621. <!ATTLIST math:cot     %att-definition;
  622.                       %att-globalatts;     >
  623.  
  624. <!ELEMENT math:sinh          EMPTY       >
  625. <!ATTLIST math:sinh     %att-definition;
  626.                       %att-globalatts;     >
  627.  
  628. <!ELEMENT math:cosh          EMPTY       >
  629. <!ATTLIST math:cosh     %att-definition;
  630.                       %att-globalatts;     >
  631.  
  632. <!ELEMENT math:tanh          EMPTY       >
  633. <!ATTLIST math:tanh     %att-definition;
  634.                       %att-globalatts;     >
  635.  
  636. <!ELEMENT math:sech          EMPTY       >
  637. <!ATTLIST math:sech     %att-definition;
  638.                       %att-globalatts;     >
  639.  
  640. <!ELEMENT math:csch          EMPTY       >
  641. <!ATTLIST math:csch     %att-definition;
  642.                       %att-globalatts;     >
  643.  
  644. <!ELEMENT math:coth          EMPTY       >
  645. <!ATTLIST math:coth     %att-definition;
  646.                       %att-globalatts;     >
  647.  
  648. <!ELEMENT math:arcsin          EMPTY       >
  649. <!ATTLIST math:arcsin     %att-definition;
  650.                       %att-globalatts;     >
  651.  
  652. <!ELEMENT math:arccos          EMPTY       >
  653. <!ATTLIST math:arccos     %att-definition;
  654.                       %att-globalatts;     >
  655.  
  656. <!ELEMENT math:arctan          EMPTY       >
  657. <!ATTLIST math:arctan     %att-definition;
  658.                       %att-globalatts;     >
  659.  
  660. <!ENTITY % cstatopnary "math:mean | math:sdev | math:variance | math:median | math:mode" >
  661.  
  662. <!ELEMENT math:mean          EMPTY       >
  663. <!ATTLIST math:mean     %att-definition;
  664.                       %att-globalatts;     >
  665.  
  666. <!ELEMENT math:sdev          EMPTY       >
  667. <!ATTLIST math:sdev     %att-definition;
  668.                       %att-globalatts;     >
  669.  
  670. <!ELEMENT math:variance          EMPTY       >
  671. <!ATTLIST math:variance     %att-definition;
  672.                       %att-globalatts;     >
  673.  
  674. <!ELEMENT math:median          EMPTY       >
  675. <!ATTLIST math:median     %att-definition;
  676.                       %att-globalatts;     >
  677.  
  678. <!ELEMENT math:mode          EMPTY       >
  679. <!ATTLIST math:mode     %att-definition;
  680.                       %att-globalatts;     >
  681.  
  682. <!ENTITY % cstatopmoment "math:moment" >
  683.  
  684. <!ELEMENT math:moment          EMPTY       >
  685. <!ATTLIST math:moment     %att-definition;
  686.                       %att-globalatts;     >
  687.  
  688. <!ENTITY % clalgop1ary "math:determinant | math:transpose" >
  689.  
  690. <!ELEMENT math:determinant          EMPTY       >
  691. <!ATTLIST math:determinant     %att-definition;
  692.                       %att-globalatts;     >
  693.  
  694. <!ELEMENT math:transpose          EMPTY       >
  695. <!ATTLIST math:transpose     %att-definition;
  696.                       %att-globalatts;     >
  697.  
  698. <!ENTITY % clalgopnary "math:selector" >
  699.  
  700. <!ELEMENT math:selector          EMPTY       >
  701. <!ATTLIST math:selector     %att-definition;
  702.                       %att-globalatts;     >
  703.  
  704. <!-- content elements -  relations  -->
  705.  
  706. <!ENTITY % cgenrel2ary "math:neq" >
  707.  
  708. <!ELEMENT math:neq          EMPTY       >
  709. <!ATTLIST math:neq     %att-definition;
  710.                       %att-globalatts;     >
  711.  
  712. <!ENTITY % cgenrelnary "math:eq | math:leq | math:lt | math:geq | math:gt" >
  713.  
  714. <!ELEMENT math:eq          EMPTY       >
  715. <!ATTLIST math:eq     %att-definition;
  716.                       %att-globalatts;     >
  717.  
  718. <!ELEMENT math:gt          EMPTY       >
  719. <!ATTLIST math:gt     %att-definition;
  720.                       %att-globalatts;     >
  721.  
  722. <!ELEMENT math:lt          EMPTY       >
  723. <!ATTLIST math:lt     %att-definition;
  724.                       %att-globalatts;     >
  725.  
  726. <!ELEMENT math:geq          EMPTY       >
  727. <!ATTLIST math:geq     %att-definition;
  728.                       %att-globalatts;     >
  729.  
  730. <!ELEMENT math:leq          EMPTY       >
  731. <!ATTLIST math:leq     %att-definition;
  732.                       %att-globalatts;     >
  733.  
  734. <!ENTITY % csetrel2ary "math:in | math:notin | math:notsubset | math:notprsubset" >
  735.  
  736. <!ELEMENT math:in          EMPTY       >
  737. <!ATTLIST math:in     %att-definition;
  738.                       %att-globalatts;     >
  739.  
  740. <!ELEMENT math:notin          EMPTY       >
  741. <!ATTLIST math:notin     %att-definition;
  742.                       %att-globalatts;     >
  743.  
  744. <!ELEMENT math:notsubset          EMPTY       >
  745. <!ATTLIST math:notsubset     %att-definition;
  746.                       %att-globalatts;     >
  747.  
  748. <!ELEMENT math:notprsubset          EMPTY       >
  749. <!ATTLIST math:notprsubset     %att-definition;
  750.                       %att-globalatts;     >
  751.  
  752. <!ENTITY % csetrelnary "math:subset | math:prsubset" >
  753.  
  754. <!ELEMENT math:subset          EMPTY       >
  755. <!ATTLIST math:subset     %att-definition;
  756.                       %att-globalatts;     >
  757.  
  758. <!ELEMENT math:prsubset          EMPTY       >
  759. <!ATTLIST math:prsubset     %att-definition;
  760.                       %att-globalatts;     >
  761.  
  762. <!ENTITY % cseqrel2ary "math:tendsto" >
  763.  
  764. <!ELEMENT math:tendsto          EMPTY       >
  765. <!ATTLIST math:tendsto     %att-definition;
  766.                       %att-type;
  767.                       %att-globalatts;     >
  768.  
  769. <!-- content elements -  quantifiers  -->
  770.  
  771. <!ENTITY % cquantifier "math:lowlimit | math:uplimit | math:bvar | math:degree | math:logbase" >
  772.  
  773. <!ATTLIST math:lowlimit  %att-globalatts;     >
  774.  
  775. <!ATTLIST math:uplimit  %att-globalatts;     >
  776.  
  777. <!ATTLIST math:bvar     %att-globalatts;     >
  778.  
  779. <!ATTLIST math:degree   %att-globalatts;     >
  780.  
  781. <!ATTLIST math:logbase  %att-globalatts;     >
  782.  
  783. <!-- operator groups -->
  784.  
  785. <!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
  786.                     | %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
  787.  
  788. <!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
  789.  
  790. <!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
  791.                     | %csetopnary; | %cstatopnary;  | %clalgopnary; " >
  792.  
  793. <!ENTITY % copmisc "%carithoproot; | %carithop1or2ary; | %ccalcop;
  794.                     | %cseqop; | %cstatopmoment; | %clogicopquant;" >
  795.  
  796. <!-- relation groups -->
  797.  
  798. <!ENTITY % crel2ary "%cgenrel2ary;  | %csetrel2ary; | %cseqrel2ary;   " >
  799.  
  800. <!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
  801.  
  802. <!-- content constructs - all -->
  803.  
  804. <!ENTITY % Content "%ctoken; | %cspecial;  | %cother;  | %csemantics;
  805.                     |%cconstructor; | %cquantifier;
  806.                     |%cop1ary; |%cop2ary; |%copnary; |%copmisc;
  807.                     |%crel2ary; |%crelnary;" >
  808.  
  809. <!-- content constructs for substitution in presentation structures -->
  810.  
  811. <!ENTITY % ContInPres "math:ci | math:cn  | math:apply  | math:fn | math:lambda | math:reln
  812.                     | math:interval | math:list | math:matrix |math:matrixrow
  813.                     | math:set | math:vector | math:semantics" > <!--dpc-->
  814.  
  815. <!-- *************************************************  -->
  816.  
  817. <!-- recursive definition for content of expressions             -->
  818. <!-- include presentation tag constructs at lowest level         -->
  819. <!-- so presentation layout schemata hold presentation or Content -->
  820. <!-- include Content tag constructs at lowest level              -->
  821. <!-- so Content tokens hold PCDATA or Presentation at leaf level -->
  822. <!-- (for permitted substitutable elements in context)           -->
  823.  
  824. <!ENTITY % ContentExpression   "(%Content; | %PresInCont;)* "     >
  825. <!ENTITY % PresExpression      "(%Presentation; | %ContInPres;)* "     >
  826. <!ENTITY % MathExpression      "(%PresInCont; | %ContInPres;)* "     >
  827.  
  828. <!--  content token elements (may hold embedded presentation constructs)
  829. -->
  830.  
  831. <!ELEMENT math:ci       (#PCDATA | %PresInCont;)*   >
  832. <!ELEMENT math:cn       (#PCDATA | math:sep | %PresInCont;)*   >
  833.  
  834. <!--  content special elements    -->
  835.  
  836. <!ELEMENT math:apply      (%ContentExpression;)   >
  837. <!ELEMENT math:reln       (%ContentExpression;)   >
  838. <!ELEMENT math:lambda     (%ContentExpression;)   >
  839.  
  840. <!--  content other elements    -->
  841.  
  842. <!ELEMENT math:condition      (%ContentExpression;)   >
  843. <!ELEMENT math:declare        (%ContentExpression;)   >
  844.  
  845. <!--  content semantics elements    -->
  846.  
  847. <!ELEMENT math:semantics              (%ContentExpression;)   >
  848. <!ELEMENT math:annotation             (#PCDATA)                >
  849. <!ELEMENT math:annotation-xml         (%ContentExpression;)   >
  850.  
  851. <!--  content constructor elements    -->
  852.  
  853. <!ELEMENT math:interval       (%ContentExpression;)   >
  854. <!ELEMENT math:set            (%ContentExpression;)   >
  855. <!ELEMENT math:list           (%ContentExpression;)   >
  856. <!ELEMENT math:vector         (%ContentExpression;)   >
  857. <!ELEMENT math:matrix         (%ContentExpression;)   >
  858. <!ELEMENT math:matrixrow      (%ContentExpression;)   >
  859.  
  860. <!--  content operator element (user-defined)    -->
  861.  
  862. <!ELEMENT math:fn       (%ContentExpression;)   >
  863.  
  864. <!--  content quantifier elements    -->
  865.  
  866. <!ELEMENT math:lowlimit       (%ContentExpression;)   >
  867. <!ELEMENT math:uplimit        (%ContentExpression;)   >
  868. <!ELEMENT math:bvar           (%ContentExpression;)   >
  869. <!ELEMENT math:degree         (%ContentExpression;)   >
  870. <!ELEMENT math:logbase        (%ContentExpression;)   >
  871.  
  872. <!-- *************************************************  -->
  873. <!-- presentation layout schema contain tokens, layout and content
  874. schema  -->
  875.  
  876. <!ELEMENT math:mstyle          (%PresExpression;)                      >
  877. <!ELEMENT math:merror          (%PresExpression;)                      >
  878. <!ELEMENT math:mphantom        (%PresExpression;)                      >
  879. <!ELEMENT math:mrow            (%PresExpression;)                      >
  880. <!ELEMENT math:mfrac           (%PresExpression;)                      >
  881. <!ELEMENT math:msqrt           (%PresExpression;)                      >
  882. <!ELEMENT math:mroot           (%PresExpression;)                      >
  883. <!ELEMENT math:msub            (%PresExpression;)                      >
  884. <!ELEMENT math:msup            (%PresExpression;)                      >
  885. <!ELEMENT math:msubsup         (%PresExpression;)                      >
  886. <!ELEMENT math:mmultiscripts   (%PresExpression;)                      >
  887. <!ELEMENT math:munder          (%PresExpression;)                      >
  888. <!ELEMENT math:mover           (%PresExpression;)                      >
  889. <!ELEMENT math:munderover      (%PresExpression;)                      >
  890. <!ELEMENT math:mtable          (%PresExpression;)                      >
  891. <!ELEMENT math:mtr             (%PresExpression;)                      >
  892. <!ELEMENT math:mtd             (%PresExpression;)                      >
  893. <!ELEMENT math:maction         (%PresExpression;)                      >
  894. <!ELEMENT math:mfenced         (%PresExpression;)                      >
  895. <!ELEMENT math:mpadded         (%PresExpression;)                      >
  896.  
  897. <!-- presentation tokens contain PCDATA or malignmark constructs -->
  898.  
  899. <!ELEMENT math:mi     (#PCDATA | math:malignmark )*        >
  900. <!ELEMENT math:mn     (#PCDATA | math:malignmark )*        >
  901. <!ELEMENT math:mo     (#PCDATA | math:malignmark )*        >
  902. <!ELEMENT math:mtext  (#PCDATA | math:malignmark )*        >
  903. <!ELEMENT math:ms     (#PCDATA | math:malignmark )*        >
  904.  
  905. <!-- *************************************************  -->
  906. <!-- browser interface definition -->
  907.  
  908. <!-- attributes for top level math element -->
  909.  
  910. <!ENTITY  %     att-macros      'math:macros CDATA #IMPLIED' >
  911. <!ENTITY  %     att-mode        'math:mode   CDATA #IMPLIED' >
  912.  
  913. <!ENTITY  %     att-topinfo    '%att-globalatts;
  914.                                 %att-macros;
  915.                                 %att-mode;'     >
  916.  
  917. <!-- attributes for browser interface element element -->
  918.  
  919. <!ENTITY  %     att-name        'math:name CDATA #IMPLIED' >
  920. <!ENTITY  %     att-baseline    'math:baseline CDATA #IMPLIED' >
  921. <!ENTITY  %     att-overflow    'math:overflow
  922. (scroll|elide|truncate|scale) "scroll"' >
  923. <!ENTITY  %     att-altimg      'math:altimg CDATA #IMPLIED' >
  924. <!ENTITY  %     att-alttext     'math:alttext CDATA #IMPLIED' >
  925.  
  926. <!ENTITY  %     att-browif      '%att-type;
  927.                                 %att-name;
  928.                                 %att-height;
  929.                                 %att-width;
  930.                                 %att-baseline;
  931.                                 %att-overflow;
  932.                                 %att-altimg;
  933.                                 %att-alttext; '     >
  934.  
  935. <!-- the top level math  element      -->
  936. <!-- math  contains MathML encoded mathematics -->
  937. <!-- math has the browser info attributes iff it is the
  938.     browser interface element also -->
  939.  
  940. <!ELEMENT math:math       (%MathExpression;)    >
  941.  
  942. <!ATTLIST  math:math         %att-topinfo;
  943.                         %att-browif;   >
  944.  
  945.  
  946. <!-- ENTITY sets -->
  947.  
  948. <!-- ... removed ... -->
  949.  
  950.  
  951. <!-- MathML new characters -->
  952.  
  953. <!-- ... removed ... -->
  954.  
  955. <!-- end of ENTITY sets -->
  956. <!-- end of DTD fragment -->
  957. <!-- *************************************************  -->
  958.