mml 2.3.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +9 -0
  3. data/.rubocop.yml +4 -0
  4. data/.rubocop_todo.yml +83 -18
  5. data/Gemfile +0 -2
  6. data/README.adoc +176 -47
  7. data/Rakefile +16 -1
  8. data/lib/mml/base/common_attributes.rb +44 -0
  9. data/lib/mml/base/content/annotation.rb +28 -0
  10. data/lib/mml/base/content/annotation_xml.rb +31 -0
  11. data/lib/mml/base/content/apply.rb +27 -0
  12. data/lib/mml/base/content/arith.rb +243 -0
  13. data/lib/mml/base/content/bind.rb +27 -0
  14. data/lib/mml/base/content/bvar.rb +20 -0
  15. data/lib/mml/base/content/calculus.rb +103 -0
  16. data/lib/mml/base/content/cbytes.rb +24 -0
  17. data/lib/mml/base/content/cerror.rb +24 -0
  18. data/lib/mml/base/content/ci.rb +77 -0
  19. data/lib/mml/base/content/cn.rb +33 -0
  20. data/lib/mml/base/content/condition.rb +20 -0
  21. data/lib/mml/base/content/constants.rb +173 -0
  22. data/lib/mml/base/content/cs.rb +22 -0
  23. data/lib/mml/base/content/csymbol.rb +79 -0
  24. data/lib/mml/base/content/declare.rb +34 -0
  25. data/lib/mml/base/content/degree.rb +20 -0
  26. data/lib/mml/base/content/elementary_functions.rb +309 -0
  27. data/lib/mml/base/content/fn.rb +25 -0
  28. data/lib/mml/base/content/functions.rb +85 -0
  29. data/lib/mml/base/content/interval.rb +24 -0
  30. data/lib/mml/base/content/inverse.rb +25 -0
  31. data/lib/mml/base/content/lambda.rb +20 -0
  32. data/lib/mml/base/content/linear_algebra.rb +122 -0
  33. data/lib/mml/base/content/logic.rb +93 -0
  34. data/lib/mml/base/content/otherwise.rb +20 -0
  35. data/lib/mml/base/content/piece.rb +20 -0
  36. data/lib/mml/base/content/piecewise.rb +20 -0
  37. data/lib/mml/base/content/relations.rb +113 -0
  38. data/lib/mml/base/content/reln.rb +19 -0
  39. data/lib/mml/base/content/semantics.rb +27 -0
  40. data/lib/mml/base/content/sep.rb +19 -0
  41. data/lib/mml/base/content/sets.rb +163 -0
  42. data/lib/mml/base/content/share.rb +22 -0
  43. data/lib/mml/base/content/statistics.rb +95 -0
  44. data/lib/mml/base/content/vector_calculus.rb +63 -0
  45. data/lib/mml/base/content_loader.rb +195 -0
  46. data/lib/mml/base/maction.rb +1 -0
  47. data/lib/mml/base/math.rb +47 -0
  48. data/lib/mml/base/menclose.rb +1 -1
  49. data/lib/mml/base/mfenced.rb +2 -2
  50. data/lib/mml/base/mglyph.rb +2 -2
  51. data/lib/mml/base/mi.rb +9 -6
  52. data/lib/mml/base/mlabeledtr.rb +2 -6
  53. data/lib/mml/base/mn.rb +3 -2
  54. data/lib/mml/base/mo.rb +3 -3
  55. data/lib/mml/base/mrow.rb +0 -2
  56. data/lib/mml/base/ms.rb +4 -6
  57. data/lib/mml/base/mscarries.rb +1 -1
  58. data/lib/mml/base/mspace.rb +0 -2
  59. data/lib/mml/base/mstyle.rb +4 -8
  60. data/lib/mml/base/mtable.rb +8 -0
  61. data/lib/mml/base/mtd.rb +6 -0
  62. data/lib/mml/base/mtext.rb +0 -2
  63. data/lib/mml/base/semantics.rb +4 -2
  64. data/lib/mml/base/universal_presentation_attributes.rb +46 -0
  65. data/lib/mml/base/v3_common.rb +16 -0
  66. data/lib/mml/base/v3_presentation_attributes.rb +15 -0
  67. data/lib/mml/base/v4_attributes.rb +4 -18
  68. data/lib/mml/base.rb +11 -0
  69. data/lib/mml/common_elements.rb +336 -0
  70. data/lib/mml/context_configuration.rb +29 -0
  71. data/lib/mml/v2/annotation.rb +9 -0
  72. data/lib/mml/v2/annotation_xml.rb +9 -0
  73. data/lib/mml/v2/apply.rb +9 -0
  74. data/lib/mml/v2/arith.rb +93 -0
  75. data/lib/mml/v2/bind.rb +9 -0
  76. data/lib/mml/v2/bvar.rb +9 -0
  77. data/lib/mml/v2/calculus.rb +33 -0
  78. data/lib/mml/v2/ci.rb +9 -0
  79. data/lib/mml/v2/cn.rb +9 -0
  80. data/lib/mml/v2/common_elements.rb +34 -0
  81. data/lib/mml/v2/condition.rb +9 -0
  82. data/lib/mml/v2/configuration.rb +13 -0
  83. data/lib/mml/v2/constants.rb +65 -0
  84. data/lib/mml/v2/csymbol.rb +9 -0
  85. data/lib/mml/v2/degree.rb +9 -0
  86. data/lib/mml/v2/elementary_functions.rb +121 -0
  87. data/lib/mml/v2/fn.rb +9 -0
  88. data/lib/mml/v2/functions.rb +29 -0
  89. data/lib/mml/v2/interval.rb +9 -0
  90. data/lib/mml/v2/inverse.rb +9 -0
  91. data/lib/mml/v2/lambda.rb +9 -0
  92. data/lib/mml/v2/linear_algebra.rb +41 -0
  93. data/lib/mml/v2/logic.rb +33 -0
  94. data/lib/mml/v2/maction.rb +9 -0
  95. data/lib/mml/v2/maligngroup.rb +9 -0
  96. data/lib/mml/v2/malignmark.rb +9 -0
  97. data/lib/mml/v2/math.rb +11 -0
  98. data/lib/mml/v2/menclose.rb +9 -0
  99. data/lib/mml/v2/merror.rb +9 -0
  100. data/lib/mml/v2/mfenced.rb +9 -0
  101. data/lib/mml/v2/mfrac.rb +9 -0
  102. data/lib/mml/v2/mfraction.rb +9 -0
  103. data/lib/mml/v2/mglyph.rb +9 -0
  104. data/lib/mml/v2/mi.rb +9 -0
  105. data/lib/mml/v2/mlabeledtr.rb +9 -0
  106. data/lib/mml/v2/mlongdiv.rb +9 -0
  107. data/lib/mml/v2/mmultiscripts.rb +9 -0
  108. data/lib/mml/v2/mn.rb +9 -0
  109. data/lib/mml/v2/mo.rb +10 -0
  110. data/lib/mml/v2/mover.rb +9 -0
  111. data/lib/mml/v2/mpadded.rb +9 -0
  112. data/lib/mml/v2/mphantom.rb +9 -0
  113. data/lib/mml/v2/mprescripts.rb +9 -0
  114. data/lib/mml/v2/mroot.rb +9 -0
  115. data/lib/mml/v2/mrow.rb +9 -0
  116. data/lib/mml/v2/ms.rb +9 -0
  117. data/lib/mml/v2/mscarries.rb +9 -0
  118. data/lib/mml/v2/mscarry.rb +9 -0
  119. data/lib/mml/v2/msgroup.rb +9 -0
  120. data/lib/mml/v2/msline.rb +9 -0
  121. data/lib/mml/v2/mspace.rb +9 -0
  122. data/lib/mml/v2/msqrt.rb +9 -0
  123. data/lib/mml/v2/msrow.rb +9 -0
  124. data/lib/mml/v2/mstack.rb +9 -0
  125. data/lib/mml/v2/mstyle.rb +10 -0
  126. data/lib/mml/v2/msub.rb +9 -0
  127. data/lib/mml/v2/msubsup.rb +9 -0
  128. data/lib/mml/v2/msup.rb +9 -0
  129. data/lib/mml/v2/mtable.rb +9 -0
  130. data/lib/mml/v2/mtd.rb +9 -0
  131. data/lib/mml/v2/mtext.rb +9 -0
  132. data/lib/mml/v2/mtr.rb +9 -0
  133. data/lib/mml/v2/munder.rb +9 -0
  134. data/lib/mml/v2/munderover.rb +9 -0
  135. data/lib/mml/v2/namespace.rb +7 -0
  136. data/lib/mml/v2/none.rb +9 -0
  137. data/lib/mml/v2/otherwise.rb +9 -0
  138. data/lib/mml/v2/piece.rb +9 -0
  139. data/lib/mml/v2/piecewise.rb +9 -0
  140. data/lib/mml/v2/relations.rb +41 -0
  141. data/lib/mml/v2/reln.rb +13 -0
  142. data/lib/mml/v2/semantics.rb +9 -0
  143. data/lib/mml/v2/sep.rb +9 -0
  144. data/lib/mml/v2/sets.rb +57 -0
  145. data/lib/mml/v2/statistics.rb +33 -0
  146. data/lib/mml/v2/vector_calculus.rb +21 -0
  147. data/lib/mml/v2.rb +311 -0
  148. data/lib/mml/v3/annotation.rb +10 -0
  149. data/lib/mml/v3/annotation_xml.rb +10 -0
  150. data/lib/mml/v3/apply.rb +10 -0
  151. data/lib/mml/v3/arith.rb +115 -0
  152. data/lib/mml/v3/bind.rb +10 -0
  153. data/lib/mml/v3/calculus.rb +40 -0
  154. data/lib/mml/v3/cbytes.rb +10 -0
  155. data/lib/mml/v3/cerror.rb +10 -0
  156. data/lib/mml/v3/ci.rb +10 -0
  157. data/lib/mml/v3/cn.rb +10 -0
  158. data/lib/mml/v3/common_elements.rb +34 -0
  159. data/lib/mml/v3/constants.rb +80 -0
  160. data/lib/mml/v3/constructs.rb +55 -0
  161. data/lib/mml/v3/cs.rb +10 -0
  162. data/lib/mml/v3/csymbol.rb +10 -0
  163. data/lib/mml/v3/deprecated_content.rb +29 -0
  164. data/lib/mml/v3/elementary_functions.rb +145 -0
  165. data/lib/mml/v3/functions.rb +35 -0
  166. data/lib/mml/v3/linear_algebra.rb +50 -0
  167. data/lib/mml/v3/logic.rb +40 -0
  168. data/lib/mml/v3/maction.rb +1 -1
  169. data/lib/mml/v3/math.rb +7 -1
  170. data/lib/mml/v3/mi.rb +1 -0
  171. data/lib/mml/v3/mn.rb +1 -0
  172. data/lib/mml/v3/mo.rb +1 -0
  173. data/lib/mml/v3/mrow.rb +1 -0
  174. data/lib/mml/v3/ms.rb +1 -0
  175. data/lib/mml/v3/mstyle.rb +1 -0
  176. data/lib/mml/v3/mtext.rb +1 -0
  177. data/lib/mml/v3/relations.rb +50 -0
  178. data/lib/mml/v3/sets.rb +70 -0
  179. data/lib/mml/v3/statistics.rb +40 -0
  180. data/lib/mml/v3/vector_calculus.rb +25 -0
  181. data/lib/mml/v3.rb +25 -0
  182. data/lib/mml/v4/a.rb +4 -3
  183. data/lib/mml/v4/annotation.rb +10 -0
  184. data/lib/mml/v4/annotation_xml.rb +14 -0
  185. data/lib/mml/v4/apply.rb +9 -0
  186. data/lib/mml/v4/arith.rb +93 -0
  187. data/lib/mml/v4/calculus.rb +25 -0
  188. data/lib/mml/v4/cbytes.rb +9 -0
  189. data/lib/mml/v4/cerror.rb +9 -0
  190. data/lib/mml/v4/ci.rb +9 -0
  191. data/lib/mml/v4/cn.rb +9 -0
  192. data/lib/mml/v4/common_elements.rb +33 -0
  193. data/lib/mml/v4/constants.rb +65 -0
  194. data/lib/mml/v4/constructs.rb +49 -0
  195. data/lib/mml/v4/cs.rb +9 -0
  196. data/lib/mml/v4/csymbol.rb +9 -0
  197. data/lib/mml/v4/deprecated_content.rb +25 -0
  198. data/lib/mml/v4/elementary_functions.rb +118 -0
  199. data/lib/mml/v4/factorof.rb +9 -0
  200. data/lib/mml/v4/functions.rb +30 -0
  201. data/lib/mml/v4/limit.rb +9 -0
  202. data/lib/mml/v4/linear_algebra.rb +41 -0
  203. data/lib/mml/v4/logic.rb +33 -0
  204. data/lib/mml/v4/maction.rb +1 -2
  205. data/lib/mml/v4/maligngroup.rb +0 -1
  206. data/lib/mml/v4/malignmark.rb +0 -1
  207. data/lib/mml/v4/math.rb +1 -1
  208. data/lib/mml/v4/menclose.rb +0 -1
  209. data/lib/mml/v4/merror.rb +0 -1
  210. data/lib/mml/v4/mfenced.rb +0 -1
  211. data/lib/mml/v4/mfrac.rb +0 -1
  212. data/lib/mml/v4/mfraction.rb +0 -1
  213. data/lib/mml/v4/mglyph.rb +0 -1
  214. data/lib/mml/v4/mi.rb +1 -1
  215. data/lib/mml/v4/mlabeledtr.rb +0 -1
  216. data/lib/mml/v4/mlongdiv.rb +0 -1
  217. data/lib/mml/v4/mmultiscripts.rb +0 -1
  218. data/lib/mml/v4/mn.rb +1 -1
  219. data/lib/mml/v4/mo.rb +1 -1
  220. data/lib/mml/v4/mover.rb +0 -1
  221. data/lib/mml/v4/mpadded.rb +0 -1
  222. data/lib/mml/v4/mphantom.rb +0 -1
  223. data/lib/mml/v4/mprescripts.rb +0 -1
  224. data/lib/mml/v4/mroot.rb +0 -1
  225. data/lib/mml/v4/mrow.rb +1 -1
  226. data/lib/mml/v4/ms.rb +1 -1
  227. data/lib/mml/v4/mscarries.rb +0 -1
  228. data/lib/mml/v4/mscarry.rb +0 -1
  229. data/lib/mml/v4/msgroup.rb +0 -1
  230. data/lib/mml/v4/msline.rb +0 -1
  231. data/lib/mml/v4/mspace.rb +0 -1
  232. data/lib/mml/v4/msqrt.rb +0 -1
  233. data/lib/mml/v4/msrow.rb +0 -1
  234. data/lib/mml/v4/mstack.rb +0 -1
  235. data/lib/mml/v4/mstyle.rb +1 -1
  236. data/lib/mml/v4/msub.rb +0 -1
  237. data/lib/mml/v4/msubsup.rb +0 -1
  238. data/lib/mml/v4/msup.rb +0 -1
  239. data/lib/mml/v4/mtable.rb +0 -1
  240. data/lib/mml/v4/mtd.rb +0 -1
  241. data/lib/mml/v4/mtext.rb +1 -1
  242. data/lib/mml/v4/mtr.rb +0 -1
  243. data/lib/mml/v4/munder.rb +0 -1
  244. data/lib/mml/v4/munderover.rb +0 -1
  245. data/lib/mml/v4/none.rb +0 -1
  246. data/lib/mml/v4/relations.rb +37 -0
  247. data/lib/mml/v4/semantics.rb +0 -1
  248. data/lib/mml/v4/sets.rb +57 -0
  249. data/lib/mml/v4/statistics.rb +33 -0
  250. data/lib/mml/v4/tendsto.rb +9 -0
  251. data/lib/mml/v4/vector_calculus.rb +21 -0
  252. data/lib/mml/v4.rb +421 -44
  253. data/lib/mml/version.rb +1 -1
  254. data/lib/mml/versioned_parser.rb +1 -1
  255. data/lib/mml.rb +3 -1
  256. data/reference-docs/mathml-source/pubtext/mathmlspec.dtd +150 -0
  257. data/reference-docs/mathml-source/pubtext/xmlspec.dtd +2649 -0
  258. data/reference-docs/mathml-source/readme.txt +40 -0
  259. data/reference-docs/mathml-source/run +296 -0
  260. data/reference-docs/mathml-source/style/html/html2xhtml.xsl +216 -0
  261. data/reference-docs/mathml-source/style/html/images.xsl +98 -0
  262. data/reference-docs/mathml-source/style/html/mml6.xsl +1156 -0
  263. data/reference-docs/mathml-source/style/html/mmldiff.xsl +566 -0
  264. data/reference-docs/mathml-source/style/html/mmlspec.xsl +2531 -0
  265. data/reference-docs/mathml-source/style/html/slices-common.xsl +312 -0
  266. data/reference-docs/mathml-source/style/html/slices.xsl +48 -0
  267. data/reference-docs/mathml-source/style/html/xmlspec.xsl +2542 -0
  268. data/reference-docs/mathml-source/style/pdf/mathmlspec.xsl +2510 -0
  269. data/reference-docs/mathml-source/xml/changes.xml +773 -0
  270. data/reference-docs/mathml-source/xml/character-set.xml +1011 -0
  271. data/reference-docs/mathml-source/xml/content-element-def.xml +6143 -0
  272. data/reference-docs/mathml-source/xml/content-markup.xml +8178 -0
  273. data/reference-docs/mathml-source/xml/contributors.xml +425 -0
  274. data/reference-docs/mathml-source/xml/dom-bindings.xml +20 -0
  275. data/reference-docs/mathml-source/xml/dom-intro.xml +114 -0
  276. data/reference-docs/mathml-source/xml/fundamentals.xml +1646 -0
  277. data/reference-docs/mathml-source/xml/glossary.xml +519 -0
  278. data/reference-docs/mathml-source/xml/interface.xml +1096 -0
  279. data/reference-docs/mathml-source/xml/introduction.xml +724 -0
  280. data/reference-docs/mathml-source/xml/mathml-css-sample.xml +304 -0
  281. data/reference-docs/mathml-source/xml/mathml-dom.xml +3813 -0
  282. data/reference-docs/mathml-source/xml/mathml-spec.xml +356 -0
  283. data/reference-docs/mathml-source/xml/mixing.xml +982 -0
  284. data/reference-docs/mathml-source/xml/operator-dict.xml +551 -0
  285. data/reference-docs/mathml-source/xml/parsing.xml +2565 -0
  286. data/reference-docs/mathml-source/xml/presentation-markup.xml +6834 -0
  287. data/reference-docs/mathml-source/xml/references.xml +323 -0
  288. data/reference-docs/mathml-source/xml/validation-grammar.xml +877 -0
  289. data/schemas/README.adoc +17 -0
  290. data/schemas/mathml2/common/common-attribs.xsd +41 -0
  291. data/schemas/mathml2/common/math.xsd +126 -0
  292. data/schemas/mathml2/common/xlink-href.xsd +20 -0
  293. data/schemas/mathml2/content/CVS/Entries +16 -0
  294. data/schemas/mathml2/content/CVS/Repository +1 -0
  295. data/schemas/mathml2/content/CVS/Root +1 -0
  296. data/schemas/mathml2/content/arith.xsd +90 -0
  297. data/schemas/mathml2/content/calculus.xsd +146 -0
  298. data/schemas/mathml2/content/common-attrib.xsd +30 -0
  299. data/schemas/mathml2/content/constants.xsd +83 -0
  300. data/schemas/mathml2/content/constructs.xsd +260 -0
  301. data/schemas/mathml2/content/elementary-functions.xsd +117 -0
  302. data/schemas/mathml2/content/functions.xsd +73 -0
  303. data/schemas/mathml2/content/linear-algebra.xsd +173 -0
  304. data/schemas/mathml2/content/logic.xsd +53 -0
  305. data/schemas/mathml2/content/relations.xsd +55 -0
  306. data/schemas/mathml2/content/semantics.xsd +85 -0
  307. data/schemas/mathml2/content/sets.xsd +236 -0
  308. data/schemas/mathml2/content/statistics.xsd +136 -0
  309. data/schemas/mathml2/content/tokens.xsd +120 -0
  310. data/schemas/mathml2/content/tokens.xsd.~1.3.~ +119 -0
  311. data/schemas/mathml2/content/vector-calculus.xsd +88 -0
  312. data/schemas/mathml2/mathml2.xsd +59 -0
  313. data/schemas/mathml2/presentation/action.xsd +44 -0
  314. data/schemas/mathml2/presentation/characters.xsd +37 -0
  315. data/schemas/mathml2/presentation/common-attribs.xsd +113 -0
  316. data/schemas/mathml2/presentation/common-types.xsd +103 -0
  317. data/schemas/mathml2/presentation/error.xsd +40 -0
  318. data/schemas/mathml2/presentation/layout.xsd +195 -0
  319. data/schemas/mathml2/presentation/scripts.xsd +186 -0
  320. data/schemas/mathml2/presentation/space.xsd +52 -0
  321. data/schemas/mathml2/presentation/style.xsd +69 -0
  322. data/schemas/mathml2/presentation/table.xsd +216 -0
  323. data/schemas/mathml2/presentation/tokens.xsd +124 -0
  324. data/schemas/mathml3/mathml3-common.xsd +99 -0
  325. data/schemas/mathml3/mathml3-content.xsd +684 -0
  326. data/schemas/mathml3/mathml3-presentation.xsd +2151 -0
  327. data/schemas/mathml3/mathml3-strict-content.xsd +186 -0
  328. data/schemas/mathml3/mathml3.xsd +9 -0
  329. data/schemas/mathml4/mathml4-content.rnc +382 -0
  330. data/schemas/mathml4/mathml4-core.rnc +361 -0
  331. data/schemas/mathml4/mathml4-presentation.rnc +358 -0
  332. data/schemas/mathml4/mathml4-strict-content.rnc +86 -0
  333. data/schemas/mathml4/mathml4.rnc +21 -0
  334. data/schemas/mathml4/mathml4.rnc.1 +21 -0
  335. data/schemas/mathml4/mathml4.rng +37 -0
  336. metadata +249 -2
@@ -0,0 +1,3813 @@
1
+ <div1 id="mathml-dom" role="appendixd"><head>Document Object Model for MathML</head>
2
+ <!-- $Id: mathml-dom.xml,v 1.40 2003/09/08 13:05:56 davidc Exp $ -->
3
+
4
+ <p>The following sections describe the interfaces that have been defined in
5
+ the Document Object Model for MathML. Please refer to
6
+ <specref ref="dom-intro"/> for more information.</p>
7
+
8
+ <p>Bindings for IDL, Java and ECMAScript are located in <specref ref="dom-bindings"/>.</p>
9
+
10
+ <div2 id="dom_interfaces"><head>IDL Interfaces</head>
11
+
12
+ <div3><head>Miscellaneous Object Definitions</head>
13
+ <definitions>
14
+ <interface name='MathMLDOMImplementation' inherits='DOMImplementation' id='dom_DOMImplementation'>
15
+ <descr><p>This interface extends the <kw>DOMImplementation</kw>
16
+ interface by adding a method to create a <kw>MathMLDocument</kw>.
17
+ </p>
18
+ <?generate-idl?>
19
+ </descr>
20
+ <method name='createMathMLDocument'>
21
+ <descr><p>Creates a <kw>MathMLDocument</kw> with a minimal tree
22
+ containing only a <kw>MathMLMathElement</kw> corresponding to a MathML <intref ref="interf_toplevel"><el>math</el></intref>
23
+ element. The <kw>MathMLMathElement</kw> is empty, having no child elements or non-default attributes; it is the
24
+ root element of the document, and is the element accessed via the <kw>documentElement</kw> attribute of
25
+ the <kw>MathMLDocument</kw>. Note that a <kw>MathMLDocument</kw> object should only be created for a
26
+ stand-alone MathML document.</p></descr>
27
+ <parameters>
28
+ </parameters>
29
+ <returns type='MathMLDocument'>
30
+ <descr><p>The <kw>MathMLDocument</kw> created.</p></descr></returns>
31
+ <raises>
32
+ </raises>
33
+ </method>
34
+ </interface>
35
+
36
+ <interface name='MathMLDocument' inherits='Document' id='dom_Document'>
37
+ <descr><p>This interface extends the <kw>Document</kw> interface to
38
+ add access to document properties relating to navigation. The <kw>documentElement</kw>
39
+ attribute for a <kw>MathMLDocument</kw> should be the <intref ref="dom_MathElement"><kw>MathMLMathElement</kw></intref>
40
+ representing the top-level <intref ref="interf_toplevel"><el>math</el></intref> element
41
+ which is the root of the document.</p>
42
+ <?generate-idl?>
43
+ </descr>
44
+ <attribute name='referrer' type='DOMString' readonly='yes'>
45
+ <descr><p>The URI of the page that linked to this document, if
46
+ available. This is <kw>null</kw> if the user navigated directly to the page. If this
47
+ is not a stand-alone MathML document (e.g. is embedded in an XHTML document), this
48
+ may be retrieved from the parent <kw>Document</kw> if available.</p></descr>
49
+ </attribute>
50
+ <attribute name='domain' type='DOMString' readonly='yes'>
51
+ <descr><p>The domain name of the server that served the document,
52
+ or <kw>null</kw> if the server cannot be identified by a domain name, or if it is not
53
+ available. If this is not a stand-alone MathML document (e.g. is embedded in an XHTML document),
54
+ this may be retrieved from the parent <kw>Document</kw> if available.</p></descr>
55
+ </attribute>
56
+ <attribute name='URI' type='DOMString' readonly='yes'>
57
+ <descr><p>The complete URI of this document. This is <kw>null</kw>
58
+ if this is not a stand-alone MathML document.</p></descr>
59
+ </attribute>
60
+ </interface>
61
+
62
+ <interface name='MathMLNodeList' inherits='NodeList' id='dom_NodeList'>
63
+ <descr><p>This interface is provided as a specialization of the <kw>NodeList</kw> interface.
64
+ The child <kw>Nodes</kw> of this <kw>NodeList</kw> must be <kw>MathMLElements</kw> or <kw>Text</kw> nodes.</p>
65
+ <p>Note that <kw>MathMLNodeLists</kw> are frequently used in the
66
+ DOM as values of <kw>readonly attributes</kw>, encapsulating, for instance,
67
+ various collections of child elements. When used in this way, these objects
68
+ are always understood to be <emph>live</emph>, in the sense that changes
69
+ to the document are immediately reflected in them.
70
+ </p>
71
+ <?generate-idl?>
72
+ </descr>
73
+ </interface>
74
+ </definitions>
75
+
76
+ </div3>
77
+
78
+ <div3><head>Generic MathML Elements</head>
79
+ <definitions>
80
+ <interface name='MathMLElement' inherits='Element' id='dom_Element'>
81
+ <descr><p>All MathML element interfaces derive from this object, which
82
+ derives from the basic DOM interface <kw>Element</kw>.</p>
83
+ <?generate-idl?>
84
+ </descr>
85
+ <attribute name='className' type='DOMString' readonly='no'>
86
+ <descr><p>The <intref ref="fund_globatt"><att>class</att></intref> attribute of the element. See
87
+ the discussion elsewhere in this document of the <att>class</att> attribute; see also the
88
+ <xspecref href="http://www.w3.org/TR/html401/struct/global.html#adef-class">HTML definition</xspecref> of this attribute.</p></descr>
89
+ </attribute>
90
+ <attribute name='mathElementStyle' type='DOMString' readonly='no'>
91
+ <descr><p>A string identifying the element's <intref ref="fund_globatt"><att>style</att></intref>
92
+ attribute.</p></descr>
93
+ </attribute>
94
+ <attribute name='id' type='DOMString' readonly='no'>
95
+ <descr><p>The element's identifier. See the discussion elsewhere in this
96
+ document of the <intref ref="fund_globatt"><att>id</att></intref>
97
+ attribute; see also the <xspecref href="http://www.w3.org/TR/html401/struct/global.html#adef-id">HTML definition</xspecref>.</p></descr>
98
+ </attribute>
99
+ <attribute name='xref' type='DOMString' readonly='no'>
100
+ <descr><p>The <intref ref="fund_globatt"><att>xref</att></intref> attribute of the element. See
101
+ the discussion elsewhere in this document of the <att>xref</att> attribute.</p></descr>
102
+ </attribute>
103
+ <attribute name='href' type='DOMString' readonly='no'>
104
+ <descr><p>The <intref ref="fund_globatt"><att>xlink:href</att></intref> attribute of the element. See
105
+ the discussion elsewhere in this document of the <att>xlink:href</att> attribute; see also the
106
+ <xspecref href="http://www.w3.org/TR/xlink/Overview.html#link-locators">definition</xspecref> of this attribute in the
107
+ XLink specification.</p></descr>
108
+ </attribute>
109
+ <attribute name='ownerMathElement' type='MathMLMathElement' readonly='yes'>
110
+ <descr><p>The <kw>MathMLMathElement</kw> corresponding to the nearest
111
+ <intref ref="interf_toplevel"><el>math</el></intref> element ancestor of this element. Should be <kw>null</kw>
112
+ if this element is a top-level <el>math</el> element.</p></descr>
113
+ </attribute>
114
+ </interface>
115
+
116
+ <interface name='MathMLContainer' id='dom_Container'>
117
+ <descr><p>This is an abstract interface containing functionality required by MathML elements
118
+ that may contain arbitrarily many child elements. No elements are directly supported by this interface;
119
+ all instances are instances of either <intref ref="dom_PresentationContainer"><kw>MathMLPresentationContainer</kw></intref>, <intref ref="dom_ContentContainer"><kw>MathMLContentContainer</kw></intref>,
120
+ or <intref ref="dom_MathElement"><kw>MathMLMathElement</kw></intref>.
121
+ </p>
122
+ <?generate-idl?>
123
+ </descr>
124
+ <attribute name='nArguments' type='unsigned long' readonly='yes'>
125
+ <descr><p>The number of child elements of this element
126
+ which represent arguments of the element, as opposed to qualifiers or <el>declare</el> elements.
127
+ Thus for a <kw>MathMLContentContainer</kw> it does not contain elements representing bound variables, conditions,
128
+ separators, degrees, or upper or lower limits (<intref ref="contm_bvar"><el>bvar</el></intref>,
129
+ <intref ref="contm_condition"><el>condition</el></intref>, <intref ref="contm_sep"><el>sep</el></intref>,
130
+ <intref ref="contm_degree"><el>degree</el></intref>, <intref ref="contm_lowlimit"><el>lowlimit</el></intref>,
131
+ or <intref ref="contm_uplimit"><el>uplimit</el></intref>).</p></descr>
132
+ </attribute>
133
+ <attribute name='arguments' type='MathMLNodeList' readonly='yes'>
134
+ <descr><p>This attribute accesses the child <kw>MathMLElements</kw> of
135
+ this element which are arguments of it, as a <kw>MathMLNodeList</kw>. Note that this list does not
136
+ contain any <kw>MathMLElements</kw> representing qualifier elements or <el>declare</el> elements.</p></descr>
137
+ </attribute>
138
+ <attribute name='declarations' type='MathMLNodeList' readonly='yes'>
139
+ <descr><p>Provides access to the <intref ref="contm_declare"><el>declare</el></intref> elements
140
+ which are children of this element, in a <kw>MathMLNodeList</kw>. All
141
+ <kw>Nodes</kw> in this list must be <kw>MathMLDeclareElements</kw>.</p></descr>
142
+ </attribute>
143
+ <method name='getArgument'>
144
+ <descr><p>This method returns the <kw>index</kw>th child argument element of this
145
+ element. <emph>This frequently differs from the value of</emph> <code>Node::childNodes().item(index)</code>,
146
+ as qualifier elements and <el>declare</el> elements are not counted.</p></descr>
147
+ <parameters>
148
+ <param name='index' type='unsigned long' attr='in'>
149
+ <descr><p>The one-based index of the argument to be retrieved.</p></descr>
150
+ </param>
151
+ </parameters>
152
+ <returns type='MathMLElement'>
153
+ <descr><p>A <kw>MathMLElement</kw> representing the <kw>index</kw>-th argument of this element.</p></descr></returns>
154
+ <raises>
155
+ <exception name='DOMException'>
156
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
157
+ than the number of child elements.</p></descr></exception>
158
+ </raises>
159
+ </method>
160
+ <method name='setArgument'>
161
+ <descr><p>This method sets <kw>newArgument</kw> as the
162
+ <kw>index</kw>-th argument of this element. If there is currently an
163
+ <kw>index</kw>-th argument, it is replaced by <kw>newArgument</kw>.
164
+ <emph>This frequently differs from setting the node at</emph> <code>Node::childNodes().item(index)</code>,
165
+ as qualifier elements and <el>declare</el> elements are not counted.</p></descr>
166
+ <parameters>
167
+ <param name='newArgument' type='MathMLElement' attr='in'>
168
+ <descr><p>A <kw>MathMLElement</kw> representing the element that
169
+ is to be set as the <kw>index</kw>-th argument of this element.</p></descr>
170
+ </param>
171
+ <param name='index' type='unsigned long' attr='in'>
172
+ <descr><p>The index of the argument that is to be set to
173
+ <kw>newArgument</kw>. The first argument is numbered 1. If <kw>index</kw> is one more than
174
+ the current number of arguments, a new argument is appended.</p></descr>
175
+ </param>
176
+ </parameters>
177
+ <returns type='MathMLElement'>
178
+ <descr><p>The <kw>MathMLElement</kw> child of this
179
+ element that represents the new argument in the DOM.</p></descr></returns>
180
+ <raises>
181
+ <exception name='DOMException'>
182
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
183
+ element of the type of <kw>newArgument</kw>, if this is a <kw>MathMLContentContainer</kw> and <kw>newArgument</kw>
184
+ is a qualifier element, or if <kw>newElement</kw> is a <kw>MathMLDeclareElement</kw>.</p>
185
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than one more than the number
186
+ of child elements.</p></descr></exception>
187
+ </raises>
188
+ </method>
189
+ <method name='insertArgument'>
190
+ <descr><p>This method inserts <kw>newArgument</kw> before the
191
+ current <kw>index</kw>-th argument of this element. If <kw>index</kw> is 0, or if
192
+ <kw>index</kw> is one more than the current number of arguments, <kw>newArgument</kw> is
193
+ appended as the last argument. <emph>This frequently differs from setting the node at</emph>
194
+ <code>Node::childNodes().item(index)</code>, as qualifier elements and <el>declare</el>
195
+ elements are not counted.</p></descr>
196
+ <parameters>
197
+ <param name='newArgument' type='MathMLElement' attr='in'>
198
+ <descr><p>A <kw>MathMLElement</kw> representing
199
+ the element that is to be inserted as a child argument of this element.</p></descr>
200
+ </param>
201
+ <param name='index' type='unsigned long' attr='in'>
202
+ <descr><p>The one-based index of the position before
203
+ which <kw>newArgument</kw> is to be inserted. The first argument is numbered 1.</p></descr>
204
+ </param>
205
+ </parameters>
206
+ <returns type='MathMLElement'>
207
+ <descr><p>The <kw>MathMLElement</kw> child of this
208
+ element that represents the new argument in the DOM.</p></descr></returns>
209
+ <raises>
210
+ <exception name='DOMException'>
211
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
212
+ argument of the type of <kw>newArgument</kw>, or, for <kw>MathMLContentContainers</kw>, if <kw>newArgument</kw>
213
+ represents a qualifier element.</p>
214
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than one more than the number of child
215
+ arguments.</p></descr></exception>
216
+ </raises>
217
+ </method>
218
+ <method name='deleteArgument'>
219
+ <descr><p>This method deletes the <kw>index</kw>-th
220
+ child element that is an argument of this element. Note that child elements
221
+ which are qualifier elements or <el>declare</el> elements are not counted
222
+ in determining the <kw>index</kw>-th argument.</p></descr>
223
+ <parameters>
224
+ <param name='index' type='unsigned long' attr='in'>
225
+ <descr><p>The one-based index of the argument to be deleted.</p></descr>
226
+ </param>
227
+ </parameters>
228
+ <returns type='void'>
229
+ <descr><p>None.</p></descr></returns>
230
+ <raises>
231
+ <exception name='DOMException'>
232
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
233
+ than the number of child elements.</p></descr></exception>
234
+ </raises>
235
+ </method>
236
+ <method name='removeArgument'>
237
+ <descr><p>This method deletes the <kw>index</kw>-th
238
+ child element that is an argument of this element, and returns it to the caller.
239
+ Note that child elements that are qualifier elements or <el>declare</el>
240
+ elements are not counted in determining the <kw>index</kw>-th argument.</p></descr>
241
+ <parameters>
242
+ <param name='index' type='unsigned long' attr='in'>
243
+ <descr><p>The one-based index of the argument to
244
+ be removed.</p></descr>
245
+ </param>
246
+ </parameters>
247
+ <returns type='MathMLElement'>
248
+ <descr><p>A <kw>MathMLElement</kw> representing the
249
+ argument being removed.</p></descr></returns>
250
+ <raises>
251
+ <exception name='DOMException'>
252
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
253
+ than the number of child elements.</p></descr></exception>
254
+ </raises>
255
+ </method>
256
+ <method name='getDeclaration'>
257
+ <descr><p>This method retrieves the <kw>index</kw>-th child
258
+ <el>declare</el> element of this element.</p></descr>
259
+ <parameters>
260
+ <param name='index' type='unsigned long' attr='in'>
261
+ <descr><p>A one-based index into the list of
262
+ child <el>declare</el> elements of this element giving the
263
+ position of the <el>declare</el> element to be retrieved.</p></descr>
264
+ </param>
265
+ </parameters>
266
+ <returns type='MathMLDeclareElement'>
267
+ <descr><p>The <kw>MathMLDeclareElement</kw> representing
268
+ the <kw>index</kw>-th child <el>declare</el>.</p></descr></returns>
269
+ <raises>
270
+ <exception name='DOMException'>
271
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
272
+ the number of child <el>declare</el> elements.</p></descr></exception>
273
+ </raises>
274
+ </method>
275
+ <method name='setDeclaration'>
276
+ <descr><p>This method inserts <kw>newDeclaration</kw> as the <kw>index</kw>-th
277
+ child declaration of this element. If there is already an <kw>index</kw>-th
278
+ <el>declare</el> child element, it is replaced by
279
+ <kw>newDeclaration</kw>.</p></descr>
280
+ <parameters>
281
+ <param name='newDeclaration' type='MathMLDeclareElement' attr='in'>
282
+ <descr><p>A <kw>MathMLDeclareElement</kw> to be
283
+ inserted as the <kw>index</kw>-th child <el>declare</el> element.</p></descr>
284
+ </param>
285
+ <param name='index' type='unsigned long' attr='in'>
286
+ <descr><p>A one-based index into the list of
287
+ child <el>declare</el> elements of this element giving the
288
+ position into which <kw>newDeclaration</kw> is to be inserted. If <kw>index</kw>
289
+ is one more than the number of <el>declare</el> children
290
+ of this element, <kw>newDeclaration</kw> is appended as the last <el>declare</el>
291
+ child.</p></descr>
292
+ </param>
293
+ </parameters>
294
+ <returns type='MathMLDeclareElement'>
295
+ <descr><p>The <kw>MathMLDeclareElement</kw> being
296
+ inserted.</p></descr></returns>
297
+ <raises>
298
+ <exception name='DOMException'>
299
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
300
+ one more than the number of child <el>declare</el> elements.</p>
301
+ <p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit child <el>declare</el>
302
+ elements.</p></descr></exception>
303
+ </raises>
304
+ </method>
305
+ <method name='insertDeclaration'>
306
+ <descr><p>This method inserts <kw>newDeclaration</kw>
307
+ before the current <kw>index</kw>-th child <el>declare</el>
308
+ element of this element. If <kw>index</kw> is 0, <kw>newDeclaration</kw> is appended
309
+ as the last child <el>declare</el> element.</p></descr>
310
+ <parameters>
311
+ <param name='newDeclaration' type='MathMLDeclareElement' attr='in'>
312
+ <descr><p>A <kw>MathMLDeclareElement</kw> to be inserted as the
313
+ <kw>index</kw>-th child <el>declare</el> element.</p></descr>
314
+ </param>
315
+ <param name='index' type='unsigned long' attr='in'>
316
+ <descr><p>A one-based index into the list of
317
+ child <el>declare</el> elements of this element giving the
318
+ position before which <kw>newDeclaration</kw> is to be inserted. If <kw>index</kw> is 0
319
+ or if it is one more than the number of child <el>declare</el> children,
320
+ <kw>newDeclaration</kw> is appended as the last child <el>declare</el> element.</p></descr>
321
+ </param>
322
+ </parameters>
323
+ <returns type='MathMLDeclareElement'>
324
+ <descr><p>The <kw>MathMLDeclareElement</kw> child
325
+ of this element representing <kw>newDeclaration</kw> in the DOM.</p></descr></returns>
326
+ <raises>
327
+ <exception name='DOMException'>
328
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
329
+ than one more than the number of child <el>declare</el> elements.</p>
330
+ <p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit child <el>declare</el>
331
+ elements.</p></descr></exception>
332
+ </raises>
333
+ </method>
334
+ <method name='removeDeclaration'>
335
+ <descr><p>This method removes the <kw>MathMLDeclareElement</kw> representing
336
+ the <kw>index</kw>-th <el>declare</el> child element of
337
+ this element, and returns it to the caller. Note that <kw>index</kw>
338
+ is the position in the list of <el>declare</el> element children,
339
+ as opposed to the position in the list of all child <kw>Nodes</kw>.</p></descr>
340
+ <parameters>
341
+ <param name='index' type='unsigned long' attr='in'>
342
+ <descr><p>The one-based index of the <el>declare</el>
343
+ element to be removed.</p></descr>
344
+ </param>
345
+ </parameters>
346
+ <returns type='MathMLDeclareElement'>
347
+ <descr><p>The <kw>MathMLDeclareElement</kw> being
348
+ removed as a child <kw>Node</kw> of this element.</p></descr></returns>
349
+ <raises>
350
+ <exception name='DOMException'>
351
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
352
+ the number of child <el>declare</el> elements.</p></descr></exception>
353
+ </raises>
354
+ </method>
355
+ <method name='deleteDeclaration'>
356
+ <descr><p>This method deletes the <kw>MathMLDeclareElement</kw> representing
357
+ the <kw>index</kw>-th <el>declare</el> child element of
358
+ this element. Note that <kw>index</kw> is the position in the list of <el>declare</el>
359
+ element children, as opposed to the position in the list of all child <kw>Nodes</kw>.</p></descr>
360
+ <parameters>
361
+ <param name='index' type='unsigned long' attr='in'>
362
+ <descr><p>The one-based index of the <el>declare</el>
363
+ element to be removed.</p></descr>
364
+ </param>
365
+ </parameters>
366
+ <returns type='void'>
367
+ <descr><p>None.</p></descr></returns>
368
+ <raises>
369
+ <exception name='DOMException'>
370
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
371
+ the number of child <el>declare</el> elements.</p></descr></exception>
372
+ </raises>
373
+ </method>
374
+ </interface>
375
+
376
+ <interface name='MathMLMathElement' inherits='MathMLElement, MathMLContainer' id='dom_MathElement'>
377
+ <descr><p>This interface represents the top-level MathML <intref ref="interf_toplevel"><el>math</el></intref>
378
+ element.</p>
379
+ <p>It may become useful for interfacing between the Document Object Model objects
380
+ encoding an enclosing document and the MathML DOM elements that are its children.
381
+ It could also be used for some purposes as a MathML DOM surrogate for a <xspecref href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#i-Document">Document</xspecref> object.
382
+ For instance, MathML-specific factory methods could be placed here, as could methods for creating MathML-specific <kw>Iterators</kw> or <kw>TreeWalkers</kw>.
383
+ However, this functionality is as yet undefined.</p><?generate-idl?>
384
+ </descr>
385
+ <attribute name='macros' type='DOMString' readonly='no'>
386
+ <descr><p>Represents the <att>macros</att>
387
+ attribute of the <el>math</el> element. See
388
+ <specref ref="interf_toplevel"/>.</p></descr>
389
+ </attribute>
390
+ <attribute name='display' type='DOMString' readonly='no'>
391
+ <descr><p>Represents the <att>display</att>
392
+ attribute of the <el>math</el> element. This value is either
393
+ <attval>block</attval> or <attval>inline</attval>. See
394
+ <specref ref="interf_toplevel"/>.</p></descr>
395
+ </attribute>
396
+ </interface>
397
+
398
+ <interface name='MathMLSemanticsElement' inherits='MathMLElement' id='dom_SemanticsElement'>
399
+ <descr><p>This interface represents the <intref ref="contm_semantics"><el>semantics</el></intref>
400
+ element in MathML.</p>
401
+ <?generate-idl?>
402
+ </descr>
403
+ <attribute name='body' type='MathMLElement' readonly='no'>
404
+ <descr><p>This attribute represents the first child of the <el>semantics</el> element, i.e. the child giving the
405
+ <quote>primary</quote> content represented by the element.</p></descr>
406
+ </attribute>
407
+ <attribute name='nAnnotations' type='unsigned long' readonly='yes'>
408
+ <descr><p>Represents the number of <intref ref="contm_annotation"><el>annotation</el></intref> or <intref ref="contm_annotation-xml"><el>annotation-xml</el></intref> children of
409
+ the <el>semantics</el> element, i.e. the number of alternate content forms
410
+ for this element.</p></descr>
411
+ </attribute>
412
+ <method name='getAnnotation'>
413
+ <descr><p>This method gives access to the <kw>index</kw>-th
414
+ <quote>alternate</quote> content associated with a <el>semantics</el> element.</p></descr>
415
+ <parameters>
416
+ <param name='index' type='unsigned long' attr='in'>
417
+ <descr><p>The one-based index of the annotation being
418
+ retrieved.</p></descr>
419
+ </param>
420
+ </parameters>
421
+ <returns type='MathMLElement'>
422
+ <descr><p>The <intref ref="dom_AnnotationElement"><kw>MathMLAnnotationElement</kw></intref> or
423
+ <intref ref="dom_XMLAnnotationElement"><kw>MathMLXMLAnnotationElement</kw></intref> representing the <kw>index</kw>-th
424
+ <intref ref="contm_annotation"><el>annotation</el></intref> or <intref ref="contm_annotation-xml"><el>annotation-xml</el></intref>
425
+ child of the <el>semantics</el> element. Note that all child
426
+ elements of a <el>semantics</el> element other than the first
427
+ are required to be of one of these types.</p></descr></returns>
428
+ <raises>
429
+ </raises>
430
+ </method>
431
+ <method name='insertAnnotation'>
432
+ <descr><p>This method inserts <kw>newAnnotation</kw> before
433
+ the current <kw>index</kw>-th <quote>alternate</quote> content associated
434
+ with a <el>semantics</el> element. If <kw>index</kw> is 0,
435
+ <kw>newAnnotation</kw> is appended as the last <el>annotation</el> or <el>annotation-xml</el> child of this element.</p></descr>
436
+ <parameters>
437
+ <param name='newAnnotation' type='MathMLElement' attr='in'>
438
+ <descr><p>A <kw>MathMLAnnotationElement</kw> or
439
+ <kw>MathMLXMLAnnotationElement</kw> representing the new <el>annotation</el> or <el>annotation-xml</el> to be inserted.</p></descr>
440
+ </param>
441
+ <param name='index' type='unsigned long' attr='in'>
442
+ <descr><p>The position in the list of <el>annotation</el> or <el>annotation-xml</el>
443
+ children before which <kw>newAnnotation</kw> is to be inserted. The first
444
+ annotation is numbered 1.</p></descr>
445
+ </param>
446
+ </parameters>
447
+ <returns type='MathMLElement'>
448
+ <descr><p>The <kw>MathMLAnnotationElement</kw> or
449
+ <kw>MathMLXMLAnnotationElement</kw> child of this element that represents
450
+ the new annotation in the DOM.</p></descr></returns>
451
+ <raises>
452
+ <exception name='DOMException'>
453
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newAnnotation</kw> is not a
454
+ <kw>MathMLAnnotationElement</kw> or <kw>MathMLXMLAnnotationElement</kw>.</p>
455
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
456
+ than the current number of <el>annotation</el> or
457
+ <el>annotation-xml</el> children of this <el>semantics</el> element.</p></descr></exception>
458
+ </raises>
459
+ </method>
460
+ <method name='setAnnotation'>
461
+ <descr><p>This method allows setting or replacement of the
462
+ <kw>index</kw>-th <quote>alternate</quote> content associated with a
463
+ <el>semantics</el> element. If there is already an
464
+ <el>annotation</el> or <el>annotation-xml</el>
465
+ element with this index, it is replaced by <kw>newAnnotation</kw>.</p></descr>
466
+ <parameters>
467
+ <param name='newAnnotation' type='MathMLElement' attr='in'>
468
+ <descr><p>A <kw>MathMLAnnotationElement</kw> or
469
+ <kw>MathMLXMLAnnotationElement</kw> representing the new value of the <kw>index</kw>-th <el>annotation</el> or <el>annotation-xml</el> child of this <el>semantics</el> element.</p></descr>
470
+ </param>
471
+ <param name='index' type='unsigned long' attr='in'>
472
+ <descr><p>The position in the list of
473
+ <el>annotation</el> or <el>annotation-xml</el>
474
+ children of this <el>semantics</el> element that is to be
475
+ occupied by <kw>newAnnotation</kw>. The first annotation element is numbered
476
+ 1.</p></descr>
477
+ </param>
478
+ </parameters>
479
+ <returns type='MathMLElement'>
480
+ <descr><p>The <kw>MathMLAnnotationElement</kw> or
481
+ <kw>MathMLXMLAnnotationElement</kw> child of this element that represents
482
+ the new annotation in the DOM.</p></descr></returns>
483
+ <raises>
484
+ <exception name='DOMException'>
485
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newAnnotation</kw> is not a
486
+ <kw>MathMLAnnotationElement</kw> or <kw>MathMLXMLAnnotationElement</kw>.</p>
487
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
488
+ than one more than the current number of <el>annotation</el>
489
+ or <el>annotation-xml</el> children of this <el>semantics</el> element.</p></descr></exception>
490
+ </raises>
491
+ </method>
492
+ <method name='deleteAnnotation'>
493
+ <descr><p>A convenience method to delete the <kw>index</kw>-th
494
+ <quote>alternate</quote> content associated with this <el>semantics</el> element.</p></descr>
495
+ <parameters>
496
+ <param name='index' type='unsigned long' attr='in'>
497
+ <descr><p>The one-based index of the annotation being
498
+ deleted.</p></descr>
499
+ </param>
500
+ </parameters>
501
+ <returns type='void'>
502
+ <descr><p>None.</p></descr></returns>
503
+ <raises>
504
+ </raises>
505
+ </method>
506
+ <method name='removeAnnotation'>
507
+ <descr><p>A convenience method to delete the <kw>index</kw>-th
508
+ <quote>alternate</quote> content associated with this <el>semantics</el> element, and to return it to the caller.</p></descr>
509
+ <parameters>
510
+ <param name='index' type='unsigned long' attr='in'>
511
+ <descr><p>The one-based index of the annotation being
512
+ deleted.</p></descr>
513
+ </param>
514
+ </parameters>
515
+ <returns type='MathMLElement'>
516
+ <descr><p>The <kw>MathMLAnnotationElement</kw> or
517
+ <kw>MathMLXMLAnnotationElement</kw> being deleted.</p></descr></returns>
518
+ <raises>
519
+ </raises>
520
+ </method>
521
+ </interface>
522
+
523
+ <interface name='MathMLAnnotationElement' inherits='MathMLElement' id='dom_AnnotationElement'>
524
+ <descr><p>This interface represents the <intref ref="contm_annotation"><el>annotation</el></intref>
525
+ element of MathML.
526
+ </p>
527
+ <?generate-idl?>
528
+ </descr>
529
+ <attribute name='body' type='DOMString' readonly='no'>
530
+ <descr><p>Provides access to the content of an <el>annotation</el>
531
+ element.</p></descr>
532
+ </attribute>
533
+ <attribute name='encoding' type='DOMString' readonly='no'>
534
+ <descr><p>Provides access to the <intref ref="contm_attrib"><att>encoding</att></intref>
535
+ attribute of an <el>annotation</el> element.</p></descr>
536
+ </attribute>
537
+ </interface>
538
+
539
+ <interface name='MathMLXMLAnnotationElement' inherits='MathMLElement' id='dom_XMLAnnotationElement'>
540
+ <descr><p>This interface represents the <intref ref="contm_annotation-xml"><el>annotation-xml</el></intref>
541
+ element of MathML.</p>
542
+ <?generate-idl?>
543
+ </descr>
544
+ <attribute name='encoding' type='DOMString' readonly='no'>
545
+ <descr><p>Provides access to the <intref ref="contm_attrib"><att>encoding</att></intref>
546
+ attribute of an <el>annotation-xml</el> element.</p></descr>
547
+ </attribute>
548
+ </interface>
549
+
550
+ </definitions>
551
+ </div3>
552
+
553
+ <div3><head>Presentation Elements</head>
554
+ <definitions>
555
+
556
+ <interface name='MathMLPresentationElement' inherits='MathMLElement' id='dom_PresentationElement'>
557
+ <descr><p>This interface is provided to serve as a base interface for
558
+ various MathML Presentation interfaces. It contains no new attributes or
559
+ methods at this time; however, it is felt that the distinction between
560
+ Presentation and Content MathML entities should be indicated in the
561
+ MathMLElement hierarchy. In particular, future versions of the MathML DOM
562
+ may add functionality on this interface; it may also serve as an aid to
563
+ implementors.
564
+ </p>
565
+ <?generate-idl?>
566
+ </descr>
567
+ </interface>
568
+ </definitions>
569
+
570
+ <div4><head>Leaf Presentation Element Interfaces</head>
571
+ <definitions>
572
+
573
+ <interface name='MathMLGlyphElement' inherits='MathMLPresentationElement' id='dom_GlyphElement'>
574
+ <descr><p>This interface supports the <intref ref="presm_mglyph"><el>mglyph</el></intref> element
575
+ <specref ref="presm_mglyph"/>.
576
+ </p>
577
+ <?generate-idl?>
578
+ </descr>
579
+ <attribute name='alt' type='DOMString' readonly='no'>
580
+ <descr><p>A string giving an alternate name for the character. Represents
581
+ the <el>mglyph</el>'s <att>alt</att>
582
+ attribute.</p></descr>
583
+ </attribute>
584
+ <attribute name='fontfamily' type='DOMString' readonly='no'>
585
+ <descr><p>A string representing the font family.</p></descr>
586
+ </attribute>
587
+ <attribute name='index' type='unsigned long' readonly='no'>
588
+ <descr><p>An unsigned integer giving the glyph's position within the font.</p></descr>
589
+ </attribute>
590
+ </interface>
591
+
592
+ <interface name='MathMLSpaceElement' inherits='MathMLPresentationElement' id='dom_SpaceElement'>
593
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw>
594
+ interface for the MathML <emph>space </emph>element <intref ref="presm_mspace"><el>mspace</el></intref>.
595
+ Note that this is <emph>not</emph> derived from <intref ref="dom_PresentationToken"><kw>MathMLPresentationToken</kw></intref>,
596
+ despite the fact that <el>mspace</el> is classified as a token element,
597
+ since it does not carry the attributes declared for
598
+ <kw>MathMLPresentationToken</kw>.
599
+ </p>
600
+ <?generate-idl?>
601
+ </descr>
602
+ <attribute name='width' type='DOMString' readonly='no'>
603
+ <descr><p>A string of the form <quote><emph>number</emph>
604
+ <emph>h-unit</emph></quote>; represents the <att>width</att>
605
+ attribute for the <el>mspace</el> element, if specified.</p></descr>
606
+ </attribute>
607
+ <attribute name='height' type='DOMString' readonly='no'>
608
+ <descr><p>A string of the form <quote><emph>number</emph>
609
+ <emph>v-unit</emph></quote>; represents the <att>height</att>
610
+ attribute for the <el>mspace</el> element, if specified.</p></descr>
611
+ </attribute>
612
+ <attribute name='depth' type='DOMString' readonly='no'>
613
+ <descr><p>A string of the form <quote><emph>number</emph>
614
+ <emph>v-unit</emph></quote>; represents the <att>depth</att>
615
+ attribute for the <el>mspace</el> element, if specified.</p></descr>
616
+ </attribute>
617
+ <attribute diff='add' name='linebreak' type='DOMString' readonly='no'>
618
+ <descr diff='add'><p>One of the strings <attval>auto</attval>, <attval>newline</attval>,
619
+ <attval>indentingnewline</attval>, <attval>nobreak</attval>, <attval>goodbreak</attval> and
620
+ <attval>badbreak</attval>. This attribute gives a linebreaking hint to the
621
+ renderer.</p></descr>
622
+ </attribute>
623
+ </interface>
624
+
625
+ </definitions>
626
+ </div4>
627
+
628
+ <div4><head>Presentation Token Element Interfaces</head>
629
+
630
+ <p>Interfaces representing the MathML Presentation token elements that
631
+ may have content are described here.</p>
632
+
633
+ <definitions>
634
+ <interface name='MathMLPresentationToken' inherits='MathMLPresentationElement' id='dom_PresentationToken'>
635
+ <descr><p>This interface extends the <intref ref="dom_Element"><kw>MathMLElement</kw></intref> interface to
636
+ include access for attributes specific to text presentation. It serves as
637
+ the base class for all MathML presentation token elements. Access to the
638
+ body of the element is via the <kw>nodeValue</kw> attribute
639
+ inherited from <kw>Node</kw>. Elements that expose only the core presentation
640
+ token attributes are directly supported by this object. These elements are:
641
+ <glist>
642
+ <gitem><label><intref ref="presm_mi"><el>mi</el></intref></label>
643
+ <def><p>identifier element</p></def>
644
+ </gitem>
645
+ <gitem><label><intref ref="presm_mn"><el>mn</el></intref></label>
646
+ <def><p>number element</p></def>
647
+ </gitem>
648
+ <gitem><label><intref ref="presm_mtext"><el>mtext</el></intref></label>
649
+ <def><p>text element</p></def>
650
+ </gitem>
651
+ </glist>
652
+ </p>
653
+ <?generate-idl?>
654
+ </descr>
655
+ <attribute name='mathvariant' type='DOMString' readonly='no'>
656
+ <descr><p>The <intref ref="presm_commatt"><att>mathvariant</att></intref> attribute for the element, if
657
+ specified. One of the values <attval>normal</attval>, <attval>bold</attval>, <attval>italic</attval>, <attval>bold-italic</attval>, <attval>double-struck</attval>, <attval>bold-fraktur</attval>,
658
+ <attval>script</attval>, <attval>bold-script</attval>, <attval>fraktur</attval>, <attval>sans-serif</attval>, <attval>bold-sans-serif</attval>, <attval>sans-serif-italic</attval>, <attval>sans-serif-bold-italic</attval>,
659
+ or <attval>monospace</attval>.</p></descr>
660
+ </attribute>
661
+ <attribute name='mathsize' type='DOMString' readonly='no'>
662
+ <descr><p>The <intref ref="presm_commatt"><att>mathsize</att></intref> attribute for the element, if
663
+ specified. Either <attval>small</attval>, <attval>normal</attval> or <attval>big</attval>, or of the
664
+ form <attval>number v-unit</attval>.</p></descr>
665
+ </attribute>
666
+ <attribute diff='del' name='mathfamily' type='DOMString' readonly='no'>
667
+ <descr diff='del'><p>The <intref ref="presm_commatt"><att>mathfamily</att></intref> attribute for the element, if
668
+ specified. This should be a string of the form <attval>css-fontfamily</attval>.</p></descr>
669
+ </attribute>
670
+ <attribute name='mathcolor' type='DOMString' readonly='no'>
671
+ <descr><p>The <intref ref="presm_commatt"><att>mathcolor</att></intref> attribute for the element, if
672
+ specified. The <kw>DOMString</kw> returned should be in <phrase diff='chg'>one of the forms "#rgb" or "#rrggbb", or should be an
673
+ <att>html-color-name</att>, as specified in <specref ref="presm_color"/></phrase>.</p></descr>
674
+ </attribute>
675
+ <attribute name='mathbackground' type='DOMString' readonly='no'>
676
+ <descr><p>The <intref ref="presm_commatt"><att>mathbackground</att></intref> attribute for the element, if
677
+ specified. The <kw>DOMString</kw> returned should be in one of the forms "#rgb" or "#rrggbb", <phrase diff='chg'>or an
678
+ <att>html-color-name</att>, as specified in <specref ref="presm_color"/>, or the keyword "transparent"</phrase>.</p></descr>
679
+ </attribute>
680
+ <attribute name='contents' type='MathMLNodeList' readonly='yes'>
681
+ <descr><p>Returns the child <kw>Nodes</kw> of the
682
+ element. These should consist only of <phrase diff='chg'><kw>Text</kw> nodes, <kw>MathMLGlyphElements</kw>,
683
+ and <kw>MathMLAlignMarkElements</kw>.</phrase> Should behave the same as the base class's
684
+ <kw>Node::childNodes</kw> attribute; however, it is provided here for clarity.</p></descr>
685
+ </attribute>
686
+ </interface>
687
+
688
+ <interface name='MathMLOperatorElement' inherits='MathMLPresentationToken' id='dom_OperatorElement'>
689
+ <descr><p>This interface extends the <kw>MathMLPresentationToken</kw>
690
+ interface for the MathML <emph>operator</emph> element <intref ref="presm_mo"><el>mo</el></intref>.
691
+ </p>
692
+ <?generate-idl?>
693
+ </descr>
694
+ <attribute name='form' type='DOMString' readonly='no'>
695
+ <descr><p>The <att>form</att> attribute (<attval>prefix</attval>,
696
+ <attval>infix</attval> or <attval>postfix</attval>) for the
697
+ <el>mo</el> element, if specified.</p></descr>
698
+ </attribute>
699
+ <attribute name='fence' type='DOMString' readonly='no'>
700
+ <descr><p>The <att>fence</att> attribute
701
+ (<attval>true</attval> or <attval>false</attval>)
702
+ for the <el>mo</el> element, if specified.</p></descr>
703
+ </attribute>
704
+ <attribute name='separator' type='DOMString' readonly='no'>
705
+ <descr><p>The <att>separator</att> attribute
706
+ (<attval>true</attval> or <attval>false</attval>) for the
707
+ <el>mo</el> element, if specified.</p></descr>
708
+ </attribute>
709
+ <attribute name='lspace' type='DOMString' readonly='no'>
710
+ <descr><p>The <att>lspace</att> attribute (spacing to left) of
711
+ the <el>mo</el> element, if specified.</p></descr>
712
+ </attribute>
713
+ <attribute name='rspace' type='DOMString' readonly='no'>
714
+ <descr><p>The <att>rspace</att> attribute (spacing to right) of the
715
+ <el>mo</el> element, if specified.</p></descr>
716
+ </attribute>
717
+ <attribute name='stretchy' type='DOMString' readonly='no'>
718
+ <descr><p>The <att>stretchy</att> attribute
719
+ (<attval>true</attval> or <attval>false</attval>) for the
720
+ <el>mo</el> element, if specified.</p></descr>
721
+ </attribute>
722
+ <attribute name='symmetric' type='DOMString' readonly='no'>
723
+ <descr><p>The <att>symmetric</att> attribute
724
+ (<attval>true</attval> or <attval>false</attval>) for the
725
+ <el>mo</el> element, if specified.</p></descr>
726
+ </attribute>
727
+ <attribute name='maxsize' type='DOMString' readonly='no'>
728
+ <descr><p>The <att>maxsize</att> attribute for the
729
+ <el>mo</el> element, if specified.</p></descr>
730
+ </attribute>
731
+ <attribute name='minsize' type='DOMString' readonly='no'>
732
+ <descr><p>The <att>minsize</att> attribute for the
733
+ <el>mo</el> element, if specified.</p></descr>
734
+ </attribute>
735
+ <attribute name='largeop' type='DOMString' readonly='no'>
736
+ <descr><p>The <att>largeop</att> attribute for the
737
+ <el>mo</el> element, if specified.</p></descr>
738
+ </attribute>
739
+ <attribute diff='chg' name='movablelimits' type='DOMString' readonly='no'>
740
+ <descr><p>The <att diff='chg'>movablelimits</att>
741
+ (<attval>true</attval> or <attval>false</attval>) attribute for the
742
+ <el>mo</el> element, if specified.</p></descr>
743
+ </attribute>
744
+ <attribute name='accent' type='DOMString' readonly='no'>
745
+ <descr><p>The <att>accent</att> attribute
746
+ (<attval>true</attval> or <attval>false</attval>) for the
747
+ <el>mo</el> element, if specified.</p></descr>
748
+ </attribute>
749
+ </interface>
750
+
751
+ <interface name='MathMLStringLitElement' inherits='MathMLPresentationToken' id='dom_StringLitElement'>
752
+ <descr><p>This interface extends the <kw>MathMLPresentationToken</kw>
753
+ interface for the MathML <emph>string literal</emph> element
754
+ <intref ref="presm_ms"><el>ms</el></intref>.
755
+ </p>
756
+ <?generate-idl?>
757
+ </descr>
758
+ <attribute name='lquote' type='DOMString' readonly='no'>
759
+ <descr><p>A string giving the opening delimiter for the string literal;
760
+ represents the <att>lquote</att> attribute for the
761
+ <el>ms</el> element, if specified.</p></descr>
762
+ </attribute>
763
+ <attribute name='rquote' type='DOMString' readonly='no'>
764
+ <descr><p>A string giving the closing delimiter for the string literal;
765
+ represents the <att>rquote</att> attribute for the
766
+ <el>ms</el> element, if specified.</p></descr>
767
+ </attribute>
768
+ </interface>
769
+
770
+ </definitions>
771
+ </div4>
772
+
773
+ <div4><head>Presentation Container Interfaces</head>
774
+
775
+ <p>Interfaces designed to represent MathML Presentation elements that can contain
776
+ arbitrary numbers of child <kw>MathMLElements</kw> are included under the heading
777
+ of Presentation Container Elements.</p>
778
+
779
+ <definitions>
780
+ <interface name='MathMLPresentationContainer' inherits='MathMLPresentationElement, MathMLContainer' id='dom_PresentationContainer'>
781
+ <descr><p>This interface represents MathML Presentation elements that may
782
+ contain arbitrarily many child elements. Elements directly supported by this interface
783
+ include <intref ref="presm_mrow"><el>mrow</el></intref>, <intref ref="presm_mphantom"><el>mphantom</el></intref> and <intref ref="presm_merror"><el>merror</el></intref>.
784
+ All attributes and methods are derived from the base <kw>MathMLPresentationElement</kw> and <kw>MathMLContainer</kw> interfaces.</p>
785
+ <?generate-idl?>
786
+ </descr>
787
+ </interface>
788
+
789
+ <interface name='MathMLStyleElement' inherits='MathMLPresentationContainer' id='dom_StyleElement'>
790
+ <descr><p>This interface extends the <intref ref="dom_Element"><kw>MathMLElement</kw></intref> interface for
791
+ the MathML <emph>style</emph> element <intref ref="presm_mstyle"><el>mstyle</el></intref>.
792
+ While the <el>mstyle</el> element may contain any
793
+ <emph>attributes</emph> allowable on any MathML presentation element, only
794
+ <emph>attributes</emph> specific to the <el>mstyle</el>
795
+ element are included in the interface below. Other attributes should be
796
+ accessed using the methods on the base <kw>Element</kw> class, particularly
797
+ the <kw>Element::getAttribute</kw> and <kw>Element::setAttribute</kw>
798
+ methods, or even the <kw>Node::attributes</kw> attribute to access all of
799
+ them at once. Not only does this obviate a lengthy list below, but it seems
800
+ likely that most implementations will find this a considerably more useful
801
+ interface to a <kw>MathMLStyleElement</kw>.
802
+ </p>
803
+ <?generate-idl?>
804
+ </descr>
805
+ <attribute name='scriptlevel' type='DOMString' readonly='no'>
806
+ <descr><p>A string of the form <quote><emph>+/- unsigned
807
+ integer</emph></quote>; represents the <att>scriptlevel</att>
808
+ attribute for the <el>mstyle</el> element, if specified. See
809
+ also the discussion of this attribute.</p></descr>
810
+ </attribute>
811
+ <attribute name='displaystyle' type='DOMString' readonly='no'>
812
+ <descr><p>Either <attval>true</attval> or <attval>false</attval>;
813
+ a string representing the <att>displaystyle</att> attribute for the
814
+ <el>mstyle</el> element, if specified. See also the discussion
815
+ of this attribute.</p></descr>
816
+ </attribute>
817
+ <attribute name='scriptsizemultiplier' type='DOMString' readonly='no'>
818
+ <descr><p>A string of the form <quote><emph>number</emph></quote>;
819
+ represents the <att>scriptsizemultiplier</att> attribute for the
820
+ <el>mstyle</el> element, if specified. See also the discussion
821
+ of this attribute.</p></descr>
822
+ </attribute>
823
+ <attribute name='scriptminsize' type='DOMString' readonly='no'>
824
+ <descr><p>A string of the form <quote><emph>number</emph>
825
+ <emph>v-unit</emph></quote>; represents the
826
+ <att>scriptminsize</att> attribute for the
827
+ <el>mstyle</el> element, if specified. See also the discussion
828
+ of this attribute.</p></descr>
829
+ </attribute>
830
+ <attribute diff='del' name='color' type='DOMString' readonly='no'>
831
+ <descr diff='del'><p>A string representation of a color; represents the
832
+ <intref ref="presm_commatt"><att>color</att></intref> attribute for the <el>mstyle</el>
833
+ element, if specified. See also the discussion of this attribute.</p></descr>
834
+ </attribute>
835
+ <attribute name='background' type='DOMString' readonly='no'>
836
+ <descr><p>A string representation of a color or the string
837
+ <attval>transparent</attval>; represents the
838
+ <att>background</att> attribute for the
839
+ <el>mstyle</el> element, if specified. See also the discussion
840
+ of this attribute.</p></descr>
841
+ </attribute>
842
+ <attribute diff='add' name='veryverythinmathspace' type='DOMString' readonly='no'>
843
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
844
+ <emph>h-unit</emph></quote>; represents the
845
+ <attval>veryverythinmathspace</attval> attribute for the
846
+ <el>mstyle</el> element, if specified. See also the discussion
847
+ of this attribute.</p></descr>
848
+ </attribute>
849
+ <attribute diff='add' name='verythinmathspace' type='DOMString' readonly='no'>
850
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
851
+ <emph>h-unit</emph></quote>; represents the
852
+ <attval>verythinmathspace</attval> attribute for the
853
+ <el>mstyle</el> element, if specified. See also the discussion
854
+ of this attribute.</p></descr>
855
+ </attribute>
856
+ <attribute diff='add' name='thinmathspace' type='DOMString' readonly='no'>
857
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
858
+ <emph>h-unit</emph></quote>; represents the
859
+ <attval>thinmathspace</attval> attribute for the
860
+ <el>mstyle</el> element, if specified. See also the discussion
861
+ of this attribute.</p></descr>
862
+ </attribute>
863
+ <attribute diff='add' name='mediummathspace' type='DOMString' readonly='no'>
864
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
865
+ <emph>h-unit</emph></quote>; represents the
866
+ <attval>mediummathspace</attval> attribute for the
867
+ <el>mstyle</el> element, if specified. See also the discussion
868
+ of this attribute.</p></descr>
869
+ </attribute>
870
+ <attribute diff='add' name='thickmathspace' type='DOMString' readonly='no'>
871
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
872
+ <emph>h-unit</emph></quote>; represents the
873
+ <attval>thickmathspace</attval> attribute for the
874
+ <el>mstyle</el> element, if specified. See also the discussion
875
+ of this attribute.</p></descr>
876
+ </attribute>
877
+ <attribute diff='add' name='verythickmathspace' type='DOMString' readonly='no'>
878
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
879
+ <emph>h-unit</emph></quote>; represents the
880
+ <attval>verythickmathspace</attval> attribute for the
881
+ <el>mstyle</el> element, if specified. See also the discussion
882
+ of this attribute.</p></descr>
883
+ </attribute>
884
+ <attribute diff='add' name='veryverythickmathspace' type='DOMString' readonly='no'>
885
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
886
+ <emph>h-unit</emph></quote>; represents the
887
+ <attval>veryverythickmathspace</attval> attribute for the
888
+ <el>mstyle</el> element, if specified. See also the discussion
889
+ of this attribute.</p></descr>
890
+ </attribute>
891
+ <attribute diff='add' name='negativeveryverythinmathspace' type='DOMString' readonly='no'>
892
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
893
+ <emph>h-unit</emph></quote>; represents the
894
+ <attval>negativeveryverythinmathspace</attval> attribute for the
895
+ <el>mstyle</el> element, if specified. See also the discussion
896
+ of this attribute.</p></descr>
897
+ </attribute>
898
+ <attribute diff='add' name='negativeverythinmathspace' type='DOMString' readonly='no'>
899
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
900
+ <emph>h-unit</emph></quote>; represents the
901
+ <attval>negativeverythinmathspace</attval> attribute for the
902
+ <el>mstyle</el> element, if specified. See also the discussion
903
+ of this attribute.</p></descr>
904
+ </attribute>
905
+ <attribute diff='add' name='negativethinmathspace' type='DOMString' readonly='no'>
906
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
907
+ <emph>h-unit</emph></quote>; represents the
908
+ <attval>negativethinmathspace</attval> attribute for the
909
+ <el>mstyle</el> element, if specified. See also the discussion
910
+ of this attribute.</p></descr>
911
+ </attribute>
912
+ <attribute diff='add' name='negativemediummathspace' type='DOMString' readonly='no'>
913
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
914
+ <emph>h-unit</emph></quote>; represents the
915
+ <attval>negativemediummathspace</attval> attribute for the
916
+ <el>mstyle</el> element, if specified. See also the discussion
917
+ of this attribute.</p></descr>
918
+ </attribute>
919
+ <attribute diff='add' name='negativethickmathspace' type='DOMString' readonly='no'>
920
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
921
+ <emph>h-unit</emph></quote>; represents the
922
+ <attval>negativethickmathspace</attval> attribute for the
923
+ <el>mstyle</el> element, if specified. See also the discussion
924
+ of this attribute.</p></descr>
925
+ </attribute>
926
+ <attribute diff='add' name='negativeverythickmathspace' type='DOMString' readonly='no'>
927
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
928
+ <emph>h-unit</emph></quote>; represents the
929
+ <attval>negativeverythickmathspace</attval> attribute for the
930
+ <el>mstyle</el> element, if specified. See also the discussion
931
+ of this attribute.</p></descr>
932
+ </attribute>
933
+ <attribute diff='add' name='negativeveryverythickmathspace' type='DOMString' readonly='no'>
934
+ <descr diff='add'><p>A string of the form <quote><emph>number</emph>
935
+ <emph>h-unit</emph></quote>; represents the
936
+ <attval>negativeveryverythickmathspace</attval> attribute for the
937
+ <el>mstyle</el> element, if specified. See also the discussion
938
+ of this attribute.</p></descr>
939
+ </attribute>
940
+ </interface>
941
+
942
+ <interface name='MathMLPaddedElement' inherits='MathMLPresentationContainer' id='dom_PaddedElement'>
943
+ <descr><p>This interface extends the <intref ref="dom_Element"><kw>MathMLElement</kw></intref> interface for
944
+ the MathML <emph>spacing adjustment</emph> element
945
+ <intref ref="presm_mpadded"><el>mpadded</el></intref>.
946
+ </p>
947
+ <?generate-idl?>
948
+ </descr>
949
+ <attribute name='width' type='DOMString' readonly='no'>
950
+ <descr><p>A string representing the total <att>width</att> of the
951
+ <el>mpadded</el> element, if specified. See also the discussion
952
+ of this attribute.</p></descr>
953
+ </attribute>
954
+ <attribute name='lspace' type='DOMString' readonly='no'>
955
+ <descr><p>A string representing the <att>lspace</att> attribute -
956
+ the additional space to the left - of the <el>mpadded</el>
957
+ element, if specified. See also the discussion of this
958
+ attribute.</p></descr>
959
+ </attribute>
960
+ <attribute name='height' type='DOMString' readonly='no'>
961
+ <descr><p>A string representing the <att>height</att> above the
962
+ baseline of the <el>mpadded</el> element, if specified. See
963
+ also the discussion of this attribute.</p></descr>
964
+ </attribute>
965
+ <attribute name='depth' type='DOMString' readonly='no'>
966
+ <descr><p>A string representing the <att>depth</att> beneath the
967
+ baseline of the <el>mpadded</el> element, if specified. See
968
+ also the discussion of this attribute.</p></descr>
969
+ </attribute>
970
+ </interface>
971
+
972
+ <interface name='MathMLFencedElement' inherits='MathMLPresentationContainer' id='dom_FencedElement'>
973
+ <descr><p>This interface extends the
974
+ <kw>MathMLPresentationContainer</kw> interface for the MathML
975
+ <emph>fenced content</emph> element <intref ref="presm_mfenced"><el>mfenced</el></intref>.
976
+ </p>
977
+ <?generate-idl?>
978
+ </descr>
979
+ <attribute name='open' type='DOMString' readonly='no'>
980
+ <descr><p>A string representing the <emph>opening-fence</emph> for the
981
+ <el>mfenced</el> element, if specified; this is the element's
982
+ <att>open</att> attribute.</p></descr>
983
+ </attribute>
984
+ <attribute name='close' type='DOMString' readonly='no'>
985
+ <descr><p>A string representing the <phrase diff='chg'><emph>closing-fence</emph></phrase> for the
986
+ <el>mfenced</el> element, if specified; this is the element's
987
+ <att>close</att> attribute.</p></descr>
988
+ </attribute>
989
+ <attribute name='separators' type='DOMString' readonly='no'>
990
+ <descr><p>A string representing any separating characters inside the
991
+ <el>mfenced</el> element, if specified; this is the element's
992
+ <att>separators</att> attribute.</p></descr>
993
+ </attribute>
994
+ </interface>
995
+
996
+ <interface name='MathMLEncloseElement' inherits='MathMLPresentationContainer' id='dom_EncloseElement'>
997
+ <descr><p>This interface supports the <intref ref="presm_menclose"><el>menclose</el></intref>
998
+ element <specref ref="presm_menclose"/>.
999
+ </p>
1000
+ <?generate-idl?>
1001
+ </descr>
1002
+ <attribute name='notation' type='DOMString' readonly='no'>
1003
+ <descr><p>A string giving a name for the notation enclosing
1004
+ the element's contents. Represents the <att>notation</att> attribute
1005
+ of the <el>menclose</el>. <phrase diff='chg'>Any string is allowed as a value; predefined values include
1006
+ <attval>longdiv</attval>, <attval>actuarial</attval>, <attval>radical</attval>,
1007
+ <attval>box</attval>, <attval>roundedbox</attval>, <attval>circle</attval>,
1008
+ <attval>left</attval>, <attval>right</attval>, <attval>top</attval>,
1009
+ <attval>bottom</attval>, <attval>updiagonalstrike</attval>, <attval>downdiagonalstrike</attval>,
1010
+ <attval>verticalstrike</attval>, <attval>horizontalstrike</attval>, or combinations of
1011
+ these strings separated by whitespace (see <specref ref="presm_menclose"/>).</phrase></p></descr>
1012
+ </attribute>
1013
+ </interface>
1014
+
1015
+ <interface name='MathMLActionElement' inherits='MathMLPresentationContainer' id='dom_ActionElement'>
1016
+ <descr><p>This interface extends the
1017
+ <kw>MathMLPresentationContainer</kw> interface for the MathML
1018
+ <emph>enlivening expression</emph> element <intref ref="presm_maction"><el>maction</el></intref>.
1019
+ </p>
1020
+ <?generate-idl?>
1021
+ </descr>
1022
+ <attribute name='actiontype' type='DOMString' readonly='no'>
1023
+ <descr><p>A string specifying the action. Possible values include
1024
+ <attval>toggle</attval>,
1025
+ <attval>statusline</attval>,
1026
+ <attval>tooltip</attval>,<phrase diff='add'> and</phrase>
1027
+ <attval>highlight</attval><phrase diff='del'>, and
1028
+ <attval>menu</attval></phrase>.</p></descr>
1029
+ </attribute>
1030
+ <attribute name='selection' type='DOMString' readonly='no'>
1031
+ <descr><p>A string specifying an integer that selects the current
1032
+ subject of the action.</p></descr>
1033
+ </attribute>
1034
+ </interface>
1035
+
1036
+ </definitions>
1037
+ </div4>
1038
+
1039
+ <div4><head>Presentation Schemata Interfaces</head>
1040
+ <definitions>
1041
+ <interface name='MathMLFractionElement' inherits='MathMLPresentationElement' id='dom_FractionElement'>
1042
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
1043
+ the MathML <emph>fraction</emph> element <intref ref="presm_mfrac"><el>mfrac</el></intref>.
1044
+ </p>
1045
+ <?generate-idl?>
1046
+ </descr>
1047
+ <attribute name='linethickness' type='DOMString' readonly='no'>
1048
+ <descr><p>A string representing the <att>linethickness</att>
1049
+ attribute of the <el>mfrac</el>, if specified.</p></descr>
1050
+ </attribute>
1051
+ <attribute diff='add' name='numalign' type='DOMString' readonly='no'>
1052
+ <descr diff='add'><p>One of the strings <attval>left</attval>, <attval>center</attval>
1053
+ and <attval>right</attval>. Represents the <att>numalign</att> attribute of
1054
+ the <el>mfrac</el>, if specified.</p></descr>
1055
+ </attribute>
1056
+ <attribute diff='add' name='denomalign' type='DOMString' readonly='no'>
1057
+ <descr diff='add'><p>One of the strings <attval>left</attval>, <attval>center</attval>
1058
+ and <attval>right</attval>. Represents the <att>denomalign</att> attribute of
1059
+ the <el>mfrac</el>, if specified.</p></descr>
1060
+ </attribute>
1061
+ <attribute diff='add' name='bevelled' type='DOMString' readonly='no'>
1062
+ <descr diff='add'><p>One of the strings <attval>true</attval> and <attval>false</attval>.
1063
+ Represents the <att>bevelled</att> attribute of the <el>mfrac</el>, if specified.
1064
+ </p></descr>
1065
+ </attribute>
1066
+ <attribute name='numerator' type='MathMLElement' readonly='no'>
1067
+ <descr><p>The first child <intref ref="dom_Element"><kw>MathMLElement</kw></intref> of the
1068
+ <kw>MathMLFractionElement</kw>; represents the numerator of the represented
1069
+ fraction.</p></descr>
1070
+ </attribute>
1071
+ <attribute name='denominator' type='MathMLElement' readonly='no'>
1072
+ <descr><p>The second child <kw>MathMLElement</kw> of the
1073
+ <kw>MathMLFractionElement</kw>; represents the denominator of the
1074
+ represented fraction.</p></descr>
1075
+ </attribute>
1076
+ </interface>
1077
+
1078
+ <interface name='MathMLRadicalElement' inherits='MathMLPresentationElement' id='dom_RadicalElement'>
1079
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
1080
+ the MathML <emph>radical</emph> and <emph>square root</emph> elements
1081
+ <el>mroot</el> and <intref ref="presm_mroot"><el>msqrt</el></intref>.
1082
+ </p>
1083
+ <?generate-idl?>
1084
+ </descr>
1085
+ <attribute name='radicand' type='MathMLElement' readonly='no'>
1086
+ <descr><p>The first child <intref ref="dom_Element"><kw>MathMLElement</kw></intref> of the
1087
+ <kw>MathMLRadicalElement</kw>; represents the <emph>base</emph> of the
1088
+ represented radical.</p></descr>
1089
+ </attribute>
1090
+ <attribute name='index' type='MathMLElement' readonly='no'>
1091
+ <descr><p>The second child <kw>MathMLElement</kw> of the
1092
+ <kw>MathMLRadicalElement</kw>; represents the <emph>index</emph> of the
1093
+ represented radical. This must be <kw>null</kw> for
1094
+ <el>msqrt</el> elements.</p></descr>
1095
+ </attribute>
1096
+ </interface>
1097
+
1098
+ <interface name='MathMLScriptElement' inherits='MathMLPresentationElement' id='dom_ScriptElement'>
1099
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
1100
+ the MathML <emph>subscript</emph>, <emph>superscript</emph> and
1101
+ <emph>subscript-superscript pair</emph> elements
1102
+ <intref ref="presm_msub"><el>msub</el></intref>, <intref ref="presm_msup"><el>msup</el></intref>, and
1103
+ <intref ref="presm_msubsup"><el>msubsup</el></intref>.
1104
+ </p>
1105
+ <?generate-idl?>
1106
+ </descr>
1107
+ <attribute name='subscriptshift' type='DOMString' readonly='no'>
1108
+ <descr><p>A string representing the minimum amount to shift the baseline of
1109
+ the <emph>subscript</emph> down, if specified; this is the element's
1110
+ <att>subscriptshift</att> attribute. This must return <kw>null</kw>
1111
+ for an <el>msup</el>.</p></descr>
1112
+ </attribute>
1113
+ <attribute name='superscriptshift' type='DOMString' readonly='no'>
1114
+ <descr><p>A string representing the minimum amount to shift the baseline of
1115
+ the <emph>superscript</emph> up, if specified; this is the element's
1116
+ <att>superscriptshift</att> attribute. This must return
1117
+ <kw>null</kw> for a <el>msub</el>.</p></descr>
1118
+ </attribute>
1119
+ <attribute name='base' type='MathMLElement' readonly='no'>
1120
+ <descr><p>A <intref ref="dom_Element"><kw>MathMLElement</kw></intref> representing the <emph>base</emph> of
1121
+ the script. This is the first child of the element.</p></descr>
1122
+ </attribute>
1123
+ <attribute name='subscript' type='MathMLElement' readonly='no'>
1124
+ <descr><p>A <kw>MathMLElement</kw> representing the <emph>subscript</emph>
1125
+ of the script. This is the second child of a <el>msub</el>
1126
+ or <el>msubsup</el>; retrieval must return <kw>null</kw>
1127
+ for an <el>msup</el>.</p></descr>
1128
+ <setraises>
1129
+ <exception name='DOMException'>
1130
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised when the element is
1131
+ a <el>msup</el>.</p></descr></exception>
1132
+ </setraises>
1133
+ </attribute>
1134
+ <attribute name='superscript' type='MathMLElement' readonly='no'>
1135
+ <descr><p>A <kw>MathMLElement</kw> representing the
1136
+ <emph>superscript</emph> of the script. This is the second child of a
1137
+ <el>msup</el> or the third child of a
1138
+ <el>msubsup</el>; retrieval must return <kw>null</kw> for an
1139
+ <el>msub</el>.</p> </descr>
1140
+ <setraises>
1141
+ <exception name='DOMException'>
1142
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised when the element is
1143
+ a <el>msub</el>.</p></descr></exception>
1144
+ </setraises>
1145
+ </attribute>
1146
+ </interface>
1147
+
1148
+ <interface name='MathMLUnderOverElement' inherits='MathMLPresentationElement' id='dom_UnderOverElement'>
1149
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
1150
+ the MathML <emph>underscript</emph>, <emph>overscript</emph> and
1151
+ <emph>overscript-underscript pair</emph> elements
1152
+ <intref ref="presm_munder"><el>munder</el></intref>, <intref ref="presm_mover"><el>mover</el></intref> and
1153
+ <intref ref="presm_munderover"><el>munderover</el></intref>.
1154
+ </p>
1155
+ <?generate-idl?>
1156
+ </descr>
1157
+ <attribute name='accentunder' type='DOMString' readonly='no'>
1158
+ <descr><p>Either <attval>true</attval> or <attval>false</attval> if
1159
+ present; a string controlling whether <emph>underscript</emph> is drawn as an
1160
+ <quote>accent</quote> or as a <quote>limit</quote>, if specified; this is the
1161
+ element's <att>accentunder</att> attribute. This must return
1162
+ <kw>null</kw> for an <el>mover</el>.</p></descr>
1163
+ </attribute>
1164
+ <attribute name='accent' type='DOMString' readonly='no'>
1165
+ <descr><p>Either <attval>true</attval> or <attval>false</attval> if
1166
+ present; a string controlling whether <emph>overscript</emph> is drawn as an
1167
+ <quote>accent</quote> or as a <quote>limit</quote>, if specified; this is the
1168
+ element's <att>accent</att> attribute. This must return
1169
+ <kw>null</kw> for an <el>munder</el>.</p></descr>
1170
+ </attribute>
1171
+ <attribute name='base' type='MathMLElement' readonly='no'>
1172
+ <descr><p>A <intref ref="dom_Element"><kw>MathMLElement</kw></intref> representing the <emph>base</emph> of
1173
+ the script. This is the first child of the element.</p></descr>
1174
+ </attribute>
1175
+ <attribute name='underscript' type='MathMLElement' readonly='no'>
1176
+ <descr><p>A <kw>MathMLElement</kw> representing the
1177
+ <emph>underscript</emph> of the script. This is the second child of a
1178
+ <el>munder</el> or <el>munderover</el>;
1179
+ retrieval must return <kw>null</kw> for an <el>mover</el>.</p></descr>
1180
+ <setraises>
1181
+ <exception name='DOMException'>
1182
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised when the element is a
1183
+ <el>mover</el>.</p></descr></exception>
1184
+ </setraises>
1185
+ </attribute>
1186
+ <attribute name='overscript' type='MathMLElement' readonly='no'>
1187
+ <descr><p>A <kw>MathMLElement</kw> representing the
1188
+ <emph>overscript</emph> of the script. This is the second child of a
1189
+ <el>mover</el> or the third child of a <el>munderover</el>; retrieval must return <kw>null</kw> for an
1190
+ <el>munder</el>.</p></descr>
1191
+ <setraises>
1192
+ <exception name='DOMException'>
1193
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised when the element is a
1194
+ <el>munder</el>.</p></descr></exception>
1195
+ </setraises>
1196
+ </attribute>
1197
+ </interface>
1198
+
1199
+ <interface name='MathMLMultiScriptsElement' inherits='MathMLPresentationElement' id='dom_MultiScriptsElement'>
1200
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
1201
+ the MathML <emph>multiscripts</emph> (including prescripts or
1202
+ tensors) element <intref ref="presm_mmultiscripts"><el>mmultiscripts</el></intref>.
1203
+ </p>
1204
+ <?generate-idl?>
1205
+ </descr>
1206
+ <attribute name='subscriptshift' type='DOMString' readonly='no'>
1207
+ <descr><p>A string representing the minimum amount to shift the baseline of
1208
+ the <emph>subscripts</emph> down, if specified; this is the element's
1209
+ <att>subscriptshift</att> attribute.</p></descr>
1210
+ </attribute>
1211
+ <attribute name='superscriptshift' type='DOMString' readonly='no'>
1212
+ <descr><p>A string representing the minimum amount to shift the baseline of
1213
+ the <emph>superscripts</emph> up, if specified; this is the element's
1214
+ <att>superscriptshift</att> attribute.</p></descr>
1215
+ </attribute>
1216
+ <attribute name='base' type='MathMLElement' readonly='no'>
1217
+ <descr><p>A <intref ref="dom_Element"><kw>MathMLElement</kw></intref> representing the <emph>base</emph> of
1218
+ the script. This is the first child of the element.</p></descr>
1219
+ </attribute>
1220
+ <attribute name='prescripts' type='MathMLNodeList' readonly='yes'>
1221
+ <descr><p>A <kw>NodeList</kw> representing the <emph>prescripts</emph> of
1222
+ the script, which appear in the order described by the expression
1223
+ <emph>(prescript presuperscript)*</emph>. This is the same as traversing
1224
+ the contents of the <kw>NodeList</kw> returned by
1225
+ <code>Node::childNodes()</code> from the <kw>Node</kw> following the
1226
+ <el role="emptytag">mprescripts</el> (if present) to the end of the
1227
+ list.</p></descr>
1228
+ </attribute>
1229
+ <attribute name='scripts' type='MathMLNodeList' readonly='yes'>
1230
+ <descr><p>A <kw>MathMLNodeList</kw> representing the <emph>scripts</emph> of the
1231
+ script, which appear in the order described by the expression <emph>(script
1232
+ superscript)*</emph>. This is the same as traversing the contents of the
1233
+ <kw>NodeList</kw> returned by <code>Node::childNodes()</code> from the first
1234
+ <kw>Node</kw> up to and including the <kw>Node</kw> preceding the
1235
+ <el role="emptytag">mprescripts</el> (if present).</p></descr>
1236
+ </attribute>
1237
+ <attribute name='numprescriptcolumns' type='unsigned long' readonly='yes'>
1238
+ <descr><p>The number of script/subscript columns preceding (to the left of)
1239
+ the <emph>base</emph>. Should always be half of
1240
+ <code>getprescripts().length()</code></p></descr>
1241
+ </attribute>
1242
+ <attribute name='numscriptcolumns' type='unsigned long' readonly='yes'>
1243
+ <descr><p>The number of script/subscript columns following (to the right
1244
+ of) the <emph>base</emph>. Should always be half of
1245
+ <code>getscripts().length()</code></p></descr>
1246
+ </attribute>
1247
+ <method name='getPreSubScript'>
1248
+ <descr><p>A convenience method to retrieve <emph>pre-subscript</emph>
1249
+ children of the element, referenced by column index .</p></descr>
1250
+ <parameters>
1251
+ <param name='colIndex' type='unsigned long' attr='in'>
1252
+ <descr><p>Column index of <emph>prescript</emph>
1253
+ (where 1 represents the leftmost <emph>prescript</emph> column).</p></descr>
1254
+ </param>
1255
+ </parameters>
1256
+ <returns type='MathMLElement'>
1257
+ <descr><p>Returns the <kw>MathMLElement</kw> representing the
1258
+ <emph>colIndex</emph>-th presubscript (to the left of the
1259
+ <emph>base</emph>, counting from 1 at the far left). Note that this may be
1260
+ the <kw>MathMLElement</kw> corresponding to the special element
1261
+ <el role="emptytag">none</el> in the case of a <quote>missing</quote>
1262
+ <emph>presubscript</emph> (see the discussion of
1263
+ <el>mmultiscripts</el>), or it may be <kw>null</kw> if
1264
+ <kw>colIndex</kw> is out of range for the element.</p></descr></returns>
1265
+ <raises>
1266
+ </raises>
1267
+ </method>
1268
+ <method name='getSubScript'>
1269
+ <descr><p>A convenience method to retrieve <emph>subscript</emph>
1270
+ children of the element, referenced by column index.</p></descr>
1271
+ <parameters>
1272
+ <param name='colIndex' type='unsigned long' attr='in'>
1273
+ <descr><p>Column index of <emph>script</emph> (where 1 represents the
1274
+ leftmost <emph>script</emph> column, the first to the right
1275
+ of the <emph>base</emph>).</p></descr>
1276
+ </param>
1277
+ </parameters>
1278
+ <returns type='MathMLElement'>
1279
+ <descr><p>Returns the <kw>MathMLElement</kw> representing the
1280
+ <emph>colIndex</emph>-th subscript to the right of the
1281
+ <emph>base</emph>. Note that this may be
1282
+ the <kw>MathMLElement</kw> corresponding to the special element
1283
+ <el role="emptytag">none</el> in the case of a <quote>missing</quote>
1284
+ <emph>subscript</emph> (see the discussion of
1285
+ <el>mmultiscripts</el>), or it may be <kw>null</kw> if
1286
+ <kw>colIndex</kw> is out of range for the element.</p></descr></returns>
1287
+ <raises>
1288
+ </raises>
1289
+ </method>
1290
+ <method name='getPreSuperScript'>
1291
+ <descr><p>A convenience method to retrieve <emph>pre-superscript</emph>
1292
+ children of the element, referenced by column index .</p></descr>
1293
+ <parameters>
1294
+ <param name='colIndex' type='unsigned long' attr='in'>
1295
+ <descr><p>Column index of <emph>pre-superscript</emph> (where 1 represents the
1296
+ leftmost <emph>prescript</emph> column).</p></descr>
1297
+ </param>
1298
+ </parameters>
1299
+ <returns type='MathMLElement'>
1300
+ <descr><p>Returns the <kw>MathMLElement</kw> representing the
1301
+ <emph>colIndex</emph>-th presuperscript (to the left of
1302
+ the <emph>base</emph>, counting from 1 at the far left). Note that this may be
1303
+ the <kw>MathMLElement</kw> corresponding to the special element
1304
+ <el role="emptytag">none</el> in the case of a <quote>missing</quote>
1305
+ <emph>presuperscript</emph> (see the discussion of
1306
+ <el>mmultiscripts</el>), or it may be <kw>null</kw> if
1307
+ <kw>colIndex</kw> is out of range for the element.</p></descr></returns>
1308
+ <raises>
1309
+ </raises>
1310
+ </method>
1311
+ <method name='getSuperScript'>
1312
+ <descr><p>A convenience method to retrieve <emph>superscript</emph>
1313
+ children of the element, referenced by column index .</p></descr>
1314
+ <parameters>
1315
+ <param name='colIndex' type='unsigned long' attr='in'>
1316
+ <descr><p>Column index of <emph>script</emph> (where 1 represents the
1317
+ leftmost <emph>script</emph> column, the first to the right of the
1318
+ <emph>base</emph>)</p></descr>
1319
+ </param>
1320
+ </parameters>
1321
+ <returns type='MathMLElement'>
1322
+ <descr><p>Returns the <kw>MathMLElement</kw> representing the
1323
+ <emph>colIndex</emph>-th superscript to the right of the
1324
+ <emph>base</emph>. Note that this may be
1325
+ the <kw>MathMLElement</kw> corresponding to the special element
1326
+ <el role="emptytag">none</el> in the case of a <quote>missing</quote>
1327
+ <emph>superscript</emph> (see the discussion of
1328
+ <el>mmultiscripts</el>), or it may be <kw>null</kw> if
1329
+ <kw>colIndex</kw> is out of range for the element.</p></descr></returns>
1330
+ <raises>
1331
+ </raises>
1332
+ </method>
1333
+ <method name='insertPreSubScriptBefore'>
1334
+ <descr><p>A convenience method to insert a <emph>pre-subscript</emph> before the position referenced by column index. If
1335
+ <kw>colIndex</kw> is 0, the new <emph>pre-subscript</emph> is appended
1336
+ as the last <emph>pre-subscript</emph> of the <el>mmultiscripts</el>
1337
+ element; if colIndex is 1, a new <emph>pre-subscript</emph> is
1338
+ prepended at the far left.
1339
+ Note that inserting a
1340
+ new <emph>pre-subscript</emph> will cause the insertion of an empty
1341
+ <emph>pre-superscript</emph> in the same column.</p></descr>
1342
+ <parameters>
1343
+ <param name='colIndex' type='unsigned long' attr='in'>
1344
+ <descr><p>Column index of <emph>pre-subscript</emph> (where 1 represents the leftmost <emph>prescript</emph> column).</p></descr>
1345
+ </param>
1346
+ <param name='newScript' type='MathMLElement' attr='in'>
1347
+ <descr><p>A <kw>MathMLElement</kw> representing
1348
+ the element to be inserted as a <emph>pre-subscript</emph>.</p></descr>
1349
+ </param>
1350
+ </parameters>
1351
+ <returns type='MathMLElement'>
1352
+ <descr><p>The <kw>MathMLElement</kw> child of this
1353
+ <kw>MathMLMultiScriptsElement</kw> representing the new script in the DOM.</p></descr></returns>
1354
+ <raises>
1355
+ <exception name='DOMException'>
1356
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1357
+ an element that cannot be a pre-subscript.</p>
1358
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1359
+ than the number of <emph>pre-scripts</emph> of the element.</p></descr></exception>
1360
+ </raises>
1361
+ </method>
1362
+ <method name='setPreSubScriptAt'>
1363
+ <descr><p>A convenience method to set the <emph>pre-subscript</emph> child at the position referenced by <kw>colIndex</kw>.
1364
+ If there is currently a <emph>pre-subscript</emph> at this position, it is
1365
+ replaced by <kw>newScript</kw>.</p></descr>
1366
+ <parameters>
1367
+ <param name='colIndex' type='unsigned long' attr='in'>
1368
+ <descr><p>Column index of <emph>pre-subscript</emph> (where 1 represents the leftmost <emph>prescript</emph> column).</p></descr>
1369
+ </param>
1370
+ <param name='newScript' type='MathMLElement' attr='in'>
1371
+ <descr><p><kw>MathMLElement</kw> representing the
1372
+ element that is to be set as the <kw>colIndex</kw>-th <emph>pre-subscript</emph> child of this element.</p></descr>
1373
+ </param>
1374
+ </parameters>
1375
+ <returns type='MathMLElement'>
1376
+ <descr><p>The <kw>MathMLElement</kw> child of this
1377
+ <kw>MathMLMultiScriptsElement</kw> representing the new pre-subscript in
1378
+ the DOM.</p></descr></returns>
1379
+ <raises>
1380
+ <exception name='DOMException'>
1381
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1382
+ an element that cannot be a <emph>pre-subscript</emph>.</p>
1383
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1384
+ than one more than the number of <emph>pre-scripts</emph> of the element.</p></descr></exception>
1385
+ </raises>
1386
+ </method>
1387
+ <method name='insertSubScriptBefore'>
1388
+ <descr><p>A convenience method to insert a <emph>subscript</emph> before the position referenced by column index. If
1389
+ <kw>colIndex</kw> is 0, the new <emph>subscript</emph> is appended
1390
+ as the last <emph>subscript</emph> of the <el>mmultiscripts</el> element; if colIndex is 1, a new <emph>subscript</emph> is prepended
1391
+ at the far left. Note that inserting a new <emph>subscript</emph> will
1392
+ cause the insertion of an empty <emph>superscript</emph> in the same column.</p></descr>
1393
+ <parameters>
1394
+ <param name='colIndex' type='unsigned long' attr='in'>
1395
+ <descr><p>Column index of <emph>subscript</emph>, where 1 represents the leftmost <emph>script</emph> column (the
1396
+ first to the right of the <emph>base</emph>).</p></descr>
1397
+ </param>
1398
+ <param name='newScript' type='MathMLElement' attr='in'>
1399
+ <descr><p>A <kw>MathMLElement</kw> representing
1400
+ the element to be inserted as a <emph>subscript</emph>.</p></descr>
1401
+ </param>
1402
+ </parameters>
1403
+ <returns type='MathMLElement'>
1404
+ <descr><p>The <kw>MathMLElement</kw> child of this
1405
+ <kw>MathMLMultiScriptsElement</kw> that represents the new <emph>subscript</emph> in the DOM.</p></descr></returns>
1406
+ <raises>
1407
+ <exception name='DOMException'>
1408
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1409
+ an element that cannot be a subscript.</p>
1410
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1411
+ than the number of <emph>scripts</emph> of the element.</p></descr></exception>
1412
+ </raises>
1413
+ </method>
1414
+ <method name='setSubScriptAt'>
1415
+ <descr><p>A convenience method to set the <emph>subscript</emph> child at the position referenced by <kw>colIndex</kw>.
1416
+ If there is currently a <emph>subscript</emph> at this position, it is
1417
+ replaced by <kw>newScript</kw>.</p></descr>
1418
+ <parameters>
1419
+ <param name='colIndex' type='unsigned long' attr='in'>
1420
+ <descr><p>Column index of <emph>subscript</emph>, where 1 represents the leftmost <emph>script</emph> column
1421
+ (the first to the right of the <emph>base</emph>).</p></descr>
1422
+ </param>
1423
+ <param name='newScript' type='MathMLElement' attr='in'>
1424
+ <descr><p><kw>MathMLElement</kw> representing the
1425
+ element that is to be set as the <kw>colIndex</kw>-th <emph>subscript</emph>
1426
+ child of this element.</p></descr>
1427
+ </param>
1428
+ </parameters>
1429
+ <returns type='MathMLElement'>
1430
+ <descr><p>The <kw>MathMLElement</kw> child of this
1431
+ element representing the new <emph>subscript</emph> in the DOM.</p></descr></returns>
1432
+ <raises>
1433
+ <exception name='DOMException'>
1434
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1435
+ an element that cannot be a <emph>subscript</emph>.</p>
1436
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1437
+ than one more than the number of <emph>scripts</emph> of the element.</p></descr></exception>
1438
+ </raises>
1439
+ </method>
1440
+ <method name='insertPreSuperScriptBefore'>
1441
+ <descr><p>A convenience method to insert a <emph>pre-superscript</emph> before the position referenced by column index. If
1442
+ <kw>colIndex</kw> is 0, the new <emph>pre-superscript</emph> is appended
1443
+ as the last <emph>pre-superscript</emph> of the <el>mmultiscripts</el> element; if colIndex is 1, a new <emph>pre-superscript</emph> is prepended at the far left. Note that inserting a
1444
+ new <emph>pre-superscript</emph> will cause the insertion of an empty
1445
+ <emph>pre-subscript</emph> in the same column.</p></descr>
1446
+ <parameters>
1447
+ <param name='colIndex' type='unsigned long' attr='in'>
1448
+ <descr><p>Column index of <emph>pre-superscript</emph> (where 1 represents the leftmost <emph>prescript</emph> column).</p></descr>
1449
+ </param>
1450
+ <param name='newScript' type='MathMLElement' attr='in'>
1451
+ <descr><p>A <kw>MathMLElement</kw> representing
1452
+ the element to be inserted as a <emph>pre-superscript</emph>.</p></descr>
1453
+ </param>
1454
+ </parameters>
1455
+ <returns type='MathMLElement'>
1456
+ <descr><p>The <kw>MathMLElement</kw> child of this
1457
+ element that represents the new <emph>pre-superscript</emph> in the DOM.</p></descr></returns>
1458
+ <raises>
1459
+ <exception name='DOMException'>
1460
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1461
+ an element that cannot be a pre-superscript.</p>
1462
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1463
+ than the number of <emph>pre-scripts</emph> of the element.</p></descr></exception>
1464
+ </raises>
1465
+ </method>
1466
+ <method name='setPreSuperScriptAt'>
1467
+ <descr><p>A convenience method to set the <emph>pre-superscript</emph> child at the position referenced by <kw>colIndex</kw>.
1468
+ If there is currently a <emph>pre-superscript</emph> at this position, it is
1469
+ replaced by <kw>newScript</kw>.</p></descr>
1470
+ <parameters>
1471
+ <param name='colIndex' type='unsigned long' attr='in'>
1472
+ <descr><p>Column index of <emph>pre-superscript</emph> (where 1 represents the leftmost <emph>prescript</emph> column).</p></descr>
1473
+ </param>
1474
+ <param name='newScript' type='MathMLElement' attr='in'>
1475
+ <descr><p><kw>MathMLElement</kw> representing the
1476
+ element that is to be set as the <kw>colIndex</kw>-th <emph>pre-superscript</emph> child of this element.</p></descr>
1477
+ </param>
1478
+ </parameters>
1479
+ <returns type='MathMLElement'>
1480
+ <descr><p>The <kw>MathMLElement</kw> child of this
1481
+ element that represents the new <emph>pre-superscript</emph> in the DOM.</p></descr></returns>
1482
+ <raises>
1483
+ <exception name='DOMException'>
1484
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1485
+ an element that cannot be a <emph>pre-superscript</emph>.</p>
1486
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1487
+ than one more than the number of <emph>pre-scripts</emph> of the element.</p></descr></exception>
1488
+ </raises>
1489
+ </method>
1490
+ <method name='insertSuperScriptBefore'>
1491
+ <descr><p>A convenience method to insert a <emph>superscript</emph> before the position referenced by column index. If
1492
+ <kw>colIndex</kw> is 0, the new <emph>superscript</emph> is appended
1493
+ as the last <emph>superscript</emph> of the <el>mmultiscripts</el> element; if colIndex is 1, a new <emph>superscript</emph> is prepended
1494
+ at the far left. Note that inserting a new <emph>superscript</emph> will
1495
+ cause the insertion of an empty <emph>subscript</emph> in the same column.</p></descr>
1496
+ <parameters>
1497
+ <param name='colIndex' type='unsigned long' attr='in'>
1498
+ <descr><p>Column index of <emph>superscript</emph>, where 1 represents the leftmost <emph>script</emph> column (the
1499
+ first to the right of the <emph>base</emph>).</p></descr>
1500
+ </param>
1501
+ <param name='newScript' type='MathMLElement' attr='in'>
1502
+ <descr><p>A <kw>MathMLElement</kw> representing
1503
+ the element to be inserted as a <emph>superscript</emph>.</p></descr>
1504
+ </param>
1505
+ </parameters>
1506
+ <returns type='MathMLElement'>
1507
+ <descr><p>The <kw>MathMLElement</kw> child of this
1508
+ element that represents the new <emph>superscript</emph> in the DOM.</p></descr></returns>
1509
+ <raises>
1510
+ <exception name='DOMException'>
1511
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1512
+ an element that cannot be a superscript.</p>
1513
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1514
+ than the number of <emph>scripts</emph> of the element.</p></descr></exception>
1515
+ </raises>
1516
+ </method>
1517
+ <method name='setSuperScriptAt'>
1518
+ <descr><p>A convenience method to set the <emph>superscript</emph> child at the position referenced by <kw>colIndex</kw>.
1519
+ If there is currently a <emph>superscript</emph> at this position, it is
1520
+ replaced by <kw>newScript</kw>.</p></descr>
1521
+ <parameters>
1522
+ <param name='colIndex' type='unsigned long' attr='in'>
1523
+ <descr><p>Column index of <emph>superscript</emph>, where 1 represents the leftmost <emph>script</emph> column
1524
+ (the first to the right of the <emph>base</emph>).</p></descr>
1525
+ </param>
1526
+ <param name='newScript' type='MathMLElement' attr='in'>
1527
+ <descr><p><kw>MathMLElement</kw> representing the
1528
+ element that is to be set as the <kw>colIndex</kw>-th <emph>superscript</emph>
1529
+ child of this element.</p></descr>
1530
+ </param>
1531
+ </parameters>
1532
+ <returns type='MathMLElement'>
1533
+ <descr><p>The <kw>MathMLElement</kw> child of this
1534
+ element that represents the new <emph>superscript</emph> in the DOM.</p></descr></returns>
1535
+ <raises>
1536
+ <exception name='DOMException'>
1537
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newScript</kw> represents
1538
+ an element that cannot be a <emph>superscript</emph>.</p>
1539
+ <p>INDEX_SIZE_ERR: Raised if <kw>colIndex</kw> is greater
1540
+ than one more than the number of <emph>scripts</emph> of the element.</p></descr></exception>
1541
+ </raises>
1542
+ </method>
1543
+ </interface>
1544
+
1545
+ <interface name='MathMLTableElement' inherits='MathMLPresentationElement' id='dom_TableElement'>
1546
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw>
1547
+ interface for the MathML <emph>table
1548
+ or matrix</emph> element <intref ref="presm_mtable"><el>mtable</el></intref>.
1549
+ </p>
1550
+ <?generate-idl?>
1551
+ </descr>
1552
+ <attribute name='align' type='DOMString' readonly='no'>
1553
+ <descr><p>A string representing the vertical alignment of the table with
1554
+ the adjacent text. Allowed values are
1555
+ (<attval>top</attval> |
1556
+ <attval>bottom</attval> |
1557
+ <attval>center</attval> |
1558
+ <attval>baseline</attval> |
1559
+ <attval>axis</attval>)[<emph>rownumber</emph>],
1560
+ where <emph>rownumber</emph> is between 1 and <var>n</var> (for a table with
1561
+ <var>n</var> rows) or -1 and -<var>n</var>.</p></descr>
1562
+ </attribute>
1563
+ <attribute name='rowalign' type='DOMString' readonly='no'>
1564
+ <descr><p>A string representing the alignment of entries in each
1565
+ row, consisting of a space-separated sequence of alignment
1566
+ specifiers, each of which can have the following values:
1567
+ <attval>top</attval>,
1568
+ <attval>bottom</attval>,
1569
+ <attval>center</attval>,
1570
+ <attval>baseline</attval>, or
1571
+ <attval>axis</attval>.</p></descr>
1572
+ </attribute>
1573
+ <attribute name='columnalign' type='DOMString' readonly='no'>
1574
+ <descr><p>A string representing the alignment of entries in each
1575
+ column, consisting of a space-separated sequence of alignment
1576
+ specifiers, each of which can have the following values:
1577
+ <attval>left</attval>,
1578
+ <attval>center</attval>, or
1579
+ <attval>right</attval>.</p></descr>
1580
+ </attribute>
1581
+ <attribute name='groupalign' type='DOMString' readonly='no'>
1582
+ <descr><p>A string specifying how the alignment groups within the cells
1583
+ of each row are to be aligned with the corresponding items above or below them
1584
+ in the same column. The string consists of a sequence of braced group
1585
+ alignment lists. Each group alignment list is a space-separated
1586
+ sequence, each of which can have the following values:
1587
+ <attval>left</attval>,
1588
+ <attval>right</attval>,
1589
+ <attval>center</attval>, or
1590
+ <attval>decimalpoint</attval>.</p></descr>
1591
+ </attribute>
1592
+ <attribute name='alignmentscope' type='DOMString' readonly='no'>
1593
+ <descr><p>A string consisting of the values <attval>true</attval> or
1594
+ <attval>false</attval> indicating, for each column, whether it can be
1595
+ used as an alignment scope.</p></descr>
1596
+ </attribute>
1597
+ <attribute name='columnwidth' type='DOMString' readonly='no'>
1598
+ <descr><p>A string consisting of a space-separated sequence of
1599
+ specifiers, each of which can have one of the following forms:
1600
+ <attval>auto</attval>,
1601
+ <kw>number h-unit</kw>,
1602
+ <kw>namedspace</kw>, or
1603
+ <attval>fit</attval>. (A value of the form <kw>namedspace</kw> is one
1604
+ of <attval>veryverythinmathspace</attval>, <attval>verythinmathspace</attval>,
1605
+ <attval>thinmathspace</attval>, <attval>mediummathspace</attval>,
1606
+ <attval>thickmathspace</attval>, <attval>verythickmathspace</attval>, or
1607
+ <attval>veryverythickmathspace</attval>.) This represents the element's
1608
+ <att>columnwidth</att> attribute.</p></descr>
1609
+ </attribute>
1610
+ <attribute name='width' type='DOMString' readonly='no'>
1611
+ <descr><p>A string that is either of the form
1612
+ <kw>number h-unit</kw> or is the string <attval>auto</attval>.
1613
+ This represents the element's <att>width</att> attribute.</p></descr>
1614
+ </attribute>
1615
+ <attribute name='rowspacing' type='DOMString' readonly='no'>
1616
+ <descr><p>A string consisting of a space-separated sequence of
1617
+ specifiers of the form <kw>number v-unit</kw>
1618
+ representing the space to be added between rows.</p></descr>
1619
+ </attribute>
1620
+ <attribute name='columnspacing' type='DOMString' readonly='no'>
1621
+ <descr><p>A string consisting of a space-separated sequence of
1622
+ specifiers of the form <kw>number h-unit</kw>
1623
+ representing the space to be added between columns.</p></descr>
1624
+ </attribute>
1625
+ <attribute name='rowlines' type='DOMString' readonly='no'>
1626
+ <descr><p>A string specifying whether and what kind of lines should be
1627
+ added between each row. The string consists of a
1628
+ space-separated sequence of specifiers, each of which
1629
+ can have the following values:
1630
+ <attval>none</attval>,
1631
+ <attval>solid</attval>, or
1632
+ <attval>dashed</attval>.</p></descr>
1633
+ </attribute>
1634
+ <attribute name='columnlines' type='DOMString' readonly='no'>
1635
+ <descr><p>A string specifying whether and what kind of lines should be
1636
+ added between each column. The string consists of a
1637
+ space-separated sequence of specifiers, each of which
1638
+ can have the following values:
1639
+ <attval>none</attval>,
1640
+ <attval>solid</attval>, or
1641
+ <attval>dashed</attval>.</p></descr>
1642
+ </attribute>
1643
+ <attribute name='frame' type='DOMString' readonly='no'>
1644
+ <descr><p>A string specifying a frame around the table. Allowed
1645
+ values are <kw>(none | solid | dashed)</kw>.</p></descr>
1646
+ </attribute>
1647
+ <attribute name='framespacing' type='DOMString' readonly='no'>
1648
+ <descr><p>A string of the form <kw>number h-unit number v-unit</kw> specifying the spacing between table and its frame.</p></descr>
1649
+ </attribute>
1650
+ <attribute name='equalrows' type='DOMString' readonly='no'>
1651
+ <descr><p>A string with the values <attval>true</attval> or
1652
+ <attval>false</attval>.</p></descr>
1653
+ </attribute>
1654
+ <attribute name='equalcolumns' type='DOMString' readonly='no'>
1655
+ <descr><p>A string with the values <attval>true</attval> or
1656
+ <attval>false</attval>.</p></descr>
1657
+ </attribute>
1658
+ <attribute name='displaystyle' type='DOMString' readonly='no'>
1659
+ <descr><p>A string with the values <attval>true</attval> or
1660
+ <attval>false</attval>.</p></descr>
1661
+ </attribute>
1662
+ <attribute name='side' type='DOMString' readonly='no'>
1663
+ <descr><p>A string with the values <attval>left</attval>,
1664
+ <attval>right</attval>, <attval>leftoverlap</attval>, or
1665
+ <attval>rightoverlap</attval>.</p></descr>
1666
+ </attribute>
1667
+ <attribute name='minlabelspacing' type='DOMString' readonly='no'>
1668
+ <descr><p>A string of the form <kw>number h-unit</kw>, specifying
1669
+ the minimum space between a label and the adjacent entry in the labeled row.</p></descr>
1670
+ </attribute>
1671
+ <attribute name='rows' type='MathMLNodeList' readonly='yes'>
1672
+ <descr><p>A <kw>MathMLNodeList</kw> consisting
1673
+ of <kw>MathMLTableRowElements</kw> and <kw>MathMLLabeledRowElements</kw>
1674
+ representing the rows of the table. This is a <emph>live</emph> object.</p></descr>
1675
+ </attribute>
1676
+ <method name='insertEmptyRow'>
1677
+ <descr><p>A convenience method to insert a new (empty)
1678
+ row (<intref ref="presm_mtr"><el>mtr</el></intref>) in the table before the current <kw>index</kw>-th row. If <kw>index</kw> is less than 0, the new row is inserted
1679
+ before the <kw>-index</kw>-th row counting up from the current last row; if
1680
+ <kw>index</kw> is equal to the current number of rows, the new row is
1681
+ appended as the last row.</p></descr>
1682
+ <parameters>
1683
+ <param name='index' type='long' attr='in'>
1684
+ <descr><p>Position before which to insert the
1685
+ new row, where 0 represents the first row. Negative numbers are used to
1686
+ count backwards from the last row.</p></descr>
1687
+ </param>
1688
+ </parameters>
1689
+ <returns type='MathMLTableRowElement'>
1690
+ <descr><p>Returns the <intref ref="dom_TableRowElement"><kw>MathMLTableRowElement</kw></intref>
1691
+ child of this <kw>MathMLTableElement</kw> that represents the new
1692
+ <el>mtr</el> element being inserted.</p></descr></returns>
1693
+ <raises>
1694
+ <exception name='DOMException'>
1695
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1696
+ than the current number of rows of this <el>mtable</el>
1697
+ element or less than minus this number.</p></descr></exception>
1698
+ </raises>
1699
+ </method>
1700
+ <method name='insertEmptyLabeledRow'>
1701
+ <descr><p>A convenience method to insert a new (empty)
1702
+ labeled row (<intref ref="presm_mlabeledtr"><el>mlabeledtr</el></intref>) in the table before the
1703
+ current <kw>index</kw>-th row. If <kw>index</kw> is less than 0, the new row
1704
+ is inserted before the <kw>-index</kw>-th row counting up from the current
1705
+ last row; if <kw>index</kw> is equal to the current number of rows, the new
1706
+ row is appended as the last row.</p></descr>
1707
+ <parameters>
1708
+ <param name='index' type='long' attr='in'>
1709
+ <descr><p>Position before which to insert the
1710
+ new row, where 0 represents the first row. Negative numbers are used to
1711
+ count backwards from the last row.</p></descr>
1712
+ </param>
1713
+ </parameters>
1714
+ <returns type='MathMLLabeledRowElement'>
1715
+ <descr><p>Returns the <intref ref="dom_LabeledRowElement"><kw>MathMLLabeledRowElement</kw></intref> child of this <kw>MathMLTableElement</kw> representing the
1716
+ <el>mtr</el> element being inserted.</p></descr></returns>
1717
+ <raises>
1718
+ <exception name='DOMException'>
1719
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1720
+ than the current number of rows of this <el>mtable</el>
1721
+ element or less than minus this number.</p></descr></exception>
1722
+ </raises>
1723
+ </method>
1724
+ <method name='getRow'>
1725
+ <descr><p>A convenience method to retrieve the <kw>index</kw>-th row
1726
+ from the table. If <kw>index</kw> is less than 0, the <kw>-index</kw>-th row
1727
+ from the bottom of the table is retrieved. (So, for instance, if <kw>index</kw> is -2, the next-to-last row is retrieved.) If <kw>index</kw> is not
1728
+ a valid value (i.e. is greater than or equal to the number of rows, or is
1729
+ less than minus the number of rows), a <kw>null MathMLTableRowElement</kw> is
1730
+ returned.</p></descr>
1731
+ <parameters>
1732
+ <param diff='chg' name='index' type='long' attr='in'>
1733
+ <descr><p>Index of the row to be returned, where
1734
+ 0 represents the first row. Negative numbers are used to count backwards
1735
+ from the last row.</p></descr>
1736
+ </param>
1737
+ </parameters>
1738
+ <returns type='MathMLTableRowElement'>
1739
+ <descr><p>Returns the <kw>MathMLTableRowElement</kw>
1740
+ representing the <kw>index</kw>-th row of the table.</p></descr></returns>
1741
+ <raises>
1742
+ </raises>
1743
+ </method>
1744
+ <method name='insertRow'>
1745
+ <descr><p>A convenience method to insert the new row or
1746
+ labeled row (<el>mtr</el> or <el>mlabeledtr</el>) represented by <kw>newRow</kw> in the table before the current <kw>index</kw>-th row. If <kw>index</kw> is equal to the current number of rows,
1747
+ <kw>newRow</kw> is appended as the last row in the table. If <kw>index</kw>
1748
+ is less than 0, the new row is inserted before the <kw>-index</kw>-th row
1749
+ from the bottom of the table. (So, for instance, if <kw>index</kw> is -2,
1750
+ the new row is inserted before the next-to-last current row.)</p></descr>
1751
+ <parameters>
1752
+ <param name='index' type='long' attr='in'>
1753
+ <descr><p>Index before which to insert <kw>newRow</kw>, where 0 represents the first row. Negative numbers are used to count
1754
+ backwards from the current last row.</p></descr>
1755
+ </param>
1756
+ <param name='newRow' type='MathMLTableRowElement' attr='in'>
1757
+ <descr><p>A <kw>MathMLTableRowElement</kw> or
1758
+ <kw>MathMLLabeledRowElement</kw> representing the row to be inserted.</p></descr>
1759
+ </param>
1760
+ </parameters>
1761
+ <returns type='MathMLTableRowElement'>
1762
+ <descr><p>The <kw>MathMLTableRowElement</kw> or
1763
+ <kw>MathMLLabeledRowElement</kw> child of this <kw>MathMLTableElement</kw> representing the <el>mtr</el> element being inserted.</p></descr></returns>
1764
+ <raises>
1765
+ <exception name='DOMException'>
1766
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newRow</kw> is not a
1767
+ <kw>MathMLTableRowElement</kw> or <kw>MathMLLabeledRowElement</kw>.</p>
1768
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1769
+ than the current number of rows or less than minus the current number of
1770
+ rows of this <el>mtable</el> element.</p></descr></exception>
1771
+ </raises>
1772
+ </method>
1773
+ <method name='setRow'>
1774
+ <descr><p>A method to set the value of the row in the
1775
+ table at the specified index to the <el>mtr</el> or
1776
+ <el>mlabeledtr</el> represented by <kw>newRow</kw>. If <kw>index</kw> is less than 0, the <kw>-index</kw>-th row counting up from the
1777
+ last is replaced by <kw>newRow</kw>; if <kw>index</kw> is one more than the
1778
+ current number of rows, the new row is appended as the last row in the
1779
+ table.</p></descr>
1780
+ <parameters>
1781
+ <param name='index' type='long' attr='in'>
1782
+ <descr><p>Index of the row to be set to <kw>newRow</kw>, where 0 represents the first row. Negative numbers are used to
1783
+ count backwards from the last row.</p></descr>
1784
+ </param>
1785
+ <param name='newRow' type='MathMLTableRowElement' attr='in'>
1786
+ <descr><p>A <kw>MathMLTableRowElement</kw>
1787
+ representing the row that is to be the new <kw>index</kw>-th row.</p></descr>
1788
+ </param>
1789
+ </parameters>
1790
+ <returns type='MathMLTableRowElement'>
1791
+ <descr><p>Returns the <kw>MathMLTableRowElement</kw>
1792
+ or <kw>MathMLLabeledRowElement</kw> child of this element that represents
1793
+ the new row in the DOM.</p></descr></returns>
1794
+ <raises>
1795
+ <exception name='DOMException'>
1796
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if <kw>newRow</kw> is not a
1797
+ <kw>MathMLTableRowElement</kw> or <kw>MathMLLabeledRowElement</kw>.</p>
1798
+ <p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1799
+ than the current number of rows of this <el>mtable</el>
1800
+ element or less than minus this number.</p></descr></exception>
1801
+ </raises>
1802
+ </method>
1803
+ <method name='deleteRow'>
1804
+ <descr><p>A convenience method to delete the row of the
1805
+ table at the specified index. If <kw>index</kw> is less than 0, the <kw>-index</kw>-th row from the bottom of the table is deleted. (So, for
1806
+ instance, if <kw>index</kw> is -2, the next-to-last row is deleted.)</p></descr>
1807
+ <parameters>
1808
+ <param diff='chg' name='index' type='long' attr='in'>
1809
+ <descr><p>Index of row to be deleted, where 0
1810
+ represents the first row.</p></descr>
1811
+ </param>
1812
+ </parameters>
1813
+ <returns type='void'>
1814
+ <descr><p>None.</p></descr></returns>
1815
+ <raises>
1816
+ <exception name='DOMException'>
1817
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1818
+ than or equal to the current number of rows of this <el>mtable</el> element or less than minus this number.</p></descr></exception>
1819
+ </raises>
1820
+ </method>
1821
+ <method name='removeRow'>
1822
+ <descr><p>A convenience method to delete the row of the
1823
+ table at the specified index and return it to the caller. If <kw>index</kw>
1824
+ is less than 0, the <kw>-index</kw>-th row from the bottom of the table is
1825
+ deleted. (So, for instance, if <kw>index</kw> is -2, the next-to-last
1826
+ row is deleted.)</p></descr>
1827
+ <parameters>
1828
+ <param name='index' type='long' attr='in'>
1829
+ <descr><p>Index of row to be removed, where 0
1830
+ represents the first row.</p></descr>
1831
+ </param>
1832
+ </parameters>
1833
+ <returns type='MathMLTableRowElement'>
1834
+ <descr><p>A <kw>MathMLTableRowElement</kw> representing
1835
+ the row being deleted.</p></descr></returns>
1836
+ <raises>
1837
+ <exception name='DOMException'>
1838
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1839
+ than or equal to the number of rows of this <el>mtable</el>
1840
+ element or less than minus this number.</p></descr></exception>
1841
+ </raises>
1842
+ </method>
1843
+ </interface>
1844
+
1845
+ <interface name='MathMLTableRowElement' inherits='MathMLPresentationElement' id='dom_TableRowElement'>
1846
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw>
1847
+ interface for the MathML table or matrix row element <intref ref="presm_mtr"><el>mtr</el></intref>.
1848
+ </p>
1849
+ <?generate-idl?>
1850
+ </descr>
1851
+ <attribute name='rowalign' type='DOMString' readonly='no'>
1852
+ <descr><p>A string representing an override of the row alignment specified in
1853
+ the containing <intref ref="presm_mtable"><el>mtable</el></intref>. Allowed values are
1854
+ <attval>top</attval>,
1855
+ <attval>bottom</attval>,
1856
+ <attval>center</attval>,
1857
+ <attval>baseline</attval>, and
1858
+ <attval>axis</attval>.</p></descr>
1859
+ </attribute>
1860
+ <attribute name='columnalign' type='DOMString' readonly='no'>
1861
+ <descr><p>A string representing an override of the column alignment specified in
1862
+ the containing <el>mtable</el>. Allowed values are
1863
+ <attval>left</attval>,
1864
+ <attval>center</attval>, and
1865
+ <attval>right</attval>.</p></descr>
1866
+ </attribute>
1867
+ <attribute name='groupalign' type='DOMString' readonly='no'>
1868
+ <descr><p diff="chg">A string specifying how the alignment groups within the cells
1869
+ of each row are to be aligned with the corresponding items above or below them
1870
+ in the same column. The string consists of a sequence of braced group
1871
+ alignment lists. Each group alignment list is a space-separated
1872
+ sequence, each of which can have the following values:
1873
+ <attval>left</attval>,
1874
+ <attval>right</attval>,
1875
+ <attval>center</attval>, or
1876
+ <attval>decimalpoint</attval>.</p></descr>
1877
+ </attribute>
1878
+ <attribute name='cells' type='MathMLNodeList' readonly='yes'>
1879
+ <descr><p>A <kw>MathMLNodeList</kw> consisting of the cells of the
1880
+ row. <emph>Note that this does not include the label if this is a
1881
+ <intref ref="dom_LabeledRowElement"><kw>MathMLLabeledRowElement</kw></intref>!</emph></p></descr>
1882
+ </attribute>
1883
+ <method name='insertEmptyCell'>
1884
+ <descr><p>A convenience method to insert a new (empty)
1885
+ cell in the row.</p></descr>
1886
+ <parameters>
1887
+ <param name='index' type='unsigned long' attr='in'>
1888
+ <descr><p>Index of the cell before which the new
1889
+ cell is to be inserted, where the first cell is numbered 0. If <kw>index</kw>
1890
+ is equal to the current number of cells, the new cell is appended as the
1891
+ last cell of the row. <emph>Note that the index will differ from the index
1892
+ of the corresponding <kw>Node</kw> in the collection returned by <kw>Node::childNodes</kw> if this is a <kw>MathMLLabeledRowElement</kw>!</emph></p></descr>
1893
+ </param>
1894
+ </parameters>
1895
+ <returns type='MathMLTableCellElement'>
1896
+ <descr><p>Returns the <intref ref="dom_TableCellElement"><kw>MathMLTableCellElement</kw></intref>
1897
+ representing the <intref ref="presm_mtd"><el>mtd</el></intref> element being inserted.</p></descr></returns>
1898
+ <raises>
1899
+ <exception name='DOMException'>
1900
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1901
+ than the current number of cells of this <el>mtr</el>
1902
+ element.</p></descr></exception>
1903
+ </raises>
1904
+ </method>
1905
+ <method name='insertCell'>
1906
+ <descr><p>A convenience method to insert a new cell in
1907
+ the row.</p></descr>
1908
+ <parameters>
1909
+ <param name='newCell' type='MathMLTableCellElement' attr='in'>
1910
+ <descr><p>A <kw>MathMLTableCellElement</kw>
1911
+ representing the new cell (<el>mtd</el> element) to be
1912
+ inserted.</p></descr>
1913
+ </param>
1914
+ <param name='index' type='unsigned long' attr='in'>
1915
+ <descr><p>Index of the cell before which the new
1916
+ cell is to be inserted, where the first cell is numbered 0. If <kw>index</kw>
1917
+ equals the current number of cells, the new cell is appended as the last
1918
+ cell of the row. <emph>Note that the index will differ from the index of
1919
+ the corresponding <kw>Node</kw> in <kw>Node::childNodes</kw> if this is a
1920
+ <kw>MathMLLabeledRowElement</kw>!</emph></p></descr>
1921
+ </param>
1922
+ </parameters>
1923
+ <returns type='MathMLTableCellElement'>
1924
+ <descr><p>The <kw>MathMLTableCellElement</kw>
1925
+ representing the <el>mtd</el> element being inserted.</p></descr></returns>
1926
+ <raises>
1927
+ <exception name='DOMException'>
1928
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
1929
+ than the current number of cells of this <el>mtr</el>
1930
+ element.</p></descr></exception>
1931
+ </raises>
1932
+ </method>
1933
+ <method name='setCell'>
1934
+ <descr><p>A convenience method to set the value of a cell
1935
+ in the row to <kw>newCell</kw>. If index is equal to the current number
1936
+ of cells, <kw>newCell</kw> is appended as the last cell in the row.</p></descr>
1937
+ <parameters>
1938
+ <param name='newCell' type='MathMLTableCellElement' attr='in'>
1939
+ <descr><p>A <kw>MathMLTableCellElement</kw>
1940
+ representing the cell (<el>mtd</el> element) that is to be
1941
+ inserted.</p></descr>
1942
+ </param>
1943
+ <param name='index' type='unsigned long' attr='in'>
1944
+ <descr><p>Index of the cell that is to be
1945
+ replaced by the new cell, where the first cell is numbered 0. <emph>Note
1946
+ that the index will differ from the index of the corresponding <kw>Node</kw> in the collection returned by <kw>Node::childNodes</kw> if this is a
1947
+ <kw>MathMLLabeledRowElement</kw>!</emph></p></descr>
1948
+ </param>
1949
+ </parameters>
1950
+ <returns type='MathMLTableCellElement'>
1951
+ <descr><p>The <kw>MathMLTableCellElement</kw>
1952
+ child of this <kw>MathMLTableRowElement</kw> representing the new
1953
+ <el>mtd</el> element.</p></descr></returns>
1954
+ <raises>
1955
+ </raises>
1956
+ </method>
1957
+ <method name='deleteCell'>
1958
+ <descr><p>A convenience method to delete a cell in the row.</p></descr>
1959
+ <parameters>
1960
+ <param name='index' type='unsigned long' attr='in'>
1961
+ <descr><p>Index of cell to be deleted. <emph>Note that the
1962
+ count will differ from the <kw>index</kw>-th child node if this is a
1963
+ <kw>MathMLLabeledRowElement</kw>!</emph></p></descr>
1964
+ </param>
1965
+ </parameters>
1966
+ <returns type='void'>
1967
+ <descr><p>None.</p></descr></returns>
1968
+ <raises>
1969
+ </raises>
1970
+ </method>
1971
+ </interface>
1972
+
1973
+ <interface name='MathMLLabeledRowElement' inherits='MathMLTableRowElement' id='dom_LabeledRowElement'>
1974
+ <descr><p>This interface extends the <kw>MathMLTableRowElement</kw>
1975
+ interface to represent the <intref ref="presm_mlabeledtr"><el>mlabeledtr</el></intref> element
1976
+ <specref ref="presm_mlabeledtr"/>. <emph>Note that the presence of a label
1977
+ causes the <kw>index</kw>th child node to differ from the <kw>index</kw>-th
1978
+ cell!</emph>
1979
+ </p>
1980
+ <?generate-idl?>
1981
+ </descr>
1982
+ <attribute name='label' type='MathMLElement' readonly='no'>
1983
+ <descr><p>A <intref ref="dom_Element"><kw>MathMLElement</kw></intref> representing the
1984
+ label of this row. Note that retrieving this should have the same effect as
1985
+ a call to <kw>Node::getfirstChild()</kw>, while setting it should have the same effect
1986
+ as <code>Node::replaceChild(Node::getfirstChild())</code>.</p></descr>
1987
+ <setraises>
1988
+ <exception name='DOMException'>
1989
+ <descr><p>NO_MODIFICATION_ALLOWED_ERR: Raised if this <kw>MathMLElement</kw> or the
1990
+ new <kw>MathMLElement</kw> is read-only.</p></descr></exception>
1991
+ </setraises>
1992
+ </attribute>
1993
+ </interface>
1994
+
1995
+ <interface name='MathMLTableCellElement' inherits='MathMLPresentationContainer' id='dom_TableCellElement'>
1996
+ <descr><p>This interface extends the <kw>MathMLPresentationContainer</kw>
1997
+ interface for the MathML table or matrix cell element <intref ref="presm_mtd"><el>mtd</el></intref>.
1998
+ </p>
1999
+ <?generate-idl?>
2000
+ </descr>
2001
+ <attribute name='rowspan' type='DOMString' readonly='no'>
2002
+ <descr><p>A string representing a positive integer that specifies the
2003
+ number of rows spanned by this cell. The default is 1.</p></descr>
2004
+ </attribute>
2005
+ <attribute name='columnspan' type='DOMString' readonly='no'>
2006
+ <descr><p>A string representing a positive integer that specifies the
2007
+ number of columns spanned by this cell. The default is 1.</p></descr>
2008
+ </attribute>
2009
+ <attribute name='rowalign' type='DOMString' readonly='no'>
2010
+ <descr><p>A string specifying an override of the inherited vertical
2011
+ alignment of this cell within the table row. Allowed values are
2012
+ <attval>top</attval>,
2013
+ <attval>bottom</attval>,
2014
+ <attval>center</attval>,
2015
+ <attval>baseline</attval>, and
2016
+ <attval>axis</attval>.</p></descr>
2017
+ </attribute>
2018
+ <attribute name='columnalign' type='DOMString' readonly='no'>
2019
+ <descr><p>A string specifying an override of the inherited horizontal
2020
+ alignment of this cell within the table column. Allowed values are
2021
+ <attval>left</attval>,
2022
+ <attval>center</attval>, and
2023
+ <attval>right</attval>.</p></descr>
2024
+ </attribute>
2025
+ <attribute name='groupalign' type='DOMString' readonly='no'>
2026
+ <descr><p>A string specifying how the alignment groups within the cell are
2027
+ to be aligned with those in cells above or below this cell. The string
2028
+ consists of a space-separated sequence of specifiers, each of which
2029
+ can have the following values:
2030
+ <attval>left</attval>,
2031
+ <attval>right</attval>,
2032
+ <attval>center</attval>, or
2033
+ <attval>decimalpoint</attval>.</p></descr>
2034
+ </attribute>
2035
+ <attribute name='hasaligngroups' type='boolean' readonly='yes'>
2036
+ <descr><p>A string with the values <attval>true</attval> or
2037
+ <attval>false</attval> indicating whether the cell contains align groups.</p></descr>
2038
+ </attribute>
2039
+ <attribute name='cellindex' type='DOMString' readonly='yes'>
2040
+ <descr><p>A string representing the integer index (1-based?) of the cell
2041
+ in its containing row. [What about spanning cells? How do these affect this
2042
+ value?]</p></descr>
2043
+ </attribute>
2044
+ </interface>
2045
+
2046
+ <interface name='MathMLAlignGroupElement' inherits='MathMLPresentationElement' id='dom_AlignGroupElement'>
2047
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
2048
+ the MathML group -alignment element <intref ref="presm_malign"><el role="emptytag">maligngroup</el></intref>.
2049
+ </p>
2050
+ <?generate-idl?>
2051
+ </descr>
2052
+ <attribute name='groupalign' type='DOMString' readonly='no'>
2053
+ <descr><p>A string specifying how the alignment group is to be aligned with
2054
+ other alignment groups above or below it. Allowed values are
2055
+ <attval>left</attval>,
2056
+ <attval>right</attval>,
2057
+ <attval>center</attval>, or
2058
+ <attval>decimalpoint</attval>.</p></descr>
2059
+ </attribute>
2060
+ </interface>
2061
+
2062
+ <interface name='MathMLAlignMarkElement' inherits='MathMLPresentationElement' id='dom_AlignMarkElement'>
2063
+ <descr><p>This interface extends the <kw>MathMLPresentationElement</kw> interface for
2064
+ the MathML <emph>alignment mark</emph> element
2065
+ <intref ref="presm_malign"><el role="emptytag">malignmark</el></intref>.
2066
+ </p>
2067
+ <?generate-idl?>
2068
+ </descr>
2069
+ <attribute name='edge' type='DOMString' readonly='no'>
2070
+ <descr><p>A string specifying alignment on the right edge of the preceding
2071
+ element or the left edge of the following element. Allowed values are
2072
+ <attval>left</attval> and
2073
+ <attval>right</attval>.</p></descr>
2074
+ </attribute>
2075
+ </interface>
2076
+
2077
+ </definitions>
2078
+ </div4>
2079
+ </div3>
2080
+
2081
+ <div3><head>Content Elements</head>
2082
+
2083
+ <definitions>
2084
+ <interface name='MathMLContentElement' inherits='MathMLElement' id='dom_ContentElement'>
2085
+ <descr><p>This interface is provided to serve as a base interface for
2086
+ various MathML Content interfaces. It contains no new attributes or methods at this time;
2087
+ however, it is felt that the distinction between Presentation and Content MathML entities
2088
+ should be indicated in the MathMLElement hierarchy. In particular, future versions of
2089
+ the MathML DOM may add functionality on this interface; it may also serve as an aid
2090
+ to implementors.
2091
+ </p>
2092
+ <?generate-idl?>
2093
+ </descr>
2094
+ </interface>
2095
+
2096
+ </definitions>
2097
+ <div4><head>Content Token Interfaces</head>
2098
+ <definitions>
2099
+ <interface name='MathMLContentToken' inherits='MathMLContentElement' id='dom_ContentToken'>
2100
+ <descr><p>This is the interface from which the interfaces representing
2101
+ the MathML Content token elements (<intref ref="contm_ci"><el>ci</el></intref>, <intref ref="contm_cn"><el>cn</el></intref> and
2102
+ <intref ref="contm_csymbol"><el>csymbol</el></intref>) are derived. These elements may contain MathML Presentation
2103
+ elements, <kw>Text</kw> nodes, or a combination of both. Thus the <kw>getArgument</kw>
2104
+ and <kw>insertArgument</kw> methods have been provided to deal with this
2105
+ distinction between these elements and other MathML Content elements.
2106
+ </p>
2107
+ <?generate-idl?>
2108
+ </descr>
2109
+ <attribute name='arguments' type='MathMLNodeList' readonly='yes'>
2110
+ <descr><p>The arguments of this element, returned as a <kw>MathMLNodeList</kw>.
2111
+ Note that this is not necessarily the same as <kw>Node::childNodes</kw>, particularly
2112
+ in the case of the <el>cn</el> element. The reason is that the <intref ref="contm_sep"><el>sep</el></intref>
2113
+ elements that are used to separate the arguments of a <el>cn</el> are
2114
+ not returned.</p></descr>
2115
+ </attribute>
2116
+ <attribute name='definitionURL' type='DOMString' readonly='no'>
2117
+ <descr><p>A URI pointing to a semantic definition for this content element.
2118
+ Note that there is no stipulation about the form this definition may take!</p></descr>
2119
+ </attribute>
2120
+ <attribute name='encoding' type='DOMString' readonly='no'>
2121
+ <descr><p>A string describing the syntax in which the definition
2122
+ located at <intref ref="contm_attrib"><att>definitionURL</att></intref> is given.</p></descr>
2123
+ </attribute>
2124
+ <method name='getArgument'>
2125
+ <descr><p>A convenience method to retrieve the child
2126
+ argument at the position referenced by <kw>index</kw>. Note that this is
2127
+ not necessarily the same as the <kw>index</kw>-th child <kw>Node</kw>
2128
+ of this <kw>Element</kw>; in particular, <el>sep</el>
2129
+ elements will not be counted.</p></descr>
2130
+ <parameters>
2131
+ <param name='index' type='unsigned long' attr='in'>
2132
+ <descr><p>Position of desired argument in the list
2133
+ of arguments. The first argument is numbered 1.</p></descr>
2134
+ </param>
2135
+ </parameters>
2136
+ <returns type='Node'>
2137
+ <descr><p>The <kw>Node</kw> retrieved.</p></descr></returns>
2138
+ <raises>
2139
+ </raises>
2140
+ </method>
2141
+ <method name='insertArgument'>
2142
+ <descr><p>A convenience method to insert <kw>newArgument</kw>
2143
+ before the current <kw>index</kw>-th argument child of this element.
2144
+ If <kw>index</kw> is 0, <kw>newArgument</kw> is appended as the last argument.</p></descr>
2145
+ <parameters>
2146
+ <param diff='add' name='newArgument' type='Node' attr='in'>
2147
+ <descr diff='add'><p><kw>Node</kw> to be inserted as the
2148
+ <kw>index</kw>-th argument. This will either be a <intref ref="dom_Element"><kw>MathMLElement</kw></intref> or
2149
+ a <kw>Text</kw> node.</p></descr>
2150
+ </param>
2151
+ <param name='index' type='unsigned long' attr='in'>
2152
+ <descr><p>Position before which <kw>newArgument</kw>
2153
+ is to be inserted. The first argument is numbered 1.<emph>Note that this is
2154
+ not necessarily the index of the <kw>Node</kw> in the list of child nodes,
2155
+ as nodes representing such elements as <el>sep</el> are not
2156
+ counted as arguments.</emph></p></descr>
2157
+ </param>
2158
+ <param diff='del' name='newArgument' type='Node' attr='in'>
2159
+ <descr diff='del'><p><kw>Node</kw> to be inserted as the
2160
+ <kw>index</kw>-th argument. This will either be a <intref ref="dom_Element"><kw>MathMLElement</kw></intref> or
2161
+ a <kw>Text</kw> node.</p></descr>
2162
+ </param>
2163
+ </parameters>
2164
+ <returns type='Node'>
2165
+ <descr><p>The <kw>Node</kw> inserted. This is the
2166
+ element within the DOM.</p></descr></returns>
2167
+ <raises>
2168
+ </raises>
2169
+ </method>
2170
+ <method name='setArgument'>
2171
+ <descr><p>A convenience method to set an argument child at the position
2172
+ referenced by <kw>index</kw>. If there is currently an argument at this
2173
+ position, it is replaced by <kw>newArgument</kw>.</p></descr>
2174
+ <parameters>
2175
+ <param diff='add' name='newArgument' type='Node' attr='in'>
2176
+ <descr diff='add'><p><kw>Node</kw> to be inserted as the argument.
2177
+ This will either be a <kw>MathMLElement</kw> or a <kw>Text</kw> node.</p></descr>
2178
+ </param>
2179
+ <param name='index' type='unsigned long' attr='in'>
2180
+ <descr><p>Position of the argument that is to be
2181
+ set to <kw>newArgument</kw> in the list of arguments. The first argument
2182
+ is numbered 1. <emph>Note that this is not necessarily the index of the
2183
+ <kw>Node</kw> in the list of child nodes, as nodes representing such elements
2184
+ as <el>sep</el> are not counted as arguments.</emph></p></descr>
2185
+ </param>
2186
+ <param diff='del' name='newArgument' type='Node' attr='in'>
2187
+ <descr diff='del'><p><kw>Node</kw> to be inserted as the argument.
2188
+ This will either be a <kw>MathMLElement</kw> or a <kw>Text</kw> node.</p></descr>
2189
+ </param>
2190
+ </parameters>
2191
+ <returns type='Node'>
2192
+ <descr><p>The <kw>Node</kw> inserted. This is the
2193
+ element within the DOM.</p></descr></returns>
2194
+ <raises>
2195
+ </raises>
2196
+ </method>
2197
+ <method name='deleteArgument'>
2198
+ <descr><p>A convenience method to delete the argument child
2199
+ located at the position referenced by <kw>index</kw>.</p></descr>
2200
+ <parameters>
2201
+ <param name='index' type='unsigned long' attr='in'>
2202
+ <descr><p>Position of the argument to be deleted from
2203
+ the list of arguments. The first argument is numbered 1.</p></descr>
2204
+ </param>
2205
+ </parameters>
2206
+ <returns type='void'>
2207
+ <descr><p>None.</p></descr></returns>
2208
+ <raises>
2209
+ </raises>
2210
+ </method>
2211
+ <method name='removeArgument'>
2212
+ <descr><p>A convenience method to delete the argument child
2213
+ located at the position referenced by <kw>index</kw>, and to return it to
2214
+ the caller.</p></descr>
2215
+ <parameters>
2216
+ <param name='index' type='unsigned long' attr='in'>
2217
+ <descr><p>Position of the argument to be deleted from
2218
+ the list of arguments. The first argument is numbered 1.</p></descr>
2219
+ </param>
2220
+ </parameters>
2221
+ <returns type='Node'>
2222
+ <descr><p>A <kw>Node</kw> representing the deleted
2223
+ argument.</p></descr></returns>
2224
+ <raises>
2225
+ </raises>
2226
+ </method>
2227
+ </interface>
2228
+
2229
+ <interface name='MathMLCnElement' inherits='MathMLContentToken' id='dom_CnElement'>
2230
+ <descr><p>The <intref ref="contm_cn"><el>cn</el></intref> element is used to specify actual
2231
+ numeric constants.
2232
+ </p>
2233
+ <?generate-idl?>
2234
+ </descr>
2235
+ <attribute name='type' type='DOMString' readonly='no'>
2236
+ <descr><p>Values include, but are not restricted to,
2237
+ <attval>e-notation</attval>,
2238
+ <attval>integer</attval>,
2239
+ <attval>rational</attval>,
2240
+ <attval>real</attval>,
2241
+ <attval diff='del'>float,</attval>
2242
+ <attval>complex</attval>,
2243
+ <attval>complex-polar</attval>,
2244
+ <attval>complex-cartesian</attval>, and
2245
+ <attval>constant</attval>.</p></descr>
2246
+ </attribute>
2247
+ <attribute name='base' type='DOMString' readonly='no'>
2248
+ <descr><p>A string representing an integer between 2 and 36; the base of the
2249
+ numerical representation.</p></descr>
2250
+ </attribute>
2251
+ <attribute name='nargs' type='unsigned long' readonly='yes'>
2252
+ <descr><p>The number of <intref ref="contm_sep"><el>sep</el></intref>-separated arguments.</p></descr>
2253
+ </attribute>
2254
+ </interface>
2255
+
2256
+ <interface name='MathMLCiElement' inherits='MathMLContentToken' id='dom_CiElement'>
2257
+ <descr><p>The <intref ref="contm_ci"><el>ci</el></intref> element is used to specify a symbolic
2258
+ name.
2259
+ </p>
2260
+ <?generate-idl?>
2261
+ </descr>
2262
+ <attribute name='type' type='DOMString' readonly='no'>
2263
+ <descr><p>Values include
2264
+ <attval>integer</attval>,
2265
+ <attval>rational</attval>,
2266
+ <attval>real</attval>,
2267
+ <attval diff='del'>float,</attval>
2268
+ <attval>complex</attval>,
2269
+ <attval>complex-polar</attval>,
2270
+ <attval>complex-cartesian</attval>,
2271
+ <attval>constant</attval>,
2272
+ <attval diff='add'>function</attval>,
2273
+ any of the MathML content container types
2274
+ (<attval>vector</attval>,
2275
+ <attval>matrix</attval>,
2276
+ <attval>set</attval>,
2277
+ <attval>list</attval> etc.)
2278
+ or their types.</p></descr>
2279
+ </attribute>
2280
+ </interface>
2281
+
2282
+ <interface name='MathMLCsymbolElement' inherits='MathMLContentToken' id='dom_CsymbolElement'>
2283
+ <descr><p>This interface represents the <intref ref="contm_csymbol"><el>csymbol</el></intref>
2284
+ element. Although it currently has no attributes or methods distinct from those of <kw>MathMLContentToken</kw>,
2285
+ a separate interface is provided to emphasize the conceptual role of the <el>csymbol</el> element.
2286
+ </p>
2287
+ <?generate-idl?>
2288
+ </descr>
2289
+ </interface>
2290
+ </definitions>
2291
+ </div4>
2292
+
2293
+ <div4><head>Content Container Interfaces</head>
2294
+
2295
+ <p>We have added interfaces for content elements that are containers,
2296
+ i.e. elements that may contain child elements corresponding to arguments,
2297
+ bound variables, conditions, or lower or upper limits.</p>
2298
+
2299
+ <definitions>
2300
+ <interface name='MathMLContentContainer' inherits='MathMLContentElement, MathMLContainer' id='dom_ContentContainer'>
2301
+ <descr><p>This interface supports the MathML Content elements that may
2302
+ contain child Content elements. The elements directly supported by <kw>MathMLContentContainer</kw>
2303
+ include: <intref ref="contm_reln"><el>reln</el></intref> (deprecated),
2304
+ <intref ref="contm_lambda"><el>lambda</el></intref>, <intref ref="contm_lowlimit"><el>lowlimit</el></intref>,
2305
+ <intref ref="contm_uplimit"><el>uplimit</el></intref>, <intref ref="contm_degree"><el>degree</el></intref>,
2306
+ <intref ref="contm_domainofapplication"><el>domainofapplication</el></intref>, and <intref ref="contm_momentabout"><el>momentabout</el></intref>.
2307
+ Interfaces derived from MathMLContentContainer support the elements <intref ref="contm_apply"><el>apply</el></intref>,
2308
+ <intref ref="contm_fn"><el>fn</el></intref>, <intref ref="contm_interval"><el>interval</el></intref>,
2309
+ <intref ref="contm_condition"><el>condition</el></intref>, <intref ref="contm_declare"><el>declare</el></intref>,
2310
+ <intref ref="contm_bvar"><el>bvar</el></intref>, <intref ref="contm_set"><el>set</el></intref>,
2311
+ <intref ref="contm_list"><el>list</el></intref>, <intref ref="contm_vector"><el>vector</el></intref>,
2312
+ <intref ref="contm_matrix"><el>matrix</el></intref>, and <intref ref="contm_matrixrow"><el>matrixrow</el></intref>.
2313
+ </p>
2314
+ <?generate-idl?>
2315
+ </descr>
2316
+ <attribute name='nBoundVariables' type='unsigned long' readonly='yes'>
2317
+ <descr><p>The number of <el>bvar</el>
2318
+ child elements of this element.</p></descr>
2319
+ </attribute>
2320
+ <attribute name='condition' type='MathMLConditionElement' readonly='no'>
2321
+ <descr><p>This attribute represents the <el>condition</el> child
2322
+ element of this node. See <specref ref="contm_opwithqual"/>.</p></descr>
2323
+ <setraises>
2324
+ <exception name='DOMException'>
2325
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2326
+ <el>condition</el> element. In particular, raised if
2327
+ this element is not a <el>apply</el>,
2328
+ <el>set</el>, or <el>list</el>.</p></descr></exception>
2329
+ </setraises>
2330
+ </attribute>
2331
+ <attribute name='opDegree' type='MathMLElement' readonly='no'>
2332
+ <descr><p>This attribute represents the <el>degree</el> child
2333
+ element of this node. This expresses, for instance, the degree of differentiation
2334
+ if this element is a <el>bvar</el> child of an
2335
+ <el>apply</el> element whose first child is a <intref ref="contm_diff"><el>diff</el></intref>
2336
+ or <intref ref="contm_partialdiff"><el>partialdiff</el></intref>. If this is an
2337
+ <el>apply</el> element whose first child is a <el>partialdiff</el>,
2338
+ the <kw>opDegree</kw> attribute, if present, represents the total degree of differentiation.
2339
+ See <specref ref="contm_opwithqual"/>.</p></descr>
2340
+ <setraises>
2341
+ <exception name='DOMException'>
2342
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2343
+ <el>degree</el> element. In particular, raised if
2344
+ this element is not a <el>bvar</el> or <el>apply</el>.</p></descr></exception>
2345
+ </setraises>
2346
+ </attribute>
2347
+ <attribute name='domainOfApplication' type='MathMLElement' readonly='no'>
2348
+ <descr><p>This attribute represents the <el>domainofapplication</el> child
2349
+ element of this node, if present. This may express, for instance, the domain of integration
2350
+ if this element is an <el>apply</el> element whose first child is an integral operator
2351
+ (<intref ref="contm_int"><el>int</el></intref>). See <specref ref="contm_opwithqual"/>.</p></descr>
2352
+ <setraises>
2353
+ <exception name='DOMException'>
2354
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2355
+ <el>domainofapplication</el> element.</p></descr></exception>
2356
+ </setraises>
2357
+ </attribute>
2358
+ <attribute name='momentAbout' type='MathMLElement' readonly='no'>
2359
+ <descr><p>This attribute represents the <el>momentabout</el> child
2360
+ element of this node, if present. This typically expresses the point about which a statistical
2361
+ moment is to be calculated, if this element is an <el>apply</el> element whose
2362
+ first child is a <intref ref="contm_moment"><el>moment</el></intref>. See
2363
+ <specref ref="contm_opwithqual"/>.</p></descr>
2364
+ <setraises>
2365
+ <exception name='DOMException'>
2366
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2367
+ <el>momentabout</el> element. In particular, raised if
2368
+ this element is not an <el>apply</el> whose first child is a <el>moment</el>.</p></descr></exception>
2369
+ </setraises>
2370
+ </attribute>
2371
+ <method name='getBoundVariable'>
2372
+ <descr><p>This method retrieves the <kw>index</kw>-th
2373
+ <intref ref="dom_BvarElement"><kw>MathMLBvarElement</kw></intref> child of the <kw>MathMLElement</kw>. Note that
2374
+ only <el>bvar</el> child elements are counted in determining
2375
+ the <kw>index</kw>-th bound variable.</p></descr>
2376
+ <parameters>
2377
+ <param name='index' type='unsigned long' attr='in'>
2378
+ <descr><p>The one-based index into the bound variable
2379
+ children of this element of the <kw>MathMLBvarElement</kw> to
2380
+ be retrieved.</p></descr>
2381
+ </param>
2382
+ </parameters>
2383
+ <returns type='MathMLBvarElement'>
2384
+ <descr><p>The <kw>MathMLBvarElement</kw> representing
2385
+ the <kw>index</kw>-th <el>bvar</el> child of this element.</p></descr></returns>
2386
+ <raises>
2387
+ </raises>
2388
+ </method>
2389
+ <method name='insertBoundVariable'>
2390
+ <descr><p>This method inserts a <kw>MathMLBvarElement</kw>
2391
+ as a child node before the current <kw>index</kw>-th bound variable child
2392
+ of this <kw>MathMLElement</kw>. If <kw>index</kw> is 0, <kw>newBVar</kw>
2393
+ is appended as the last bound variable child. This has the effect of adding
2394
+ a bound variable to the expression this element represents. Note that the
2395
+ new bound variable is inserted as the <kw>index</kw>-th <el>bvar</el> child node, not necessarily as the <kw> index</kw>-th child node.
2396
+ The point of the method is to allow insertion of bound variables without
2397
+ requiring the caller to calculate the exact order of child qualifier
2398
+ elements.</p></descr>
2399
+ <parameters>
2400
+ <param name='newBVar' type='MathMLBvarElement' attr='in'>
2401
+ <descr><p>A <kw>MathMLBvarElement</kw> representing
2402
+ the <el>bvar</el> element being added.</p></descr>
2403
+ </param>
2404
+ <param name='index' type='unsigned long' attr='in'>
2405
+ <descr><p>The one-based index into the bound variable
2406
+ children of this element before which <kw>newBVar</kw> is to be inserted.</p></descr>
2407
+ </param>
2408
+ </parameters>
2409
+ <returns type='MathMLBvarElement'>
2410
+ <descr><p>The <kw>MathMLBvarElement</kw> being
2411
+ added.</p></descr></returns>
2412
+ <raises>
2413
+ <exception name='DOMException'>
2414
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit child
2415
+ <el>bvar</el> elements.</p></descr></exception>
2416
+ </raises>
2417
+ </method>
2418
+ <method name='setBoundVariable'>
2419
+ <descr><p>This method sets the <kw>index</kw>-th bound
2420
+ variable child of this <kw>MathMLElement</kw> to <kw>newBVar</kw>. This
2421
+ has the effect of setting a bound variable in the expression this element
2422
+ represents. Note that the new bound variable is inserted as the <kw>index</kw>-th <el>bvar</el> child node, not necessarily
2423
+ as the <kw>index</kw>-th child node. The point of the method is to allow
2424
+ insertion of bound variables without requiring the caller to calculate the
2425
+ exact order of child qualifier elements. If there is already a
2426
+ <el>bvar</el> at the <kw>index</kw>-th position, it is
2427
+ replaced by <kw>newBVar</kw>.</p></descr>
2428
+ <parameters>
2429
+ <param name='newBVar' type='MathMLBvarElement' attr='in'>
2430
+ <descr><p>The new <kw>MathMLBvarElement</kw>
2431
+ child of this element being set.</p></descr>
2432
+ </param>
2433
+ <param name='index' type='unsigned long' attr='in'>
2434
+ <descr><p>The one-based index into the bound variable
2435
+ children of this element at which <kw>newBVar</kw> is to be inserted.</p></descr>
2436
+ </param>
2437
+ </parameters>
2438
+ <returns type='MathMLBvarElement'>
2439
+ <descr><p>The <kw>MathMLBvarElement</kw> being
2440
+ set.</p></descr></returns>
2441
+ <raises>
2442
+ <exception name='DOMException'>
2443
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit child
2444
+ <el>bvar</el> elements.</p></descr></exception>
2445
+ </raises>
2446
+ </method>
2447
+ <method name='deleteBoundVariable'>
2448
+ <descr><p>This method deletes the <kw>index</kw>-th
2449
+ <kw>MathMLBvarElement</kw> child of the <kw>MathMLElement</kw>. This has the
2450
+ effect of removing this bound variable from the list of qualifiers
2451
+ affecting the element this represents.</p></descr>
2452
+ <parameters>
2453
+ <param name='index' type='unsigned long' attr='in'>
2454
+ <descr><p>The one-based index into the bound variable
2455
+ children of this element of the <kw>MathMLBvarElement</kw> to
2456
+ be removed.</p></descr>
2457
+ </param>
2458
+ </parameters>
2459
+ <returns type='void'>
2460
+ <descr><p>None.</p></descr></returns>
2461
+ <raises>
2462
+ </raises>
2463
+ </method>
2464
+ <method name='removeBoundVariable'>
2465
+ <descr><p>This method removes the <kw>index</kw>-th
2466
+ <kw>MathMLBvarElement</kw> child of the <kw>MathMLElement</kw> and returns
2467
+ it to the caller. This has the effect of removing this bound variable from
2468
+ the list of qualifiers affecting the element this represents.</p></descr>
2469
+ <parameters>
2470
+ <param name='index' type='unsigned long' attr='in'>
2471
+ <descr><p>The one-based index into the bound variable
2472
+ children of this element of the <kw>MathMLBvarElement</kw> to
2473
+ be removed.</p></descr>
2474
+ </param>
2475
+ </parameters>
2476
+ <returns type='MathMLBvarElement'>
2477
+ <descr><p>The <kw>MathMLBvarElement</kw>
2478
+ being removed.</p></descr></returns>
2479
+ <raises>
2480
+ </raises>
2481
+ </method>
2482
+ </interface>
2483
+
2484
+ <interface name='MathMLApplyElement' inherits='MathMLContentContainer' id='dom_ApplyElement'>
2485
+ <descr><p>The <intref ref="contm_apply"><el>apply</el></intref> element allows a function or
2486
+ operator to be applied to its arguments.
2487
+ </p>
2488
+ <?generate-idl?>
2489
+ </descr>
2490
+ <attribute name='operator' type='MathMLElement' readonly='no'>
2491
+ <descr><p>The MathML element representing the function or operator that is
2492
+ applied to the list of arguments.</p></descr>
2493
+ </attribute>
2494
+ <attribute diff='del' name='domainOfApplication' type='MathMLElement' readonly='no'>
2495
+ <descr diff='del'><p>This attribute represents the <intref ref="contm_domainofapplication"><el>domainofapplication</el></intref>
2496
+ child element of this node (if any). This expresses, for instance, the domain of integration
2497
+ if this is an <el>apply</el> element whose first child is a
2498
+ <intref ref="contm_int"><el>int</el></intref>. See <specref ref="contm_opwithqual"/>.</p></descr>
2499
+ <setraises diff='del'>
2500
+ <exception diff='del' name='DOMException'>
2501
+ <descr diff='del'><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2502
+ <intref ref="contm_domainofapplication"><el>domainofapplication</el></intref> element.</p></descr></exception>
2503
+ </setraises>
2504
+ </attribute>
2505
+ <attribute name='lowLimit' type='MathMLElement' readonly='no'>
2506
+ <descr><p>This attribute represents the <intref ref="contm_lowlimit"><el>lowlimit</el></intref>
2507
+ child element of this node (if any). This expresses, for instance, the lower limit of
2508
+ integration if this is an <el>apply</el> element whose first
2509
+ child is a <intref ref="contm_int"><el>int</el></intref>. See <specref ref="contm_opwithqual"/>.</p></descr>
2510
+ <setraises>
2511
+ <exception name='DOMException'>
2512
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2513
+ <el>lowlimit</el> element. In particular, raised if
2514
+ this element is not an <el>apply</el> element whose first child
2515
+ is an <el>int</el>, <intref ref="contm_sum"><el>sum</el></intref>,
2516
+ <intref ref="contm_product"><el>product</el></intref>, or <intref ref="contm_limit"><el>limit</el></intref> element.</p></descr></exception>
2517
+ </setraises>
2518
+ </attribute>
2519
+ <attribute name='upLimit' type='MathMLElement' readonly='no'>
2520
+ <descr><p>This attribute represents the <intref ref="contm_uplimit"><el>uplimit</el></intref>
2521
+ child element of this node (if any). This expresses, for instance, the upper limit of
2522
+ integration if this is an <el>apply</el> element whose first
2523
+ child is a <el>int</el>. See <specref ref="contm_opwithqual"/>.</p></descr>
2524
+ <setraises>
2525
+ <exception name='DOMException'>
2526
+ <descr><p>HIERARCHY_REQUEST_ERR: Raised if this element does not permit a child
2527
+ <el>uplimit</el> element. In particular, raised if
2528
+ this element is not an <el>apply</el> element whose first child
2529
+ is an <el>int</el>, <el>sum</el>,
2530
+ or <el>product</el> element.</p></descr></exception>
2531
+ </setraises>
2532
+ </attribute>
2533
+ </interface>
2534
+
2535
+ <interface name='MathMLFnElement' inherits='MathMLContentContainer' id='dom_FnElement'>
2536
+ <descr><p>The <intref ref="contm_fn"><el>fn</el></intref> element makes explicit the fact that
2537
+ a more general MathML object is intended to be used in the same manner as if it
2538
+ were a pre-defined function such as <intref ref="contm_trig"><el>sin</el></intref> or
2539
+ <intref ref="contm_plus"><el>plus</el></intref>.
2540
+ </p>
2541
+ <?generate-idl?>
2542
+ </descr>
2543
+ <attribute name='definitionURL' type='DOMString' readonly='no'>
2544
+ <descr><p>A URI pointing to a definition for this function-type element. Note
2545
+ that there is no stipulation about the form this definition may take!</p></descr>
2546
+ </attribute>
2547
+ <attribute name='encoding' type='DOMString' readonly='no'>
2548
+ <descr><p>A string describing the syntax in which the definition
2549
+ located at <intref ref="contm_attrib"><att>definitionURL</att></intref> is given.</p></descr>
2550
+ </attribute>
2551
+ </interface>
2552
+
2553
+ <interface name='MathMLLambdaElement' inherits='MathMLContentContainer' id='dom_LambdaElement'>
2554
+ <descr><p>The <intref ref="contm_lambda"><el>lambda</el></intref> element is used to construct a
2555
+ user-defined function from an expression and one or more free variables.
2556
+ </p>
2557
+ <?generate-idl?>
2558
+ </descr>
2559
+ <attribute name='expression' type='MathMLElement' readonly='no'>
2560
+ <descr><p>The <intref ref="dom_Element"><kw>MathMLElement</kw></intref> representing the expression.
2561
+ This is included only as a convenience; getting it should give the same
2562
+ result as <code>MathMLContentContainer::getArgument(1)</code>.</p></descr>
2563
+ </attribute>
2564
+ </interface>
2565
+
2566
+ <interface name='MathMLSetElement' inherits='MathMLContentContainer' id='dom_SetElement'>
2567
+ <descr><p>The <intref ref="contm_set"><el>set</el></intref> element is the container element
2568
+ that represents a set of elements. The elements of a set can be defined either
2569
+ by explicitly listing the elements, or by using the
2570
+ <intref ref="contm_bvar"><el>bvar</el></intref> and <intref ref="contm_condition"><el>condition</el></intref> elements.
2571
+ </p>
2572
+ <?generate-idl?>
2573
+ </descr>
2574
+ <attribute name='isExplicit' type='boolean' readonly='yes'>
2575
+ <descr><p>This is true if the set is specified by giving the list
2576
+ of its elements explicitly.</p></descr>
2577
+ </attribute>
2578
+ <attribute name='type' type='DOMString' readonly='no'>
2579
+ <descr><p>The <intref ref="contm_typeattrib"><att>type</att></intref> attribute of
2580
+ the represented element. Predefined values are <attval>normal</attval>
2581
+ and <attval>multiset</attval>. See
2582
+ <specref ref="contm_sets"/> and <specref ref="contm_attrib"/>.</p></descr>
2583
+ </attribute>
2584
+ </interface>
2585
+
2586
+ <interface name='MathMLListElement' inherits='MathMLContentContainer' id='dom_ListElement'>
2587
+ <descr><p>The <intref ref="contm_list"><el>list</el></intref> element is the container element
2588
+ which represents a list of elements. Elements can be defined either by
2589
+ explicitly listing the elements, or by using the <intref ref="contm_bvar"><el>bvar</el></intref>
2590
+ and <intref ref="contm_condition"><el>condition</el></intref> elements.
2591
+ </p>
2592
+ <?generate-idl?>
2593
+ </descr>
2594
+ <attribute name='isExplicit' type='boolean' readonly='yes'>
2595
+ <descr><p>This is true if the list is specified
2596
+ by giving its elements explicitly.</p></descr>
2597
+ </attribute>
2598
+ <attribute name='ordering' type='DOMString' readonly='no'>
2599
+ <descr><p>The <intref ref="contm_attrib"><att>order</att></intref> attribute of
2600
+ the represented element. Predefined values are <attval>numeric</attval>
2601
+ and <attval>lexicographic</attval>. See
2602
+ <specref ref="contm_sets"/> and <specref ref="contm_attrib"/>.</p></descr>
2603
+ </attribute>
2604
+ </interface>
2605
+
2606
+ <interface name='MathMLBvarElement' inherits='MathMLContentContainer' id='dom_BvarElement'>
2607
+ <descr><p>This interface represents the MathML bound variable
2608
+ element <intref ref="contm_bvar"><el>bvar</el></intref>. The interface currently
2609
+ provides no functionality beyond that of <kw>MathMLContentContainer</kw>,
2610
+ but is useful for defining the type of bound variable access functions.
2611
+ </p>
2612
+ <?generate-idl?>
2613
+ </descr>
2614
+ </interface>
2615
+
2616
+ </definitions>
2617
+ </div4>
2618
+
2619
+ <div4><head>Content Leaf Element Interfaces</head>
2620
+
2621
+ <definitions>
2622
+ <interface name='MathMLPredefinedSymbol' inherits='MathMLContentElement' id='dom_PredefinedSymbol'>
2623
+ <descr><p>This interface supports all of the empty built-in
2624
+ operator, relation, function, and constant and symbol elements that have
2625
+ the <intref ref="contm_attrib"><att>definitionURL</att></intref> and <intref ref="contm_attrib"><att>encoding</att></intref>
2626
+ attributes in addition to the standard set of attributes. The elements
2627
+ supported in order of their appearance in <specref ref="contm_elem"/> are:
2628
+ <intref ref="contm_inverse"><el>inverse</el></intref>,
2629
+ <intref ref="contm_compose"><el>compose</el></intref>,
2630
+ <intref ref="contm_ident"><el>ident</el></intref>,
2631
+ <intref ref="contm_domain"><el>domain</el></intref>,
2632
+ <intref ref="contm_codomain"><el>codomain</el></intref>,
2633
+ <intref ref="contm_image"><el>image</el></intref>,
2634
+ <intref ref="contm_quotient"><el>quotient</el></intref>,
2635
+ <intref ref="contm_exp"><el>exp</el></intref>,
2636
+ <intref ref="contm_factorial"><el>factorial</el></intref>,
2637
+ <intref ref="contm_divide"><el>divide</el></intref>,
2638
+ <intref ref="contm_maxmin"><el>max</el></intref>,
2639
+ <intref ref="contm_maxmin"><el>min</el></intref>,
2640
+ <intref ref="contm_minus"><el>minus</el></intref>,
2641
+ <intref ref="contm_plus"><el>plus</el></intref>,
2642
+ <intref ref="contm_power"><el>power</el></intref>,
2643
+ <intref ref="contm_rem"><el>rem</el></intref>,
2644
+ <intref ref="contm_times"><el>times</el></intref>,
2645
+ <intref ref="contm_root"><el>root</el></intref>,
2646
+ <intref ref="contm_gcd"><el>gcd</el></intref>,
2647
+ <intref ref="contm_and"><el>and</el></intref>,
2648
+ <intref ref="contm_or"><el>or</el></intref>,
2649
+ <intref ref="contm_xor"><el>xor</el></intref>,
2650
+ <intref ref="contm_not"><el>not</el></intref>,
2651
+ <intref ref="contm_implies"><el>implies</el></intref>,
2652
+ <intref ref="contm_forall"><el>forall</el></intref>,
2653
+ <intref ref="contm_exists"><el>exists</el></intref>,
2654
+ <intref ref="contm_abs"><el>abs</el></intref>,
2655
+ <intref ref="contm_conjugate"><el>conjugate</el></intref>,
2656
+ <intref ref="contm_arg"><el>arg</el></intref>,
2657
+ <intref ref="contm_real"><el>real</el></intref>,
2658
+ <intref ref="contm_imaginary"><el>imaginary</el></intref>,
2659
+ <intref ref="contm_lcm"><el>lcm</el></intref>,
2660
+ <intref ref="contm_floor"><el>floor</el></intref>,
2661
+ <intref ref="contm_ceiling"><el>ceiling</el></intref>,
2662
+ <intref ref="contm_eq"><el>eq</el></intref>,
2663
+ <intref ref="contm_neq"><el>neq</el></intref>,
2664
+ <intref ref="contm_gt"><el>gt</el></intref>,
2665
+ <intref ref="contm_lt"><el>lt</el></intref>,
2666
+ <intref ref="contm_geq"><el>geq</el></intref>,
2667
+ <intref ref="contm_leq"><el>leq</el></intref>,
2668
+ <intref ref="contm_equivalent"><el>equivalent</el></intref>,
2669
+ <intref ref="contm_approx"><el>approx</el></intref>,
2670
+ <intref ref="contm_factorof"><el>factorof</el></intref>,
2671
+ <intref ref="contm_ln"><el>ln</el></intref>,
2672
+ <intref ref="contm_log"><el>log</el></intref>,
2673
+ <intref ref="contm_int"><el>int</el></intref>,
2674
+ <intref ref="contm_diff"><el>diff</el></intref>,
2675
+ <intref ref="contm_partialdiff"><el>partialdiff</el></intref>,
2676
+ <intref ref="contm_divergence"><el>divergence</el></intref>,
2677
+ <intref ref="contm_grad"><el>grad</el></intref>,
2678
+ <intref ref="contm_curl"><el>curl</el></intref>,
2679
+ <intref ref="contm_laplacian"><el>laplacian</el></intref>,
2680
+ <intref ref="contm_union"><el>union</el></intref>,
2681
+ <intref ref="contm_intersect"><el>intersect</el></intref>,
2682
+ <intref ref="contm_in"><el>in</el></intref>,
2683
+ <intref ref="contm_notin"><el>notin</el></intref>,
2684
+ <intref ref="contm_subset"><el>subset</el></intref>,
2685
+ <intref ref="contm_prsubset"><el>prsubset</el></intref>,
2686
+ <intref ref="contm_notsubset"><el>notsubset</el></intref>,
2687
+ <intref ref="contm_notprsubset"><el>notprsubset</el></intref>,
2688
+ <intref ref="contm_setdiff"><el>setdiff</el></intref>,
2689
+ <intref ref="contm_card"><el>card</el></intref>,
2690
+ <intref ref="contm_cartesianproduct"><el>cartesianproduct</el></intref>,
2691
+ <intref ref="contm_sum"><el>sum</el></intref>,
2692
+ <intref ref="contm_product"><el>product</el></intref>,
2693
+ <intref ref="contm_limit"><el>limit</el></intref>,
2694
+ <intref ref="contm_trig"><el>sin</el></intref>,
2695
+ <intref ref="contm_trig"><el>cos</el></intref>,
2696
+ <intref ref="contm_trig"><el>tan</el></intref>,
2697
+ <intref ref="contm_trig"><el>sec</el></intref>,
2698
+ <intref ref="contm_trig"><el>csc</el></intref>,
2699
+ <intref ref="contm_trig"><el>cot</el></intref>,
2700
+ <intref ref="contm_trig"><el>sinh</el></intref>,
2701
+ <intref ref="contm_trig"><el>cosh</el></intref>,
2702
+ <intref ref="contm_trig"><el>tanh</el></intref>,
2703
+ <intref ref="contm_trig"><el>sech</el></intref>,
2704
+ <intref ref="contm_trig"><el>csch</el></intref>,
2705
+ <intref ref="contm_trig"><el>coth</el></intref>,
2706
+ <intref ref="contm_trig"><el>arcsin</el></intref>,
2707
+ <intref ref="contm_trig"><el>arccos</el></intref>,
2708
+ <intref ref="contm_trig"><el>arctan</el></intref>,
2709
+ <intref ref="contm_trig"><el>arcsec</el></intref>,
2710
+ <intref ref="contm_trig"><el>arccsc</el></intref>,
2711
+ <intref ref="contm_trig"><el>arccot</el></intref>,
2712
+ <intref ref="contm_trig"><el>arcsinh</el></intref>,
2713
+ <intref ref="contm_trig"><el>arccosh</el></intref>,
2714
+ <intref ref="contm_trig"><el>arctanh</el></intref>,
2715
+ <intref ref="contm_trig"><el>arcsech</el></intref>,
2716
+ <intref ref="contm_trig"><el>arccsch</el></intref>,
2717
+ <intref ref="contm_trig"><el>arccoth</el></intref>,
2718
+ <intref ref="contm_mean"><el>mean</el></intref>,
2719
+ <intref ref="contm_sdev"><el>sdev</el></intref>,
2720
+ <intref ref="contm_variance"><el>variance</el></intref>,
2721
+ <intref ref="contm_median"><el>median</el></intref>,
2722
+ <intref ref="contm_mode"><el>mode</el></intref>,
2723
+ <intref ref="contm_moment"><el>moment</el></intref>,
2724
+ <intref ref="contm_determinant"><el>determinant</el></intref>,
2725
+ <intref ref="contm_transpose"><el>transpose</el></intref>,
2726
+ <intref ref="contm_selector"><el>selector</el></intref>,
2727
+ <intref ref="contm_vectorproduct"><el>vectorproduct</el></intref>,
2728
+ <intref ref="contm_scalarproduct"><el>scalarproduct</el></intref>,
2729
+ <intref ref="contm_outerproduct"><el>outerproduct</el></intref>,
2730
+ <intref ref="contm_integers"><el>integers</el></intref>,
2731
+ <intref ref="contm_rationals"><el>reals</el></intref>,
2732
+ <intref ref="contm_rationals"><el>rationals</el></intref>,
2733
+ <intref ref="contm_naturalnumbers"><el>naturalnumbers</el></intref>,
2734
+ <intref ref="contm_complexes"><el>complexes</el></intref>,
2735
+ <intref ref="contm_primes"><el>primes</el></intref>,
2736
+ <intref ref="contm_exponentiale"><el>exponentiale</el></intref>,
2737
+ <intref ref="contm_imaginaryi"><el>imaginaryi</el></intref>,
2738
+ <intref ref="contm_notanumber"><el>notanumber</el></intref>,
2739
+ <intref ref="contm_true"><el>true</el></intref>,
2740
+ <intref ref="contm_false"><el>false</el></intref>,
2741
+ <intref ref="contm_emptyset"><el>emptyset</el></intref>,
2742
+ <intref ref="contm_pi"><el>pi</el></intref>,
2743
+ <intref ref="contm_eulergamma"><el>eulergamma</el></intref>, and
2744
+ <intref ref="contm_infinity"><el>infinity</el></intref>.
2745
+ </p>
2746
+ <?generate-idl?>
2747
+ </descr>
2748
+ <attribute name='definitionURL' type='DOMString' readonly='no'>
2749
+ <descr><p>A string that provides an override to the default semantics, or
2750
+ provides a more specific definition</p></descr>
2751
+ </attribute>
2752
+ <attribute name='encoding' type='DOMString' readonly='no'>
2753
+ <descr><p>A string describing the syntax in which the definition
2754
+ located at <att>definitionURL</att> is given.</p></descr>
2755
+ </attribute>
2756
+ <attribute diff='chg' name='arity' type='DOMString' readonly='yes'>
2757
+ <descr><p>A string representing the number of arguments. Values include
2758
+ 0, 1, ... and <kw>variable</kw>.</p></descr>
2759
+ </attribute>
2760
+ <attribute name='symbolName' type='DOMString' readonly='yes'>
2761
+ <descr><p>A string giving the name of the MathML element represented.
2762
+ This is a convenience attribute only; accessing it should be synonymous with
2763
+ accessing the <kw>Element::tagName</kw> attribute.</p></descr>
2764
+ </attribute>
2765
+ </interface>
2766
+
2767
+ <interface name='MathMLTendsToElement' inherits='MathMLPredefinedSymbol' id='dom_TendsToElement' diff='add'>
2768
+ <descr><p>The <intref ref="contm_tendsto"><el>tendsto</el></intref> element expresses that a quantity
2769
+ is tending to a specified value. An interface derived from the <intref ref='dom_PredefinedSymbol'><kw>
2770
+ MathMLPredefinedSymbol</kw></intref> is used to allow for the inclusion of the <kw>type</kw> attribute.
2771
+ </p>
2772
+ <?generate-idl?>
2773
+ </descr>
2774
+ <attribute name='type' type='DOMString' readonly='no'>
2775
+ <descr><p>A string describing how the quantity approaches the specified value. Predefined values
2776
+ of the string include <attval>above</attval>,
2777
+ <attval>below</attval>, and
2778
+ <attval>two-sided</attval>.
2779
+ The default value is <attval>two-sided</attval>.</p></descr>
2780
+ </attribute>
2781
+ </interface>
2782
+
2783
+ </definitions>
2784
+ </div4>
2785
+
2786
+ <div4><head>Other Content Element Interfaces</head>
2787
+ <definitions>
2788
+ <interface name='MathMLIntervalElement' inherits='MathMLContentElement' id='dom_IntervalElement'>
2789
+ <descr><p>The <intref ref="contm_interval"><el>interval</el></intref> element is used to represent
2790
+ simple mathematical intervals on the real number line. It contains either two
2791
+ child elements that evaluate to real numbers or one child element that is a
2792
+ condition for defining membership in the interval.
2793
+ </p>
2794
+ <?generate-idl?>
2795
+ </descr>
2796
+ <attribute name='closure' type='DOMString' readonly='no'>
2797
+ <descr><p>A string with value <attval>open</attval>,
2798
+ <attval>closed</attval>,
2799
+ <attval>open-closed</attval> or
2800
+ <attval>closed-open</attval>.
2801
+ The default value is <attval>closed</attval>.</p></descr>
2802
+ </attribute>
2803
+ <attribute diff='chg' name='start' type='MathMLContentElement' readonly='no'>
2804
+ <descr diff='chg'><p>A <intref ref="dom_ContentElement"><kw>MathMLContentElement</kw></intref> representing the real number defining
2805
+ the start of the interval. If <kw>end</kw> has not already been
2806
+ set, it becomes the same as <kw>start</kw> until set otherwise.</p></descr>
2807
+ </attribute>
2808
+ <attribute diff='chg' name='end' type='MathMLContentElement' readonly='no'>
2809
+ <descr diff='chg'><p>A <kw>MathMLContentElement</kw> representing the real number defining
2810
+ the end of the interval. If <kw>start</kw> has not
2811
+ already been set, it becomes the same as <kw>end</kw> until set otherwise. </p></descr>
2812
+ </attribute>
2813
+ </interface>
2814
+
2815
+ <interface name='MathMLConditionElement' inherits='MathMLContentElement' id='dom_ConditionElement'>
2816
+ <descr><p>The <intref ref="contm_condition"><el>condition</el></intref> element is used to place a
2817
+ condition on one or more free variables or identifiers.
2818
+ </p>
2819
+ <?generate-idl?>
2820
+ </descr>
2821
+ <attribute name='condition' type='MathMLApplyElement' readonly='no'>
2822
+ <descr><p>A <intref ref="dom_ApplyElement"><kw>MathMLApplyElement</kw></intref> that represents the condition.</p></descr>
2823
+ </attribute>
2824
+ </interface>
2825
+
2826
+ <interface name='MathMLDeclareElement' inherits='MathMLContentElement' id='dom_DeclareElement'>
2827
+ <descr><p>The <intref ref="contm_declare"><el>declare</el></intref> construct has two primary roles.
2828
+ The first is to change or set the default attribute values for a specific
2829
+ mathematical object. The second is to establish an association between a
2830
+ <quote>name</quote> and an object.
2831
+ </p>
2832
+ <?generate-idl?>
2833
+ </descr>
2834
+ <attribute name='type' type='DOMString' readonly='no'>
2835
+ <descr><p>A string indicating the type of the identifier. It must be compatible
2836
+ with the type of the <kw>constructor</kw>, if a <kw>constructor</kw> is
2837
+ present. The type is inferred from the <kw>constructor</kw> if present,
2838
+ otherwise it must be specified.</p></descr>
2839
+ </attribute>
2840
+ <attribute name='nargs' type='unsigned long' readonly='no'>
2841
+ <descr><p>If the identifier is a function, this attribute
2842
+ specifies the number of arguments the function takes. This represents the
2843
+ <el>declare</el> element's <intref ref="contm_attrib"><att>nargs</att></intref> attribute;
2844
+ see <specref ref="contm_declare"/>.</p></descr>
2845
+ </attribute>
2846
+ <attribute name='occurrence' type='DOMString' readonly='no'>
2847
+ <descr><p>A string with the values <attval> prefix</attval>,
2848
+ <attval>infix</attval>, <attval>postfix</attval>, or
2849
+ <attval>function-model</attval>.</p></descr>
2850
+ </attribute>
2851
+ <attribute name='definitionURL' type='DOMString' readonly='no'>
2852
+ <descr><p>A URI specifying the detailed semantics of the
2853
+ element.</p></descr>
2854
+ </attribute>
2855
+ <attribute name='encoding' type='DOMString' readonly='no'>
2856
+ <descr><p>A description of the syntax used in
2857
+ <intref ref="contm_attrib"><att>definitionURL</att></intref>.</p></descr>
2858
+ </attribute>
2859
+ <attribute name='identifier' type='MathMLCiElement' readonly='no'>
2860
+ <descr><p>A <intref ref="dom_CiElement"><kw>MathMLCiElement</kw></intref> representing the name being declared.</p></descr>
2861
+ </attribute>
2862
+ <attribute name='constructor' type='MathMLElement' readonly='no'>
2863
+ <descr><p>An optional <intref ref="dom_Element"><kw>MathMLElement</kw></intref>
2864
+ providing an initial value for the object being declared.</p></descr>
2865
+ </attribute>
2866
+ </interface>
2867
+
2868
+ <interface name='MathMLVectorElement' inherits='MathMLContentElement' id='dom_VectorElement'>
2869
+ <descr><p><intref ref="contm_vector"><el>vector</el></intref> is the container element for a
2870
+ vector.
2871
+ </p>
2872
+ <?generate-idl?>
2873
+ </descr>
2874
+ <attribute name='ncomponents' type='unsigned long' readonly='yes'>
2875
+ <descr><p>The number of components in the vector.</p></descr>
2876
+ </attribute>
2877
+ <method name='getComponent'>
2878
+ <descr><p>A convenience method to retrieve a component.</p></descr>
2879
+ <parameters>
2880
+ <param name='index' type='unsigned long' attr='in'>
2881
+ <descr><p>Position of the component in the list of components. The first
2882
+ element is numbered 1.</p></descr>
2883
+ </param>
2884
+ </parameters>
2885
+ <returns type='MathMLContentElement'>
2886
+ <descr><p>The <kw>MathMLContentElement</kw> component at
2887
+ the position specified by <kw>index</kw>. If <kw>index</kw> is not a valid
2888
+ index (i.e. is greater than the number of components of the vector or less
2889
+ than 1), a <kw>null MathMLContentElement</kw> is returned.</p></descr></returns>
2890
+ <raises>
2891
+ </raises>
2892
+ </method>
2893
+ <method name='insertComponent'>
2894
+ <descr><p>A convenience method to insert a new component
2895
+ in the vector before the current <kw>index</kw>-th component. If <kw>index</kw> is 0 or is one more than the number of components currently in the
2896
+ vector, <kw>newComponent</kw> is appended as the last component of the
2897
+ vector.</p></descr>
2898
+ <parameters>
2899
+ <param name='newComponent' type='MathMLContentElement' attr='in'>
2900
+ <descr><p>A <kw>MathMLContentElement</kw> representing
2901
+ the component that is to be added.</p></descr>
2902
+ </param>
2903
+ <param name='index' type='unsigned long' attr='in'>
2904
+ <descr><p>Position of the component in the list of
2905
+ components. The first component is numbered 1.</p></descr>
2906
+ </param>
2907
+ </parameters>
2908
+ <returns type='MathMLContentElement'>
2909
+ <descr><p>The <kw>MathMLContentElement</kw> child
2910
+ of this <kw>MathMLVectorElement</kw> representing the new component in the DOM.</p></descr></returns>
2911
+ <raises>
2912
+ <exception name='DOMException'>
2913
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
2914
+ than one more than the current number of components of this <el>vector</el> element.</p></descr></exception>
2915
+ </raises>
2916
+ </method>
2917
+ <method name='setComponent'>
2918
+ <descr><p>A convenience method to set the <kw>index</kw>-th
2919
+ component of the vector to <kw>newComponent</kw>. If <kw>index</kw> is one
2920
+ more than the current number of components, <kw>newComponent</kw> is
2921
+ appended as the last component.</p></descr>
2922
+ <parameters>
2923
+ <param name='newComponent' type='MathMLContentElement' attr='in'>
2924
+ <descr><p>A <kw>MathMLContentElement</kw> representing
2925
+ the element that is to be the <kw>index</kw>-th component of the vector.</p></descr>
2926
+ </param>
2927
+ <param name='index' type='unsigned long' attr='in'>
2928
+ <descr><p>Position of the component in the list of
2929
+ components. The first element is numbered 1.</p></descr>
2930
+ </param>
2931
+ </parameters>
2932
+ <returns type='MathMLContentElement'>
2933
+ <descr><p>The <kw>MathMLContentElement</kw> child
2934
+ of this <kw>MathMLVectorElement</kw> that represents the new component in
2935
+ the DOM.</p></descr></returns>
2936
+ <raises>
2937
+ <exception name='DOMException'>
2938
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
2939
+ than one more than the current number of components of this <el>vector</el> element.</p></descr></exception>
2940
+ </raises>
2941
+ </method>
2942
+ <method name='deleteComponent'>
2943
+ <descr><p>A convenience method to delete an element. The
2944
+ deletion changes the indices of the following components.</p></descr>
2945
+ <parameters>
2946
+ <param name='index' type='unsigned long' attr='in'>
2947
+ <descr><p>Position of the component in the vector.
2948
+ The position of the first component is 1</p></descr>
2949
+ </param>
2950
+ </parameters>
2951
+ <returns type=''>
2952
+ <descr><p>None</p></descr></returns>
2953
+ <raises>
2954
+ <exception name='DOMException'>
2955
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
2956
+ than the current number of components of this <el>vector</el>
2957
+ element.</p></descr></exception>
2958
+ </raises>
2959
+ </method>
2960
+ <method name='removeComponent'>
2961
+ <descr><p>A convenience method to remove a component from
2962
+ a vector and return it to the caller. If index is greater than the number of
2963
+ components or is 0, a <kw>null MathMLContentElement</kw> is returned.</p></descr>
2964
+ <parameters>
2965
+ <param name='index' type='unsigned long' attr='in'>
2966
+ <descr><p>Position of the component in the list of
2967
+ components. The first element is numbered 1.</p></descr>
2968
+ </param>
2969
+ </parameters>
2970
+ <returns type='MathMLContentElement'>
2971
+ <descr><p>The <kw>MathMLContentElement</kw> component
2972
+ being removed.</p></descr></returns>
2973
+ <raises>
2974
+ </raises>
2975
+ </method>
2976
+ </interface>
2977
+
2978
+ <interface name='MathMLMatrixElement' inherits='MathMLContentElement' id='dom_MatrixElement'>
2979
+ <descr><p>The <intref ref="contm_matrix"><el>matrix</el></intref> element is the container element
2980
+ for <intref ref="contm_matrixrow"><el>matrixrow</el></intref> elements.
2981
+ </p>
2982
+ <?generate-idl?>
2983
+ </descr>
2984
+ <attribute name='nrows' type='unsigned long' readonly='yes'>
2985
+ <descr><p>The number of rows in the represented matrix.</p></descr>
2986
+ </attribute>
2987
+ <attribute name='ncols' type='unsigned long' readonly='yes'>
2988
+ <descr><p>The number of columns in the represented matrix.</p></descr>
2989
+ </attribute>
2990
+ <attribute name='rows' type='MathMLNodeList' readonly='yes'>
2991
+ <descr><p>The rows of the matrix, returned as a
2992
+ <kw>MathMLNodeList</kw> consisting of <kw>MathMLMatrixrowElements</kw>.</p></descr>
2993
+ </attribute>
2994
+ <method name='getRow'>
2995
+ <descr><p>A convenience method to retrieve a specified row.</p></descr>
2996
+ <parameters>
2997
+ <param name='index' type='unsigned long' attr='in'>
2998
+ <descr><p>Position of the row in the list of rows.
2999
+ The first row is numbered 1.</p></descr>
3000
+ </param>
3001
+ </parameters>
3002
+ <returns type='MathMLMatrixrowElement'>
3003
+ <descr><p>The <intref ref="dom_MatrixrowElement"><kw>MathMLMatrixrowElement</kw></intref> representing the
3004
+ <kw>index</kw>-th row.</p></descr></returns>
3005
+ <raises>
3006
+ <exception name='DOMException'>
3007
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3008
+ than the number of rows in the matrix.</p></descr></exception>
3009
+ </raises>
3010
+ </method>
3011
+ <method name='insertRow'>
3012
+ <descr><p>A convenience method to insert a row before
3013
+ the row that is currently the <kw>index</kw>-th row of this <el>matrix</el>. If <kw>index</kw> is 0, <kw>newRow</kw> is appended as the
3014
+ last row of the matrix.</p></descr>
3015
+ <parameters>
3016
+ <param name='newRow' type='MathMLMatrixrowElement' attr='in'>
3017
+ <descr><p><kw>MathMLMatrixrowElement</kw>
3018
+ to be inserted into the matrix.</p></descr>
3019
+ </param>
3020
+ <param name='index' type='unsigned long' attr='in'>
3021
+ <descr><p>Unsigned integer giving the row position
3022
+ before which <kw>newRow</kw> is to be inserted. The first row is numbered 1.</p></descr>
3023
+ </param>
3024
+ </parameters>
3025
+ <returns type='MathMLMatrixrowElement'>
3026
+ <descr><p>The <kw>MathMLMatrixrowElement</kw> added.
3027
+ This is the new element within the DOM.</p></descr></returns>
3028
+ <raises>
3029
+ <exception name='DOMException'>
3030
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3031
+ than one more than the number of rows in the matrix.</p>
3032
+ <p>HIERARCHY_REQUEST_ERR: Raised if the number of cells in
3033
+ <kw>newRow</kw> doesn't match the number of columns in the matrix.</p></descr></exception>
3034
+ </raises>
3035
+ </method>
3036
+ <method name='setRow'>
3037
+ <descr><p>A convenience method to set the value of
3038
+ the <kw>index</kw>-th child <el>matrixrow</el> element of
3039
+ this element. If there is already a row at the specified index, it is
3040
+ replaced by <kw>newRow</kw>.</p></descr>
3041
+ <parameters>
3042
+ <param name='newRow' type='MathMLMatrixrowElement' attr='in'>
3043
+ <descr><p><kw>MathMLMatrixrowElement</kw>
3044
+ representing the <el>matrixrow</el>
3045
+ which is to become the <kw>index</kw>-th row of the matrix.</p></descr>
3046
+ </param>
3047
+ <param name='index' type='unsigned long' attr='in'>
3048
+ <descr><p>Unsigned integer giving the row
3049
+ which is to be set to <kw>newRow</kw>. The first row is numbered 1.</p></descr>
3050
+ </param>
3051
+ </parameters>
3052
+ <returns type='MathMLMatrixrowElement'>
3053
+ <descr><p>The <kw>MathMLMatrixrowElement</kw>
3054
+ child of this <kw>MathMLMatrixrowElement</kw> representing <kw>newRow</kw>
3055
+ within the DOM.</p></descr></returns>
3056
+ <raises>
3057
+ <exception name='DOMException'>
3058
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3059
+ than the number of rows in the matrix.</p>
3060
+ <p>HIERARCHY_REQUEST_ERR: Raised if the number of cells in
3061
+ <kw>newRow</kw> doesn't match the number of columns in the matrix.</p></descr></exception>
3062
+ </raises>
3063
+ </method>
3064
+ <method name='deleteRow'>
3065
+ <descr><p>A convenience method to delete a row. The deletion changes the
3066
+ indices of the following rows.</p></descr>
3067
+ <parameters>
3068
+ <param name='index' type='unsigned long' attr='in'>
3069
+ <descr><p>Position of the row to be deleted in the list of rows</p></descr>
3070
+ </param>
3071
+ </parameters>
3072
+ <returns type=''>
3073
+ <descr><p>None</p></descr></returns>
3074
+ <raises>
3075
+ <exception name='DOMException'>
3076
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3077
+ than the number of rows in the matrix.</p></descr></exception>
3078
+ </raises>
3079
+ </method>
3080
+ <method name='removeRow'>
3081
+ <descr><p>A convenience method to remove a row and return it
3082
+ to the caller. The deletion changes the indices of the following rows.</p></descr>
3083
+ <parameters>
3084
+ <param name='index' type='unsigned long' attr='in'>
3085
+ <descr><p>Position of the row to be removed in
3086
+ the list of rows. The first row is numbered 1.</p></descr>
3087
+ </param>
3088
+ </parameters>
3089
+ <returns type='MathMLMatrixrowElement'>
3090
+ <descr><p>The <kw>MathMLMatrixrowElement</kw>
3091
+ being removed.</p></descr></returns>
3092
+ <raises>
3093
+ <exception name='DOMException'>
3094
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3095
+ than the number of rows in the matrix.</p></descr></exception>
3096
+ </raises>
3097
+ </method>
3098
+ </interface>
3099
+
3100
+ <interface name='MathMLMatrixrowElement' inherits='MathMLContentElement' id='dom_MatrixrowElement'>
3101
+ <descr><p>The <intref ref="contm_matrixrow"><el>matrixrow</el></intref> element is the container
3102
+ element for the elements of a <intref ref="contm_matrix"><el>matrix</el></intref>.
3103
+ </p>
3104
+ <?generate-idl?>
3105
+ </descr>
3106
+ <attribute name='nEntries' type='unsigned long' readonly='yes'>
3107
+ <descr><p>The number of entries in the row.</p></descr>
3108
+ </attribute>
3109
+ <method name='getEntry'>
3110
+ <descr><p>A convenience method to retrieve the contents of
3111
+ an entry by index.</p></descr>
3112
+ <parameters>
3113
+ <param name='index' type='unsigned long' attr='in'>
3114
+ <descr><p>Position of the entry in the row. The
3115
+ first entry is numbered 1.</p></descr>
3116
+ </param>
3117
+ </parameters>
3118
+ <returns type='MathMLContentElement'>
3119
+ <descr><p>The <kw>MathMLContentElement</kw> element
3120
+ representing the <kw>index</kw>-th entry in the row.</p></descr></returns>
3121
+ <raises>
3122
+ <exception name='DOMException'>
3123
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3124
+ than the number of entries in the row.</p></descr></exception>
3125
+ </raises>
3126
+ </method>
3127
+ <method name='insertEntry'>
3128
+ <descr><p>A convenience method to insert an entry before the
3129
+ current <kw>index</kw>-th entry of the row. If <kw>index</kw> is 0, <kw>newEntry</kw> is appended as the last entry. Note that this method increases
3130
+ the size of the <el>matrixrow</el>.</p></descr>
3131
+ <parameters>
3132
+ <param name='newEntry' type='MathMLContentElement' attr='in'>
3133
+ <descr><p>The <kw>MathMLContentElement</kw> to be
3134
+ representing the new entry to be inserted into the row.</p></descr>
3135
+ </param>
3136
+ <param name='index' type='unsigned long' attr='in'>
3137
+ <descr><p>The index before which <kw>newEntry</kw> is
3138
+ to be inserted in the row. The first entry is numbered 1.</p></descr>
3139
+ </param>
3140
+ </parameters>
3141
+ <returns type='MathMLContentElement'>
3142
+ <descr><p>The <kw>MathMLContentElement</kw> child of
3143
+ this <kw>MathMLMatrixrowElement</kw> representing <kw>newEntry</kw> in the
3144
+ DOM.</p></descr></returns>
3145
+ <raises>
3146
+ <exception name='DOMException'>
3147
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3148
+ than the number of entries in the row.</p></descr></exception>
3149
+ </raises>
3150
+ </method>
3151
+ <method name='setEntry'>
3152
+ <descr><p>A convenience method to set the contents of the
3153
+ entry at position <kw>index</kw> in the row to <kw>newEntry</kw>. If there is
3154
+ already a entry at the specified index, it is replaced by the new
3155
+ entry.</p></descr>
3156
+ <parameters>
3157
+ <param name='newEntry' type='MathMLContentElement' attr='in'>
3158
+ <descr><p>The <kw>MathMLContentElement</kw> representing
3159
+ the element that is to be the <kw>index</kw>-th entry.</p></descr>
3160
+ </param>
3161
+ <param name='index' type='unsigned long' attr='in'>
3162
+ <descr><p>The index of the entry that is to be
3163
+ set equal to <kw>newEntry</kw>. The first entry is numbered 1.</p></descr>
3164
+ </param>
3165
+ </parameters>
3166
+ <returns type='MathMLContentElement'>
3167
+ <descr><p>The <kw>MathMLContentElement</kw> child
3168
+ of this <kw>MathMLMatrixRowElement</kw> representing <kw>newEntry</kw> in
3169
+ the DOM.</p></descr></returns>
3170
+ <raises>
3171
+ <exception name='DOMException'>
3172
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3173
+ than one more than the number of elements in the row.</p></descr></exception>
3174
+ </raises>
3175
+ </method>
3176
+ <method name='deleteEntry'>
3177
+ <descr><p>A convenience method to delete an entry. The
3178
+ deletion changes the indices of the following entries.</p></descr>
3179
+ <parameters>
3180
+ <param name='index' type='unsigned long' attr='in'>
3181
+ <descr><p>Position of the entry to be deleted
3182
+ in the row. The first entry is numbered 1.</p></descr>
3183
+ </param>
3184
+ </parameters>
3185
+ <returns type=''>
3186
+ <descr><p>None</p></descr></returns>
3187
+ <raises>
3188
+ <exception name='DOMException'>
3189
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3190
+ than the number of entries in the row.</p></descr></exception>
3191
+ </raises>
3192
+ </method>
3193
+ <method name='removeEntry'>
3194
+ <descr><p>A convenience method to remove an entry from the
3195
+ row and return the removed entry to the caller.</p></descr>
3196
+ <parameters>
3197
+ <param name='index' type='unsigned long' attr='in'>
3198
+ <descr><p>Position of the entry to be removed
3199
+ from the row. The first entry is numbered 1.</p></descr>
3200
+ </param>
3201
+ </parameters>
3202
+ <returns type='MathMLContentElement'>
3203
+ <descr><p>The <kw>MathMLContentElement</kw> being removed
3204
+ from the row.</p></descr></returns>
3205
+ <raises>
3206
+ <exception name='DOMException'>
3207
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3208
+ than the number of entries in the row.</p></descr></exception>
3209
+ </raises>
3210
+ </method>
3211
+ </interface>
3212
+
3213
+ <interface name='MathMLPiecewiseElement' inherits='MathMLContentElement' id='dom_PiecewiseElement'>
3214
+ <descr><p>The <intref ref="contm_piecewise"><el>piecewise</el></intref> element represents
3215
+ the piecewise definition of a function. It contains child <intref ref="contm_piecewise"><el>piece</el></intref> elements, each
3216
+ represented by a <intref ref="dom_CaseElement"><kw>MathMLCaseElement</kw></intref>, giving the various conditions and
3217
+ associated function value specifications in the function definition, and
3218
+ an optional <intref ref="contm_piecewise"><el>otherwise</el></intref> child element, represented by a
3219
+ <kw>MathMLContentElement</kw>, giving the <quote>default</quote> value of the
3220
+ function - that is, the value to be assigned when none of the conditions specified in
3221
+ the <el>piece</el> child elements hold.</p>
3222
+ <?generate-idl?>
3223
+ </descr>
3224
+ <attribute name='pieces' type='MathMLNodeList' readonly='yes'>
3225
+ <descr><p>A <intref ref="dom_NodeList"><kw>MathMLNodeList</kw></intref> containing one <kw>MathMLCaseElement</kw>
3226
+ representing each of the <el>piece</el> element children of this
3227
+ <kw>MathMLPiecewiseElement</kw>. The <el>otherwise</el>
3228
+ child (if present) is not contained in this <kw>MathMLNodeList</kw>.</p></descr>
3229
+ </attribute>
3230
+ <attribute name='otherwise' type='MathMLContentElement' readonly='no'>
3231
+ <descr><p>Returns a <kw>MathMLContentElement</kw> representing the value
3232
+ to be taken by the piecewise function when none of the conditions described in the
3233
+ <el>piece</el> children is true.</p></descr>
3234
+ </attribute>
3235
+ <method name='getCase'>
3236
+ <descr><p>A convenience method to retrieve the child <el>piece</el>
3237
+ at the position referenced by <kw>index</kw>.</p></descr>
3238
+ <parameters>
3239
+ <param name='index' type='unsigned long' attr='in'>
3240
+ <descr><p>Position of desired case in the list of cases.
3241
+ The first piece is numbered 1; the <el>otherwise</el>
3242
+ child (if present) is not counted, regardless of its position. If <kw>index</kw> is
3243
+ greater than the number of <el>piece</el>s, a null <kw>MathMLCaseElement</kw>
3244
+ is returned; no error is generated.</p></descr>
3245
+ </param>
3246
+ </parameters>
3247
+ <returns type='MathMLCaseElement'>
3248
+ <descr><p>The <kw>MathMLCaseElement</kw> retrieved.</p></descr></returns>
3249
+ <raises>
3250
+ </raises>
3251
+ </method>
3252
+ <method name='setCase'>
3253
+ <descr><p>A convenience method to set the value of the child <el>piece</el>
3254
+ at the position referenced by <kw>index</kw> to the value of <kw>case</kw>.</p></descr>
3255
+ <parameters>
3256
+ <param name='index' type='unsigned long' attr='in'>
3257
+ <descr><p>Position of the <el>piece</el> to be set
3258
+ to <kw>case</kw>. The first piece is numbered 1; the <el>otherwise</el>
3259
+ child (if present) is not counted, regardless of its position. If there is currently
3260
+ a <el>piece</el> at this position, it will be replaced by <kw>case</kw>.
3261
+ If <kw>index</kw> is one more than the number of <el>piece</el> child elements,
3262
+ a new one will be appended.</p></descr>
3263
+ </param>
3264
+ <param name='case' type='MathMLCaseElement' attr='in'>
3265
+ <descr><p>A <kw>MathMLCaseElement</kw> representing the
3266
+ new value of the <kw>index</kw>th <el>piece</el> child.</p></descr>
3267
+ </param>
3268
+ </parameters>
3269
+ <returns type='MathMLCaseElement'>
3270
+ <descr><p>The new <kw>MathMLCaseElement</kw> created.</p></descr></returns>
3271
+ <raises>
3272
+ <exception name='DOMException'>
3273
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
3274
+ one more than the number of <el>piece</el>s in this element.</p></descr></exception>
3275
+ </raises>
3276
+ </method>
3277
+ <method name='deleteCase'>
3278
+ <descr><p>A convenience method to delete the child <el>piece</el>
3279
+ at the position referenced by <kw>index</kw>. The deletion changes the indices of
3280
+ the following <el>piece</el>s.</p></descr>
3281
+ <parameters>
3282
+ <param name='index' type='unsigned long' attr='in'>
3283
+ <descr><p>Position of the piece to be deleted. The first
3284
+ piece is numbered 1; the <el>otherwise</el> child (if present)
3285
+ is not counted, regardless of its position.</p></descr>
3286
+ </param>
3287
+ </parameters>
3288
+ <returns type='void'>
3289
+ <descr><p>None.</p></descr></returns>
3290
+ <raises>
3291
+ <exception name='DOMException'>
3292
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
3293
+ the number of <el>piece</el>s in this element.</p></descr></exception>
3294
+ </raises>
3295
+ </method>
3296
+ <method name='removeCase'>
3297
+ <descr><p>A convenience method to remove the child <el>piece</el>
3298
+ at the position referenced by <kw>index</kw> and return it to the caller. The removal
3299
+ changes the indices of the following <el>piece</el>s.</p></descr>
3300
+ <parameters>
3301
+ <param name='index' type='unsigned long' attr='in'>
3302
+ <descr><p>Position of the piece to be removed. The first
3303
+ piece is numbered 1; the <el>otherwise</el> child (if present)
3304
+ is not counted, regardless of its position.</p></descr>
3305
+ </param>
3306
+ </parameters>
3307
+ <returns type='MathMLCaseElement'>
3308
+ <descr><p>The <kw>MathMLCaseElement</kw> removed.</p></descr></returns>
3309
+ <raises>
3310
+ <exception name='DOMException'>
3311
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater than
3312
+ the number of <el>piece</el>s in this element.</p></descr></exception>
3313
+ </raises>
3314
+ </method>
3315
+ <method name='insertCase'>
3316
+ <descr><p>A convenience method to insert a new <el>piece</el> child
3317
+ into this element.</p></descr>
3318
+ <parameters>
3319
+ <param name='index' type='unsigned long' attr='in'>
3320
+ <descr><p>Position before which <kw>case</kw> is to be inserted. If <kw>index</kw>
3321
+ is 0, <kw>newCase</kw> is appended as the last <el>piece</el> child of
3322
+ this element. The <el>otherwise</el> child (if present) is not counted,
3323
+ regardless of its position.</p></descr>
3324
+ </param>
3325
+ <param name='newCase' type='MathMLCaseElement' attr='in'>
3326
+ <descr><p>A <kw>MathMLCaseElement</kw> representing the
3327
+ <el>piece</el> to be inserted.</p></descr>
3328
+ </param>
3329
+ </parameters>
3330
+ <returns type='MathMLCaseElement'>
3331
+ <descr><p>The new <kw>MathMLCaseElement</kw> inserted. This is the
3332
+ actual <kw>Element</kw> in the DOM.</p></descr></returns>
3333
+ <raises>
3334
+ <exception name='DOMException'>
3335
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3336
+ one more than the number of <el>piece</el>s in this element.</p></descr></exception>
3337
+ </raises>
3338
+ </method>
3339
+ <method name='getCaseValue'>
3340
+ <descr><p>A convenience method to retrieve the child of the <kw>index</kw>th
3341
+ <el>piece</el> in this element which specifies the function value for that case.</p></descr>
3342
+ <parameters>
3343
+ <param name='index' type='unsigned long' attr='in'>
3344
+ <descr><p>Position of the <el>piece</el> whose value is being
3345
+ requested in the list of pieces. The first piece is numbered 1; the <el>otherwise</el>
3346
+ child (if present) is not counted, regardless of its position.</p></descr>
3347
+ </param>
3348
+ </parameters>
3349
+ <returns type='MathMLContentElement'>
3350
+ <descr><p>The <kw>MathMLContentElement</kw> representing the value
3351
+ to be taken by the function in the <kw>index</kw>th case.</p></descr></returns>
3352
+ <raises>
3353
+ <exception name='DOMException'>
3354
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3355
+ than the number of <el>piece</el>s in this element.</p></descr></exception>
3356
+ </raises>
3357
+ </method>
3358
+ <method name='setCaseValue'>
3359
+ <descr><p>A convenience method to set the function value for the <kw>index</kw>th
3360
+ <el>piece</el> in this element.</p></descr>
3361
+ <parameters>
3362
+ <param name='index' type='unsigned long' attr='in'>
3363
+ <descr><p>Position of the <el>piece</el> whose value is being
3364
+ set in the list of pieces. The first piece is numbered 1; the <el>otherwise</el>
3365
+ child (if present) is not counted, regardless of its position.</p></descr>
3366
+ </param>
3367
+ <param name='value' type='MathMLContentElement' attr='in'>
3368
+ <descr><p>A <kw>MathMLContentElement</kw> representing the function
3369
+ value to be assigned in the <kw>index</kw>th case.</p></descr>
3370
+ </param>
3371
+ </parameters>
3372
+ <returns type='MathMLContentElement'>
3373
+ <descr><p>The <kw>MathMLContentElement</kw> representing the value
3374
+ to be taken by the function in the <kw>index</kw>th case.</p></descr></returns>
3375
+ <raises>
3376
+ <exception name='DOMException'>
3377
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3378
+ than the number of <el>piece</el>s in this element.</p></descr></exception>
3379
+ </raises>
3380
+ </method>
3381
+ <method name='getCaseCondition'>
3382
+ <descr><p>A convenience method to retrieve the child of the <el>piece</el>
3383
+ at the position referenced by <kw>index</kw> which gives the condition for this case.</p></descr>
3384
+ <parameters>
3385
+ <param name='index' type='unsigned long' attr='in'>
3386
+ <descr><p>Position of the <el>piece</el> whose condition
3387
+ is being requested in the list of pieces. The first piece is numbered 1; the <el>otherwise</el>
3388
+ child (if present) is not counted, regardless of its position.</p></descr>
3389
+ </param>
3390
+ </parameters>
3391
+ <returns type='MathMLContentElement'>
3392
+ <descr><p>The <kw>MathMLContentElement</kw> representing the condition
3393
+ to be satisfied for the <kw>index</kw>th case.</p></descr></returns>
3394
+ <raises>
3395
+ <exception name='DOMException'>
3396
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3397
+ than the number of <el>piece</el>s in this element.</p></descr></exception>
3398
+ </raises>
3399
+ </method>
3400
+ <method name='setCaseCondition'>
3401
+ <descr><p>A convenience method to set the condition for the <kw>index</kw>th
3402
+ <el>piece</el> in this element.</p></descr>
3403
+ <parameters>
3404
+ <param name='index' type='unsigned long' attr='in'>
3405
+ <descr><p>Position of the <el>piece</el> whose condition is being
3406
+ set in the list of pieces. The first piece is numbered 1; the <el>otherwise</el>
3407
+ child (if present) is not counted, regardless of its position.</p></descr>
3408
+ </param>
3409
+ <param name='condition' type='MathMLContentElement' attr='in'>
3410
+ <descr><p>A <kw>MathMLContentElement</kw> representing the condition
3411
+ to be associated to the <kw>index</kw>th case.</p></descr>
3412
+ </param>
3413
+ </parameters>
3414
+ <returns type='MathMLContentElement'>
3415
+ <descr><p>The <kw>MathMLContentElement</kw> which is inserted as the
3416
+ condition child of the <kw>index</kw>th <el>piece</el>.</p></descr></returns>
3417
+ <raises>
3418
+ <exception name='DOMException'>
3419
+ <descr><p>INDEX_SIZE_ERR: Raised if <kw>index</kw> is greater
3420
+ than the number of <el>piece</el>s in this element.</p></descr></exception>
3421
+ </raises>
3422
+ </method>
3423
+ </interface>
3424
+
3425
+ <interface name='MathMLCaseElement' inherits='MathMLContentElement' id='dom_CaseElement'>
3426
+ <descr><p>The <intref ref="contm_piecewise"><el>piece</el></intref> element represents
3427
+ one of a sequence of cases used in the piecewise definition of a function. It contains two child
3428
+ elements, each represented by a <kw>MathMLContentElement</kw>. The first child determines
3429
+ the subset of the domain affected, normally by giving a condition to be satisfied. The second
3430
+ gives the value of the function over the indicated subset of its domain. </p>
3431
+ <?generate-idl?>
3432
+ </descr>
3433
+ <attribute name='caseCondition' type='MathMLContentElement' readonly='no'>
3434
+ <descr><p>Accesses the <kw>MathMLContentElement</kw> representing the condition
3435
+ to be satisfied in order for this branch of the piecewise definition to be used.</p></descr>
3436
+ </attribute>
3437
+ <attribute name='caseValue' type='MathMLContentElement' readonly='no'>
3438
+ <descr><p>Accesses the <kw>MathMLContentElement</kw> representing the value
3439
+ to be taken by the piecewise function when the condition described by <kw>caseCondition</kw> is true.</p></descr>
3440
+ </attribute>
3441
+ </interface>
3442
+
3443
+ </definitions>
3444
+ </div4>
3445
+ </div3>
3446
+ </div2>
3447
+
3448
+ <div2 id="dom_domTables"><head>MathML DOM Tables</head>
3449
+ <div3 id="dom_inheritanceChart"><head>Chart of MathML DOM Inheritance</head>
3450
+ <?generate-domInheritance?>
3451
+ </div3>
3452
+
3453
+ <div3 id="dom_elementTable"><head>Table of Elements and MathML DOM Representations</head>
3454
+ <table border="1"><thead><tr><td rowspan="1" colspan="1">MathML Element</td><td rowspan="1" colspan="1">MathML DOM Interface</td></tr></thead><tbody><tr>
3455
+ <td rowspan="1" colspan="1"><intref ref="interf_toplevel">math</intref></td>
3456
+ <td rowspan="1" colspan="1"><intref ref="dom_MathElement">MathMLMathElement</intref></td></tr><tr>
3457
+ <td rowspan="1" colspan="1"><intref ref="presm_mi">mi</intref></td>
3458
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationToken">MathMLPresentationToken</intref></td></tr><tr>
3459
+ <td rowspan="1" colspan="1"><intref ref="presm_mn">mn</intref></td>
3460
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationToken">MathMLPresentationToken</intref></td></tr><tr>
3461
+ <td rowspan="1" colspan="1"><intref ref="presm_mo">mo</intref></td>
3462
+ <td rowspan="1" colspan="1"><intref ref="dom_OperatorElement">MathMLOperatorElement</intref></td></tr><tr>
3463
+ <td rowspan="1" colspan="1"><intref ref="presm_mtext">mtext</intref></td>
3464
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationToken">MathMLPresentationToken</intref></td></tr><tr>
3465
+ <td rowspan="1" colspan="1"><intref ref="presm_mspace">mspace</intref></td>
3466
+ <td rowspan="1" colspan="1"><intref ref="dom_SpaceElement">MathMLSpaceElement</intref></td></tr><tr>
3467
+ <td rowspan="1" colspan="1"><intref ref="presm_ms">ms</intref></td>
3468
+ <td rowspan="1" colspan="1"><intref ref="dom_StringLitElement">MathMLStringLitElement</intref></td></tr><tr>
3469
+ <td rowspan="1" colspan="1"><intref ref="presm_mglyph">mglyph</intref></td>
3470
+ <td rowspan="1" colspan="1"><intref ref="dom_GlyphElement">MathMLGlyphElement</intref></td></tr><tr>
3471
+ <td rowspan="1" colspan="1"><intref ref="presm_mrow">mrow</intref></td>
3472
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationContainer">MathMLPresentationContainer</intref></td></tr><tr>
3473
+ <td rowspan="1" colspan="1"><intref ref="presm_mfrac">mfrac</intref></td>
3474
+ <td rowspan="1" colspan="1"><intref ref="dom_FractionElement">MathMLFractionElement</intref></td></tr><tr>
3475
+ <td rowspan="1" colspan="1"><intref ref="presm_mroot">msqrt</intref></td>
3476
+ <td rowspan="1" colspan="1"><intref ref="dom_RadicalElement">MathMLRadicalElement</intref></td></tr><tr>
3477
+ <td rowspan="1" colspan="1"><intref ref="presm_mroot">mroot</intref></td>
3478
+ <td rowspan="1" colspan="1"><intref ref="dom_RadicalElement">MathMLRadicalElement</intref></td></tr><tr>
3479
+ <td rowspan="1" colspan="1"><intref ref="presm_mstyle">mstyle</intref></td>
3480
+ <td rowspan="1" colspan="1"><intref ref="dom_StyleElement">MathMLStyleElement</intref></td></tr><tr>
3481
+ <td rowspan="1" colspan="1"><intref ref="presm_merror">merror</intref></td>
3482
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationContainer">MathMLPresentationContainer</intref></td></tr><tr>
3483
+ <td rowspan="1" colspan="1"><intref ref="presm_mpadded">mpadded</intref></td>
3484
+ <td rowspan="1" colspan="1"><intref ref="dom_PaddedElement">MathMLPaddedElement</intref></td></tr><tr>
3485
+ <td rowspan="1" colspan="1"><intref ref="presm_mphantom">mphantom</intref></td>
3486
+ <td rowspan="1" colspan="1"><intref ref="dom_PresentationContainer">MathMLPresentationContainer</intref></td></tr><tr>
3487
+ <td rowspan="1" colspan="1"><intref ref="presm_mfenced">mfenced</intref></td>
3488
+ <td rowspan="1" colspan="1"><intref ref="dom_FencedElement">MathMLFencedElement</intref></td></tr><tr>
3489
+ <td rowspan="1" colspan="1"><intref ref="presm_menclose">menclose</intref></td>
3490
+ <td rowspan="1" colspan="1"><intref ref="dom_EncloseElement">MathMLEncloseElement</intref></td></tr><tr>
3491
+ <td rowspan="1" colspan="1"><intref ref="presm_msub">msub</intref></td>
3492
+ <td rowspan="1" colspan="1"><intref ref="dom_ScriptElement">MathMLScriptElement</intref></td></tr><tr>
3493
+ <td rowspan="1" colspan="1"><intref ref="presm_msup">msup</intref></td>
3494
+ <td rowspan="1" colspan="1"><intref ref="dom_ScriptElement">MathMLScriptElement</intref></td></tr><tr>
3495
+ <td rowspan="1" colspan="1"><intref ref="presm_msubsup">msubsup</intref></td>
3496
+ <td rowspan="1" colspan="1"><intref ref="dom_ScriptElement">MathMLScriptElement</intref></td></tr><tr>
3497
+ <td rowspan="1" colspan="1"><intref ref="presm_munder">munder</intref></td>
3498
+ <td rowspan="1" colspan="1"><intref ref="dom_UnderOverElement">MathMLUnderOverElement</intref></td></tr><tr>
3499
+ <td rowspan="1" colspan="1"><intref ref="presm_mover">mover</intref></td>
3500
+ <td rowspan="1" colspan="1"><intref ref="dom_UnderOverElement">MathMLUnderOverElement</intref></td></tr><tr>
3501
+ <td rowspan="1" colspan="1"><intref ref="presm_munderover">munderover</intref></td>
3502
+ <td rowspan="1" colspan="1"><intref ref="dom_UnderOverElement">MathMLUnderOverElement</intref></td></tr><tr>
3503
+ <td rowspan="1" colspan="1"><intref ref="presm_mmultiscripts">mmultiscripts</intref></td>
3504
+ <td rowspan="1" colspan="1"><intref ref="dom_MultiScriptsElement">MathMLMultiScriptsElement</intref></td></tr><tr>
3505
+ <td rowspan="1" colspan="1"><intref ref="presm_mtable">mtable</intref></td>
3506
+ <td rowspan="1" colspan="1"><intref ref="dom_TableElement">MathMLTableElement</intref></td></tr><tr>
3507
+ <td rowspan="1" colspan="1"><intref ref="presm_mlabeledtr">mlabeledtr</intref></td>
3508
+ <td rowspan="1" colspan="1"><intref ref="dom_LabeledRowElement">MathMLLabeledRowElement</intref></td></tr><tr>
3509
+ <td rowspan="1" colspan="1"><intref ref="presm_mtr">mtr</intref></td>
3510
+ <td rowspan="1" colspan="1"><intref ref="dom_TableRowElement">MathMLTableRowElement</intref></td></tr><tr>
3511
+ <td rowspan="1" colspan="1"><intref ref="presm_mtd">mtd</intref></td>
3512
+ <td rowspan="1" colspan="1"><intref ref="dom_TableCellElement">MathMLTableCellElement</intref></td></tr><tr>
3513
+ <td rowspan="1" colspan="1"><intref ref="presm_malign">maligngroup</intref></td>
3514
+ <td rowspan="1" colspan="1"><intref ref="dom_AlignGroupElement">MathMLAlignGroupElement</intref></td></tr><tr>
3515
+ <td rowspan="1" colspan="1"><intref ref="presm_malign">malignmark</intref></td>
3516
+ <td rowspan="1" colspan="1"><intref ref="dom_AlignMarkElement">MathMLAlignMarkElement</intref></td></tr><tr>
3517
+ <td rowspan="1" colspan="1"><intref ref="presm_maction">maction</intref></td>
3518
+ <td rowspan="1" colspan="1"><intref ref="dom_ActionElement">MathMLActionElement</intref></td></tr><tr>
3519
+ <td rowspan="1" colspan="1"><intref ref="contm_cn">cn</intref></td>
3520
+ <td rowspan="1" colspan="1"><intref ref="dom_CnElement">MathMLCnElement</intref></td></tr><tr>
3521
+ <td rowspan="1" colspan="1"><intref ref="contm_ci">ci</intref></td>
3522
+ <td rowspan="1" colspan="1"><intref ref="dom_CiElement">MathMLCiElement</intref></td></tr><tr>
3523
+ <td rowspan="1" colspan="1"><intref ref="contm_csymbol">csymbol</intref></td>
3524
+ <td rowspan="1" colspan="1"><intref ref="dom_CsymbolElement">MathMLCsymbolElement</intref></td></tr><tr>
3525
+ <td rowspan="1" colspan="1"><intref ref="contm_apply">apply</intref></td>
3526
+ <td rowspan="1" colspan="1"><intref ref="dom_ApplyElement">MathMLApplyElement</intref></td></tr><tr>
3527
+ <td rowspan="1" colspan="1"><intref ref="contm_reln">reln</intref></td>
3528
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3529
+ <td rowspan="1" colspan="1"><intref ref="contm_fn">fn</intref></td>
3530
+ <td rowspan="1" colspan="1"><intref ref="dom_FnElement">MathMLFnElement</intref></td></tr><tr>
3531
+ <td rowspan="1" colspan="1"><intref ref="contm_interval">interval</intref></td>
3532
+ <td rowspan="1" colspan="1"><intref ref="dom_IntervalElement">MathMLIntervalElement</intref></td></tr><tr>
3533
+ <td rowspan="1" colspan="1"><intref ref="contm_inverse">inverse</intref></td>
3534
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3535
+ <td rowspan="1" colspan="1"><intref ref="contm_condition">condition</intref></td>
3536
+ <td rowspan="1" colspan="1"><intref ref="dom_ConditionElement">MathMLConditionElement</intref></td></tr><tr>
3537
+ <td rowspan="1" colspan="1"><intref ref="contm_declare">declare</intref></td>
3538
+ <td rowspan="1" colspan="1"><intref ref="dom_DeclareElement">MathMLDeclareElement</intref></td></tr><tr>
3539
+ <td rowspan="1" colspan="1"><intref ref="contm_lambda">lambda</intref></td>
3540
+ <td rowspan="1" colspan="1"><intref ref="dom_LambdaElement">MathMLLambdaElement</intref></td></tr><tr>
3541
+ <td rowspan="1" colspan="1"><intref ref="contm_compose">compose</intref></td>
3542
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3543
+ <td rowspan="1" colspan="1"><intref ref="contm_ident">ident</intref></td>
3544
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3545
+ <td rowspan="1" colspan="1"><intref ref="contm_domain">domain</intref></td>
3546
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3547
+ <td rowspan="1" colspan="1"><intref ref="contm_codomain">codomain</intref></td>
3548
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3549
+ <td rowspan="1" colspan="1"><intref ref="contm_image">image</intref></td>
3550
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3551
+ <td rowspan="1" colspan="1"><intref ref="contm_domainofapplication">domainofapplication</intref></td>
3552
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3553
+ <td rowspan="1" colspan="1"><intref ref="contm_piecewise">piecewise</intref></td>
3554
+ <td rowspan="1" colspan="1"><intref ref="dom_PiecewiseElement">MathMLPiecewiseElement</intref></td></tr><tr>
3555
+ <td rowspan="1" colspan="1"><intref ref="contm_piecewise">piece</intref></td>
3556
+ <td rowspan="1" colspan="1"><intref ref="dom_CaseElement">MathMLCaseElement</intref></td></tr><tr>
3557
+ <td rowspan="1" colspan="1"><intref ref="contm_piecewise">otherwise</intref></td>
3558
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3559
+ <td rowspan="1" colspan="1"><intref ref="contm_quotient">quotient</intref></td>
3560
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3561
+ <td rowspan="1" colspan="1"><intref ref="contm_exp">exp</intref></td>
3562
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3563
+ <td rowspan="1" colspan="1"><intref ref="contm_factorial">factorial</intref></td>
3564
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3565
+ <td rowspan="1" colspan="1"><intref ref="contm_divide">divide</intref></td>
3566
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3567
+ <td rowspan="1" colspan="1"><intref ref="contm_maxmin">max</intref></td>
3568
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3569
+ <td rowspan="1" colspan="1"><intref ref="contm_maxmin">min</intref></td>
3570
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3571
+ <td rowspan="1" colspan="1"><intref ref="contm_minus">minus</intref></td>
3572
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3573
+ <td rowspan="1" colspan="1"><intref ref="contm_plus">plus</intref></td>
3574
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3575
+ <td rowspan="1" colspan="1"><intref ref="contm_power">power</intref></td>
3576
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3577
+ <td rowspan="1" colspan="1"><intref ref="contm_rem">rem</intref></td>
3578
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3579
+ <td rowspan="1" colspan="1"><intref ref="contm_times">times</intref></td>
3580
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3581
+ <td rowspan="1" colspan="1"><intref ref="contm_root">root</intref></td>
3582
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3583
+ <td rowspan="1" colspan="1"><intref ref="contm_gcd">gcd</intref></td>
3584
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3585
+ <td rowspan="1" colspan="1"><intref ref="contm_and">and</intref></td>
3586
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3587
+ <td rowspan="1" colspan="1"><intref ref="contm_or">or</intref></td>
3588
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3589
+ <td rowspan="1" colspan="1"><intref ref="contm_xor">xor</intref></td>
3590
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3591
+ <td rowspan="1" colspan="1"><intref ref="contm_not">not</intref></td>
3592
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3593
+ <td rowspan="1" colspan="1"><intref ref="contm_implies">implies</intref></td>
3594
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3595
+ <td rowspan="1" colspan="1"><intref ref="contm_forall">forall</intref></td>
3596
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3597
+ <td rowspan="1" colspan="1"><intref ref="contm_exists">exists</intref></td>
3598
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3599
+ <td rowspan="1" colspan="1"><intref ref="contm_abs">abs</intref></td>
3600
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3601
+ <td rowspan="1" colspan="1"><intref ref="contm_conjugate">conjugate</intref></td>
3602
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3603
+ <td rowspan="1" colspan="1"><intref ref="contm_arg">arg</intref></td>
3604
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3605
+ <td rowspan="1" colspan="1"><intref ref="contm_real">real</intref></td>
3606
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3607
+ <td rowspan="1" colspan="1"><intref ref="contm_imaginary">imaginary</intref></td>
3608
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3609
+ <td rowspan="1" colspan="1"><intref ref="contm_lcm">lcm</intref></td>
3610
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3611
+ <td rowspan="1" colspan="1"><intref ref="contm_floor">floor</intref></td>
3612
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3613
+ <td rowspan="1" colspan="1"><intref ref="contm_ceiling">ceiling</intref></td>
3614
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3615
+ <td rowspan="1" colspan="1"><intref ref="contm_eq">eq</intref></td>
3616
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3617
+ <td rowspan="1" colspan="1"><intref ref="contm_neq">neq</intref></td>
3618
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3619
+ <td rowspan="1" colspan="1"><intref ref="contm_gt">gt</intref></td>
3620
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3621
+ <td rowspan="1" colspan="1"><intref ref="contm_lt">lt</intref></td>
3622
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3623
+ <td rowspan="1" colspan="1"><intref ref="contm_geq">geq</intref></td>
3624
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3625
+ <td rowspan="1" colspan="1"><intref ref="contm_leq">leq</intref></td>
3626
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3627
+ <td rowspan="1" colspan="1"><intref ref="contm_equivalent">equivalent</intref></td>
3628
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3629
+ <td rowspan="1" colspan="1"><intref ref="contm_approx">approx</intref></td>
3630
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3631
+ <td rowspan="1" colspan="1"><intref ref="contm_factorof">factorof</intref></td>
3632
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3633
+ <td rowspan="1" colspan="1"><intref ref="contm_int">int</intref></td>
3634
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3635
+ <td rowspan="1" colspan="1"><intref ref="contm_diff">diff</intref></td>
3636
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3637
+ <td rowspan="1" colspan="1"><intref ref="contm_partialdiff">partialdiff</intref></td>
3638
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3639
+ <td rowspan="1" colspan="1"><intref ref="contm_lowlimit">lowlimit</intref></td>
3640
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3641
+ <td rowspan="1" colspan="1"><intref ref="contm_uplimit">uplimit</intref></td>
3642
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3643
+ <td rowspan="1" colspan="1"><intref ref="contm_bvar">bvar</intref></td>
3644
+ <td rowspan="1" colspan="1"><intref ref="dom_BvarElement">MathMLBvarElement</intref></td></tr><tr>
3645
+ <td rowspan="1" colspan="1"><intref ref="contm_degree">degree</intref></td>
3646
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3647
+ <td rowspan="1" colspan="1"><intref ref="contm_divergence">divergence</intref></td>
3648
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3649
+ <td rowspan="1" colspan="1"><intref ref="contm_grad">grad</intref></td>
3650
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3651
+ <td rowspan="1" colspan="1"><intref ref="contm_curl">curl</intref></td>
3652
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3653
+ <td rowspan="1" colspan="1"><intref ref="contm_laplacian">laplacian</intref></td>
3654
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3655
+ <td rowspan="1" colspan="1"><intref ref="contm_set">set</intref></td>
3656
+ <td rowspan="1" colspan="1"><intref ref="dom_SetElement">MathMLSetElement</intref></td></tr><tr>
3657
+ <td rowspan="1" colspan="1"><intref ref="contm_list">list</intref></td>
3658
+ <td rowspan="1" colspan="1"><intref ref="dom_ListElement">MathMLListElement</intref></td></tr><tr>
3659
+ <td rowspan="1" colspan="1"><intref ref="contm_union">union</intref></td>
3660
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3661
+ <td rowspan="1" colspan="1"><intref ref="contm_intersect">intersect</intref></td>
3662
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3663
+ <td rowspan="1" colspan="1"><intref ref="contm_in">in</intref></td>
3664
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3665
+ <td rowspan="1" colspan="1"><intref ref="contm_notin">notin</intref></td>
3666
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3667
+ <td rowspan="1" colspan="1"><intref ref="contm_subset">subset</intref></td>
3668
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3669
+ <td rowspan="1" colspan="1"><intref ref="contm_prsubset">prsubset</intref></td>
3670
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3671
+ <td rowspan="1" colspan="1"><intref ref="contm_notsubset">notsubset</intref></td>
3672
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3673
+ <td rowspan="1" colspan="1"><intref ref="contm_notprsubset">notprsubset</intref></td>
3674
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3675
+ <td rowspan="1" colspan="1"><intref ref="contm_setdiff">setdiff</intref></td>
3676
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3677
+ <td rowspan="1" colspan="1"><intref ref="contm_card">card</intref></td>
3678
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3679
+ <td rowspan="1" colspan="1"><intref ref="contm_cartesianproduct">cartesianproduct</intref></td>
3680
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3681
+ <td rowspan="1" colspan="1"><intref ref="contm_sum">sum</intref></td>
3682
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3683
+ <td rowspan="1" colspan="1"><intref ref="contm_product">product</intref></td>
3684
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3685
+ <td rowspan="1" colspan="1"><intref ref="contm_limit">limit</intref></td>
3686
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3687
+ <td rowspan="1" colspan="1"><intref ref="contm_tendsto">tendsto</intref></td>
3688
+ <td diff="chg" rowspan="1" colspan="1"><intref ref="dom_TendsToElement">MathMLTendsToElement</intref></td></tr><tr>
3689
+ <td rowspan="1" colspan="1"><intref ref="contm_exp">exp</intref></td>
3690
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3691
+ <td rowspan="1" colspan="1"><intref ref="contm_ln">ln</intref></td>
3692
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3693
+ <td rowspan="1" colspan="1"><intref ref="contm_log">log</intref></td>
3694
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3695
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">sin</intref></td>
3696
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3697
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">cos</intref></td>
3698
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3699
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">tan</intref></td>
3700
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3701
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">sec</intref></td>
3702
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3703
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">csc</intref></td>
3704
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3705
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">cot</intref></td>
3706
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3707
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">sinh</intref></td>
3708
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3709
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">cosh</intref></td>
3710
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3711
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">tanh</intref></td>
3712
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3713
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">sech</intref></td>
3714
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3715
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">csch</intref></td>
3716
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3717
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">coth</intref></td>
3718
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3719
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arcsin</intref></td>
3720
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3721
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccos</intref></td>
3722
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3723
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arctan</intref></td>
3724
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3725
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccosh</intref></td>
3726
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3727
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccot</intref></td>
3728
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3729
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccoth</intref></td>
3730
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3731
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccsc</intref></td>
3732
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3733
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arccsch</intref></td>
3734
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3735
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arcsec</intref></td>
3736
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3737
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arcsech</intref></td>
3738
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3739
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arcsinh</intref></td>
3740
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3741
+ <td rowspan="1" colspan="1"><intref ref="contm_trig">arctanh</intref></td>
3742
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3743
+ <td rowspan="1" colspan="1"><intref ref="contm_mean">mean</intref></td>
3744
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3745
+ <td rowspan="1" colspan="1"><intref ref="contm_sdev">sdev</intref></td>
3746
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3747
+ <td rowspan="1" colspan="1"><intref ref="contm_variance">variance</intref></td>
3748
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3749
+ <td rowspan="1" colspan="1"><intref ref="contm_median">median</intref></td>
3750
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3751
+ <td rowspan="1" colspan="1"><intref ref="contm_mode">mode</intref></td>
3752
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3753
+ <td rowspan="1" colspan="1"><intref ref="contm_moment">moment</intref></td>
3754
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3755
+ <td rowspan="1" colspan="1"><intref ref="contm_momentabout">momentabout</intref></td>
3756
+ <td rowspan="1" colspan="1"><intref ref="dom_ContentContainer">MathMLContentContainer</intref></td></tr><tr>
3757
+ <td rowspan="1" colspan="1"><intref ref="contm_vector">vector</intref></td>
3758
+ <td rowspan="1" colspan="1"><intref ref="dom_VectorElement">MathMLVectorElement</intref></td></tr><tr>
3759
+ <td rowspan="1" colspan="1"><intref ref="contm_matrix">matrix</intref></td>
3760
+ <td rowspan="1" colspan="1"><intref ref="dom_MatrixElement">MathMLMatrixElement</intref></td></tr><tr>
3761
+ <td rowspan="1" colspan="1"><intref ref="contm_matrixrow">matrixrow</intref></td>
3762
+ <td rowspan="1" colspan="1"><intref ref="dom_MatrixrowElement">MathMLMatrixRowElement</intref></td></tr><tr>
3763
+ <td rowspan="1" colspan="1"><intref ref="contm_determinant">determinant</intref></td>
3764
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3765
+ <td rowspan="1" colspan="1"><intref ref="contm_transpose">transpose</intref></td>
3766
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3767
+ <td rowspan="1" colspan="1"><intref ref="contm_selector">selector</intref></td>
3768
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3769
+ <td rowspan="1" colspan="1"><intref ref="contm_vectorproduct">vectorproduct</intref></td>
3770
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3771
+ <td rowspan="1" colspan="1"><intref ref="contm_scalarproduct">scalarproduct</intref></td>
3772
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3773
+ <td rowspan="1" colspan="1"><intref ref="contm_outerproduct">outerproduct</intref></td>
3774
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3775
+ <td rowspan="1" colspan="1"><intref ref="contm_annotation">annotation</intref></td>
3776
+ <td rowspan="1" colspan="1"><intref ref="dom_AnnotationElement">MathMLAnnotationElement</intref></td></tr><tr>
3777
+ <td rowspan="1" colspan="1"><intref ref="contm_semantics">semantics</intref></td>
3778
+ <td rowspan="1" colspan="1"><intref ref="dom_SemanticsElement">MathMLSemanticsElement</intref></td></tr><tr>
3779
+ <td rowspan="1" colspan="1"><intref ref="contm_annotation-xml">annotation-xml</intref></td>
3780
+ <td rowspan="1" colspan="1"><intref ref="dom_XMLAnnotationElement">MathMLXMLAnnotationElement</intref></td></tr><tr>
3781
+ <td rowspan="1" colspan="1"><intref ref="contm_integers">integers</intref></td>
3782
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3783
+ <td rowspan="1" colspan="1"><intref ref="contm_reals">reals</intref></td>
3784
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3785
+ <td rowspan="1" colspan="1"><intref ref="contm_rationals">rationals</intref></td>
3786
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3787
+ <td rowspan="1" colspan="1"><intref ref="contm_naturalnumbers">naturalnumbers</intref></td>
3788
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3789
+ <td rowspan="1" colspan="1"><intref ref="contm_complexes">complexes</intref></td>
3790
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3791
+ <td rowspan="1" colspan="1"><intref ref="contm_primes">primes</intref></td>
3792
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3793
+ <td rowspan="1" colspan="1"><intref ref="contm_exponentiale">exponentiale</intref></td>
3794
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3795
+ <td rowspan="1" colspan="1"><intref ref="contm_imaginaryi">imaginaryi</intref></td>
3796
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3797
+ <td rowspan="1" colspan="1"><intref ref="contm_notanumber">notanumber</intref></td>
3798
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3799
+ <td rowspan="1" colspan="1"><intref ref="contm_true">true</intref></td>
3800
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3801
+ <td rowspan="1" colspan="1"><intref ref="contm_false">false</intref></td>
3802
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3803
+ <td rowspan="1" colspan="1"><intref ref="contm_emptyset">emptyset</intref></td>
3804
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3805
+ <td rowspan="1" colspan="1"><intref ref="contm_pi">pi</intref></td>
3806
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3807
+ <td rowspan="1" colspan="1"><intref ref="contm_eulergamma">eulergamma</intref></td>
3808
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr><tr>
3809
+ <td rowspan="1" colspan="1"><intref ref="contm_infinity">infinity</intref></td>
3810
+ <td rowspan="1" colspan="1"><intref ref="dom_PredefinedSymbol">MathMLPredefinedSymbol</intref></td></tr></tbody></table>
3811
+ </div3>
3812
+ </div2>
3813
+ </div1>