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,566 @@
1
+ <?xml version="1.0"?>
2
+
3
+ <!-- Version: $Id: mmldiff.xsl,v 1.29 2003/10/07 10:36:01 davidc Exp $ -->
4
+
5
+
6
+ <!-- This stylesheet is copyright (c) 2000 by its authors. Free
7
+ distribution and modification is permitted, including adding to
8
+ the list of authors and copyright holders, as long as this
9
+ copyright notice is maintained. -->
10
+
11
+
12
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
13
+ version="1.0">
14
+
15
+ <xsl:import href="mmlspec.xsl"/>
16
+
17
+ <xsl:param name="show.diff.markup">1</xsl:param>
18
+
19
+ <xsl:param name="filename.extension">
20
+ <xsl:if test="$show.diff.markup=1">-d</xsl:if>
21
+ <xsl:text>.html</xsl:text>
22
+ </xsl:param>
23
+
24
+ <xsl:param name="additional.css">
25
+ .error { color: red }
26
+ .minitoc { border-style: solid;
27
+ border-color: #0050B2;
28
+ border-width: 1px ;
29
+ padding: 0.3em;}
30
+ .attention { border-style: solid;
31
+ border-width: 1px ;
32
+ color: #5D0091;
33
+ background: #F9F5DE;
34
+ border-color: red;
35
+ margin-left: 1em;
36
+ margin-right: 1em;
37
+ margin-top: 0.25em;
38
+ margin-bottom: 0.25em; }
39
+
40
+ .attribute-Name { background: #F9F5C0; }
41
+ .method-Name { background: #C0C0F9; }
42
+ .IDL-definition { border-style: solid;
43
+ border-width: 1px ;
44
+ color: #001000;
45
+ background: #E0FFE0;
46
+ border-color: #206020;
47
+ margin-left: 1em;
48
+ margin-right: 1em;
49
+ margin-top: 0.25em;
50
+ margin-bottom: 0.25em; }
51
+ .baseline {vertical-align: baseline}
52
+
53
+ #eqnoc1 {width: 10%}
54
+ #eqnoc2 {width: 80%; text-align: center; }
55
+ #eqnoc3 {width: 10%; text-align: right; }
56
+
57
+ div.div1 {margin-bottom: 1em;}
58
+
59
+ .h3style {
60
+ text-align: left;
61
+ font-family: sans-serif;
62
+ font-weight: normal;
63
+ color: #0050B2;
64
+ font-size: 125%;
65
+ }
66
+
67
+ h4 { text-align: left;
68
+ font-family: sans-serif;
69
+ font-weight: normal;
70
+ color: #0050B2; }
71
+ h5 { text-align: left;
72
+ font-family: sans-serif;
73
+ font-weight: bold;
74
+ color: #0050B2; }
75
+
76
+ th {background: #E0FFE0;}
77
+
78
+ p, blockquote, h4 { font-family: sans-serif; }
79
+ dt, dd, dl, ul, li { font-family: sans-serif; }
80
+ pre, code { font-family: monospace }
81
+
82
+
83
+ <xsl:if test="$show.diff.markup = '1'">
84
+ sub.diff-link {background-color: black; color: white; font-family:
85
+ sans-serif; font-weight: bold;}
86
+
87
+ .diff-add { background-color: #FFFF99}
88
+ .diff-del { background-color: #FF9999; text-decoration: line-through }
89
+ .diff-chg { background-color: #99FF99 }
90
+ .diff-off { }
91
+ </xsl:if>
92
+
93
+ .mathml-render {
94
+ font-family: serif;
95
+ font-size: 130%;
96
+ border: solid 4px green;
97
+ padding-left: 1em;
98
+ padding-right: 1em;
99
+ }
100
+ </xsl:param>
101
+
102
+ <xsl:param name="additional.title">
103
+ <xsl:if test="$show.diff.markup != '0'">
104
+ <xsl:text>Diff Marked Version</xsl:text>
105
+ </xsl:if>
106
+ </xsl:param>
107
+
108
+ <xsl:param name="additional.format.note">
109
+ <xsl:if test="$show.diff.markup != 0">
110
+ <div>
111
+ <p>The presentation of this document has been augmented to
112
+ identify changes since the first edition of the MathML 2.0 Recommendation.
113
+ Three kinds of changes
114
+ are highlighted: <span class="diff-add">new, added text</span>,
115
+ <span class="diff-chg">changed text</span>, and
116
+ <span class="diff-del">deleted text</span>.</p>
117
+ <hr/>
118
+ </div>
119
+ </xsl:if>
120
+ </xsl:param>
121
+
122
+ <xsl:param name="called.by.diffspec">1</xsl:param>
123
+
124
+ <!-- ==================================================================== -->
125
+
126
+ <!-- spec: the specification itself -->
127
+ <xsl:template match="spec">
128
+ <xsl:call-template name="write.chunk">
129
+ <xsl:with-param name="filename">
130
+ <xsl:apply-templates select="." mode="slice-filename"/>
131
+ </xsl:with-param>
132
+ <xsl:with-param name="content">
133
+ <html>
134
+ <xsl:if test="header/langusage/language/@id">
135
+ <xsl:attribute name="lang">
136
+ <xsl:value-of select="header/langusage/language/@id"/>
137
+ </xsl:attribute>
138
+ </xsl:if>
139
+ <head>
140
+ <title>
141
+ <xsl:apply-templates select="header/title"/>
142
+ <xsl:if test="header/version">
143
+ <xsl:text> </xsl:text>
144
+ <xsl:apply-templates select="header/version"/>
145
+ </xsl:if>
146
+ <xsl:if test="$additional.title != ''">
147
+ <xsl:text> -- </xsl:text>
148
+ <xsl:value-of select="$additional.title"/>
149
+ </xsl:if>
150
+ </title>
151
+ <xsl:call-template name="css"/>
152
+ </head>
153
+ <body>
154
+ <xsl:copy-of select="$additional.format.note"/>
155
+ <xsl:apply-templates/>
156
+ <xsl:if test="//footnote[not(ancestor::table)]">
157
+ <hr/>
158
+ <div class="endnotes">
159
+ <xsl:text>&#10;</xsl:text>
160
+ <h3>
161
+ <xsl:call-template name="anchor">
162
+ <xsl:with-param name="conditional" select="0"/>
163
+ <xsl:with-param name="default.id" select="'endnotes'"/>
164
+ </xsl:call-template>
165
+ <xsl:text>End Notes</xsl:text>
166
+ </h3>
167
+ <dl>
168
+ <xsl:apply-templates select="//footnote[not(ancestor::table)]"
169
+ mode="notes"/>
170
+ </dl>
171
+ </div>
172
+ </xsl:if>
173
+ </body>
174
+ </html>
175
+ </xsl:with-param>
176
+ </xsl:call-template>
177
+ </xsl:template>
178
+
179
+ <!-- ==================================================================== -->
180
+
181
+ <xsl:template name="diff-markup">
182
+ <xsl:param name="diff">off</xsl:param>
183
+ <xsl:choose>
184
+ <xsl:when test="(ancestor::scrap and not(parent::head)) or self::tr or self::td or self::param">
185
+ <!-- forget it, we can't add stuff inside tables -->
186
+ <!-- handled in base stylesheet -->
187
+ <xsl:apply-imports/>
188
+ </xsl:when>
189
+ <xsl:when test="self::item or self::gitem or self::bibl or self::MMLexample or
190
+ self::property or self::attribute or self::exception or self::author">
191
+ <!-- forget it, we can't add stuff inside dls; handled below -->
192
+ <xsl:apply-imports/>
193
+ </xsl:when>
194
+ <xsl:when test="self::eg or self::graphic[not(@role='inline')]">
195
+ <div class="diff-{$diff}">
196
+ <xsl:apply-imports/>
197
+ <xsl:call-template name="diff-back-link"/>
198
+ </div>
199
+ </xsl:when>
200
+ <xsl:when test="ancestor-or-self::phrase">
201
+ <span class="diff-{$diff}">
202
+ <xsl:apply-imports/>
203
+ <xsl:call-template name="diff-back-link"/>
204
+ </span>
205
+ </xsl:when>
206
+ <xsl:when test="ancestor::p and not(self::p)">
207
+ <span class="diff-{$diff}">
208
+ <xsl:apply-imports/>
209
+ <xsl:call-template name="diff-back-link"/>
210
+ </span>
211
+ </xsl:when>
212
+ <xsl:when test="ancestor-or-self::affiliation or self::attribute">
213
+ <span class="diff-{$diff}">
214
+ <xsl:apply-imports/>
215
+ <xsl:call-template name="diff-back-link"/>
216
+ </span>
217
+ </xsl:when>
218
+ <xsl:when test="ancestor-or-self::name">
219
+ <span class="diff-{$diff}">
220
+ <xsl:apply-imports/>
221
+ <xsl:call-template name="diff-back-link"/>
222
+ </span>
223
+ </xsl:when>
224
+ <xsl:when test="ancestor-or-self::loc">
225
+ <span class="diff-{$diff}">
226
+ <xsl:apply-imports/>
227
+ <xsl:call-template name="diff-back-link"/>
228
+ </span>
229
+ </xsl:when>
230
+ <xsl:otherwise>
231
+ <div class="diff-{$diff}">
232
+ <xsl:apply-imports/>
233
+ <xsl:call-template name="diff-back-link"/>
234
+ </div>
235
+ </xsl:otherwise>
236
+ </xsl:choose>
237
+ </xsl:template>
238
+
239
+ <xsl:template match="*[@diff='chg']">
240
+ <xsl:choose>
241
+ <xsl:when test="$show.diff.markup='1'">
242
+ <xsl:call-template name="diff-markup">
243
+ <xsl:with-param name="diff">chg</xsl:with-param>
244
+ </xsl:call-template>
245
+ </xsl:when>
246
+ <xsl:otherwise>
247
+ <xsl:apply-imports/>
248
+ </xsl:otherwise>
249
+ </xsl:choose>
250
+ </xsl:template>
251
+
252
+ <xsl:template match="*[@diff='add']">
253
+ <xsl:choose>
254
+ <xsl:when test="$show.diff.markup='1'">
255
+ <xsl:call-template name="diff-markup">
256
+ <xsl:with-param name="diff">add</xsl:with-param>
257
+ </xsl:call-template>
258
+ </xsl:when>
259
+ <xsl:otherwise>
260
+ <xsl:apply-imports/>
261
+ </xsl:otherwise>
262
+ </xsl:choose>
263
+ </xsl:template>
264
+
265
+ <xsl:template match="*[@diff='del']">
266
+ <xsl:choose>
267
+ <xsl:when test="$show.diff.markup='1'">
268
+ <xsl:call-template name="diff-markup">
269
+ <xsl:with-param name="diff">del</xsl:with-param>
270
+ </xsl:call-template>
271
+ </xsl:when>
272
+ <xsl:otherwise>
273
+ <!-- suppress deleted markup -->
274
+ </xsl:otherwise>
275
+ </xsl:choose>
276
+ </xsl:template>
277
+
278
+
279
+
280
+
281
+
282
+ <!-- -->
283
+
284
+ <xsl:template name="diff-markup-mmldom">
285
+ <xsl:param name="diff">off</xsl:param>
286
+ <xsl:param name="nosub" select="false()"/>
287
+ <xsl:choose>
288
+ <xsl:when test="self::attribute">
289
+ <xsl:apply-imports/>
290
+ </xsl:when>
291
+ <xsl:when test="self::div1|self::interface">
292
+ <div class="diff-{$diff}">
293
+ <xsl:apply-imports/>
294
+ <xsl:call-template name="diff-back-link">
295
+ <xsl:with-param name="nosub" select="$nosub"/>
296
+ </xsl:call-template>
297
+ </div>
298
+ </xsl:when>
299
+ <xsl:otherwise>
300
+ <span class="diff-{$diff}">
301
+ <xsl:apply-imports/>
302
+ <xsl:call-template name="diff-back-link">
303
+ <xsl:with-param name="nosub" select="$nosub"/>
304
+ </xsl:call-template>
305
+ </span>
306
+ </xsl:otherwise>
307
+ </xsl:choose>
308
+ </xsl:template>
309
+
310
+ <xsl:template match="*[@diff]" mode="javaInterfaces">
311
+ <xsl:choose>
312
+ <xsl:when test="$show.diff.markup='1'">
313
+ <xsl:call-template name="diff-markup-mmldom">
314
+ <xsl:with-param name="diff" select="string(@diff)"/>
315
+ </xsl:call-template>
316
+ </xsl:when>
317
+ <xsl:when test="@diff='del'"/>
318
+ <xsl:otherwise>
319
+ <xsl:apply-imports/>
320
+ </xsl:otherwise>
321
+ </xsl:choose>
322
+ </xsl:template>
323
+
324
+ <!-- -->
325
+
326
+
327
+ <xsl:template match="*[@diff]" mode="IDLInterfaces">
328
+ <xsl:choose>
329
+ <xsl:when test="$show.diff.markup='1' and self::interface">
330
+ <span class="diff-{@diff}">
331
+ <xsl:apply-imports/>
332
+ <xsl:call-template name="diff-back-link">
333
+ <xsl:with-param name="nosub" select="true()"/>
334
+ </xsl:call-template>
335
+ </span>
336
+ </xsl:when>
337
+ <xsl:when test="$show.diff.markup='1'">
338
+ <xsl:call-template name="diff-markup-mmldom">
339
+ <xsl:with-param name="diff" select="string(@diff)"/>
340
+ <xsl:with-param name="nosub" select="true()"/>
341
+ </xsl:call-template>
342
+ </xsl:when>
343
+ <xsl:when test="@diff='del'"/>
344
+ <xsl:otherwise>
345
+ <xsl:apply-imports/>
346
+ </xsl:otherwise>
347
+ </xsl:choose>
348
+ </xsl:template>
349
+
350
+ <!-- -->
351
+
352
+ <xsl:template match="*[@diff]" mode="ecmaInterfaces">
353
+ <xsl:choose>
354
+ <xsl:when test="$show.diff.markup='1'">
355
+ <xsl:call-template name="diff-markup-mmldom">
356
+ <xsl:with-param name="diff" select="string(@diff)"/>
357
+ </xsl:call-template>
358
+ </xsl:when>
359
+ <xsl:when test="@diff='del'"/>
360
+ <xsl:otherwise>
361
+ <xsl:apply-imports/>
362
+ </xsl:otherwise>
363
+ </xsl:choose>
364
+ </xsl:template>
365
+
366
+ <!-- -->
367
+
368
+
369
+
370
+ <xsl:template match="*[@diff='off']">
371
+ <xsl:choose>
372
+ <xsl:when test="$show.diff.markup='1'">
373
+ <xsl:call-template name="diff-markup">
374
+ <xsl:with-param name="diff">off</xsl:with-param>
375
+ </xsl:call-template>
376
+ </xsl:when>
377
+ <xsl:otherwise>
378
+ <xsl:apply-imports/>
379
+ </xsl:otherwise>
380
+ </xsl:choose>
381
+ </xsl:template>
382
+
383
+ <!-- ================================================================= -->
384
+
385
+ <xsl:template match="bibl[@diff]" priority="1">
386
+ <xsl:variable name="dt">
387
+ <xsl:if test="@id">
388
+ <a name="{@id}"/>
389
+ </xsl:if>
390
+ <xsl:choose>
391
+ <xsl:when test="@key">
392
+ <xsl:value-of select="@key"/>
393
+ </xsl:when>
394
+ <xsl:otherwise>
395
+ <xsl:value-of select="@id"/>
396
+ </xsl:otherwise>
397
+ </xsl:choose>
398
+ </xsl:variable>
399
+ <xsl:variable name="dd">
400
+ <xsl:apply-templates/>
401
+ <xsl:if test="@href">
402
+ <xsl:text> (See </xsl:text>
403
+ <a href="{@href}">
404
+ <xsl:value-of select="@href"/>
405
+ </a>
406
+ <xsl:text>.)</xsl:text>
407
+ </xsl:if>
408
+ </xsl:variable>
409
+ <xsl:if test="$show.diff.markup = '1' and @diff and not(key('changes',@id))">
410
+ <xsl:message>No Change Log: <xsl:value-of select="@id"/></xsl:message>
411
+ </xsl:if>
412
+ <xsl:choose>
413
+ <xsl:when test="@diff and $show.diff.markup = '1'">
414
+ <dt class="label">
415
+ <span class="diff-{@diff}">
416
+ <xsl:copy-of select="$dt"/>
417
+ </span>
418
+ </dt>
419
+ <dd>
420
+ <div class="diff-{@diff}">
421
+ <xsl:copy-of select="$dd"/>
422
+ </div>
423
+ </dd>
424
+ </xsl:when>
425
+ <xsl:when test="@diff='del' and $show.diff.markup='0'">
426
+ <!-- suppressed -->
427
+ </xsl:when>
428
+ <xsl:otherwise>
429
+ <dt class="label">
430
+ <xsl:copy-of select="$dt"/>
431
+ </dt>
432
+ <dd>
433
+ <xsl:copy-of select="$dd"/>
434
+ </dd>
435
+ </xsl:otherwise>
436
+ </xsl:choose>
437
+ </xsl:template>
438
+
439
+ <xsl:template match="gitem/label">
440
+ <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
441
+ <xsl:choose>
442
+ <xsl:when test="$diffval != '' and $show.diff.markup='1'">
443
+ <dt class="label">
444
+ <xsl:call-template name="anchor">
445
+ <xsl:with-param name="node" select="."/>
446
+ </xsl:call-template>
447
+ <span class="diff-{ancestor-or-self::*/@diff}">
448
+ <xsl:apply-templates/>
449
+ </span>
450
+ </dt>
451
+ </xsl:when>
452
+ <xsl:when test="$diffval='del' and $show.diff.markup='0'">
453
+ <!-- suppressed -->
454
+ </xsl:when>
455
+ <xsl:otherwise>
456
+ <dt class="label">
457
+ <xsl:call-template name="anchor">
458
+ <xsl:with-param name="node" select="."/>
459
+ </xsl:call-template>
460
+ <xsl:apply-templates/>
461
+ </dt>
462
+ </xsl:otherwise>
463
+ </xsl:choose>
464
+ </xsl:template>
465
+
466
+ <xsl:template match="gitem/def">
467
+ <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
468
+ <xsl:choose>
469
+ <xsl:when test="$diffval != '' and $show.diff.markup='1'">
470
+ <dd>
471
+ <div class="diff-{ancestor-or-self::*/@diff}">
472
+ <xsl:apply-templates/>
473
+ <xsl:for-each select="../label[1]"><xsl:call-template name="diff-back-link"/></xsl:for-each>
474
+ </div>
475
+ </dd>
476
+ </xsl:when>
477
+ <xsl:when test="$diffval='del' and $show.diff.markup='0'">
478
+ <!-- suppressed -->
479
+ </xsl:when>
480
+ <xsl:otherwise>
481
+ <dd>
482
+ <xsl:apply-templates/>
483
+ </dd>
484
+ </xsl:otherwise>
485
+ </xsl:choose>
486
+ </xsl:template>
487
+
488
+ <!-- authlist: list of authors (editors, really) -->
489
+ <!-- called in enforced order from header's template, in <dl>
490
+ context -->
491
+ <xsl:template match="authlist[@diff]">
492
+ <xsl:choose>
493
+ <xsl:when test="$show.diff.markup='1'">
494
+ <dt>
495
+ <span class="diff-{ancestor-or-self::*/@diff}">
496
+ <xsl:text>Editor</xsl:text>
497
+ <xsl:if test="count(author) > 1">
498
+ <xsl:text>s</xsl:text>
499
+ </xsl:if>
500
+ <xsl:text>:</xsl:text>
501
+ </span>
502
+ </dt>
503
+ </xsl:when>
504
+ <xsl:when test="@diff='del' and $show.diff.markup='0'">
505
+ <!-- suppressed -->
506
+ </xsl:when>
507
+ <xsl:otherwise>
508
+ <dt>
509
+ <xsl:text>Editor</xsl:text>
510
+ <xsl:if test="count(author) > 1">
511
+ <xsl:text>s</xsl:text>
512
+ </xsl:if>
513
+ <xsl:text>:</xsl:text>
514
+ </dt>
515
+ </xsl:otherwise>
516
+ </xsl:choose>
517
+ <xsl:apply-templates/>
518
+ </xsl:template>
519
+
520
+ <xsl:key name="changes" match="id('changes_mathml2.0-2.02e')/ulist/item/ulist/item[.//specref]"
521
+ use=".//specref/@ref"/>
522
+ <xsl:key name="changes" match="id('changes_mathml2.0-2.02e')/ulist/item/ulist/item[.//intref]"
523
+ use=".//intref/@ref"/>
524
+ <xsl:key name="changes" match="id('changes_mathml2.0-2.02e')/ulist/item/ulist/item[.//bibref]"
525
+ use=".//bibref/@ref"/>
526
+
527
+ <xsl:template name="diff-back-link">
528
+ <xsl:param name="nosub" select="false()"/>
529
+ <xsl:variable name="id" select="ancestor-or-self::*[not(self::table)][@id][1]/@id"/>
530
+ <xsl:choose>
531
+ <xsl:when test="key('changes',$id)">
532
+ <a>
533
+ <xsl:attribute name="href">
534
+ <xsl:call-template name="href.target">
535
+ <xsl:with-param name="target" select="key('changes', $id)"/>
536
+ </xsl:call-template>
537
+ </xsl:attribute>
538
+ <xsl:choose>
539
+ <xsl:when test="ancestor::eg or ancestor::MMLexample or
540
+ ancestor::property or ancestor-or-self::interface or$nosub">
541
+ <span class="diff-link">J</span>
542
+ </xsl:when>
543
+ <xsl:otherwise>
544
+ <sub class="diff-link">J</sub>
545
+ </xsl:otherwise>
546
+ </xsl:choose>
547
+ </a>
548
+ </xsl:when>
549
+ <xsl:otherwise>
550
+ <xsl:message>No Change Log: <xsl:value-of select="$id"/></xsl:message>
551
+ </xsl:otherwise>
552
+ </xsl:choose>
553
+ </xsl:template>
554
+
555
+ <xsl:template match="id('changes_mathml2.0-2.02e')/ulist/item/ulist/item">
556
+ <li><a id="{generate-id()}" name="{generate-id()}"/>
557
+ <xsl:apply-templates/>
558
+ </li>
559
+ </xsl:template>
560
+
561
+
562
+ <xsl:template mode="text" match="*[@diff='del']"/>
563
+
564
+
565
+
566
+ </xsl:stylesheet>