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,1156 @@
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ $Id: mml6.xsl,v 1.54 2003/10/20 19:02:36 davidc Exp $
4
+
5
+ mml6.xsl David Carlisle
6
+ Generate bycodes.html, byalpha.html and the alphabetic glyph tables
7
+ for MathML chapter 6.
8
+ XSL sheet takes same parameters as mathmlspec.xsl
9
+ takes unicode.xml as input file.
10
+ -->
11
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
12
+ xmlns:saxon="http://icl.com/saxon"
13
+ extension-element-prefixes="saxon"
14
+ version="1.0">
15
+
16
+ <xsl:param name="status">WD</xsl:param>
17
+ <xsl:param name="css.base.uri">http://www.w3.org/StyleSheets/TR/</xsl:param>
18
+ <xsl:param name="icon">http://www.w3.org/Icons/WWW</xsl:param>
19
+ <xsl:param name="glyphs">glyphs</xsl:param>
20
+ <xsl:param name="ext" select="'.html'"/>
21
+ <xsl:param name="diff" select="0"/>
22
+
23
+ <xsl:variable name="css-style">
24
+ <style type="text/css">
25
+ .unassigned { background-color: #FF5555 }
26
+ .error { color: red }
27
+ .bmp { color: green ; background-color: yellow }
28
+ th.cchart {font-size: 80%}
29
+ .minitoc { border-style: solid;
30
+ border-color: #0050B2;
31
+ border-width: 1px ; }
32
+ .ignore {background-color: #AAAAAA;}
33
+ .diff-chg { background-color: lime }
34
+ </style>
35
+ <xsl:choose>
36
+ <xsl:when test="$status='REC' or $status='rec'">
37
+ <link rel="stylesheet" type="text/css" href="{$css.base.uri}W3C-REC.css"></link>
38
+ </xsl:when>
39
+ <xsl:when test="$status='PR' or $status='pr'">
40
+ <link rel="stylesheet" type="text/css" href="{$css.base.uri}W3C-PR.css"></link>
41
+ </xsl:when>
42
+ <xsl:when test="$status='PER' or $status='per'">
43
+ <link rel="stylesheet" type="text/css" href="{$css.base.uri}W3C-PER.css"></link>
44
+ </xsl:when>
45
+ <xsl:when test="$status='CR' or $status='cr'">
46
+ <link rel="stylesheet" type="text/css" href="{$css.base.uri}W3C-CR.css"></link>
47
+ </xsl:when>
48
+ <xsl:otherwise>
49
+ <link rel="stylesheet" type="text/css" href="{$css.base.uri}W3C-WD.css"></link>
50
+ </xsl:otherwise>
51
+ </xsl:choose>
52
+ </xsl:variable>
53
+
54
+ <xsl:output method="text"/>
55
+
56
+ <xsl:key name="set" match="entity" use="@set"/>
57
+ <xsl:key name="mathvariant" match="character[surrogate]" use="surrogate/@mathvariant"/>
58
+
59
+ <xsl:variable name="ranges">
60
+ <range>000</range>
61
+ <range>001</range>
62
+ <range>002</range>
63
+ <range>003</range>
64
+ <range>004</range>
65
+ <range>020</range>
66
+ <range>021</range>
67
+ <range>022</range>
68
+ <range>023</range>
69
+ <range>024</range>
70
+ <range>025</range>
71
+ <range>026</range>
72
+ <range>027</range>
73
+ <range>029</range>
74
+ <range>02A</range>
75
+ <range>030</range>
76
+ <range>0FB</range>
77
+ <range>0FE</range>
78
+ <range>1D4</range>
79
+ <range>1D5</range>
80
+ <range>1D6</range>
81
+ <range>1D7</range>
82
+ </xsl:variable>
83
+ <xsl:variable name="root" select="/"/>
84
+
85
+ <xsl:template match="charlist">
86
+
87
+ <xsl:for-each select="entitygroups/group[@name='mathml']/set">
88
+ <xsl:call-template name="alphatable">
89
+ <xsl:with-param name="set" select="@name"/>
90
+ </xsl:call-template>
91
+ </xsl:for-each>
92
+
93
+ <xsl:for-each select="mathvariants/mathvariant">
94
+ <xsl:call-template name="letter-like">
95
+ <xsl:with-param name="mathvariant" select="@name"/>
96
+ <xsl:with-param name="title" select="@description"/>
97
+ </xsl:call-template>
98
+ </xsl:for-each>
99
+ <xsl:call-template name="code-chart">
100
+ <xsl:with-param name="range" select="'000'"/>
101
+ </xsl:call-template>
102
+
103
+ <xsl:for-each select="document('')/*/xsl:variable[@name='ranges']/*">
104
+ <xsl:call-template name="code-chart">
105
+ <xsl:with-param name="range" select="string(.)"/>
106
+ </xsl:call-template>
107
+ </xsl:for-each>
108
+
109
+ <xsl:call-template name="bycodes"/>
110
+ <xsl:call-template name="byalpha"/>
111
+
112
+ <xsl:call-template name="variants"/>
113
+ <xsl:call-template name="cancellations"/>
114
+
115
+ </xsl:template>
116
+
117
+
118
+
119
+
120
+
121
+ <xsl:template name="alphatable">
122
+ <xsl:param name="set"/>
123
+ <xsl:variable name="d">
124
+ <xsl:choose>
125
+ <xsl:when test="starts-with($set,'957')">iso9573-13</xsl:when>
126
+ <xsl:when test="starts-with($set,'88')">iso8879</xsl:when>
127
+ <xsl:when test="starts-with($set,'mml')">mathml</xsl:when>
128
+ <xsl:when test="starts-with($set,'htm')">html</xsl:when>
129
+ </xsl:choose>
130
+ </xsl:variable>
131
+ <xsl:variable name="f">
132
+ <xsl:choose>
133
+ <xsl:when test="starts-with($set,'957')"><xsl:value-of select="substring-after($set,'13-')"/></xsl:when>
134
+ <xsl:when test="starts-with($set,'88')"><xsl:value-of select="substring-after($set,'-')"/></xsl:when>
135
+ <xsl:when test="starts-with($set,'html')"><xsl:value-of select="substring-after($set,'-')"/></xsl:when>
136
+ <xsl:otherwise><xsl:value-of select="$set"/></xsl:otherwise>
137
+ </xsl:choose>
138
+ </xsl:variable>
139
+ <xsl:variable name="t">
140
+ <xsl:value-of select="translate($f,'abcdefghijklmnopqrstuvwxyz',
141
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
142
+ Characters and Glyphs</xsl:variable>
143
+
144
+ <saxon:output method="html"
145
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
146
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
147
+ href="{$f}{$ext}">
148
+ <html>
149
+ <head>
150
+ <title><xsl:value-of select="$t"/></title>
151
+ <xsl:copy-of select="$css-style"/>
152
+ </head>
153
+ <body>
154
+ <h1><xsl:value-of select="$t"/></h1>
155
+ <xsl:variable name="minitoc">
156
+ <div class="minitoc">
157
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
158
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
159
+ <xsl:for-each select="preceding-sibling::set[1]">
160
+
161
+ <xsl:variable name="pf">
162
+ <xsl:choose>
163
+ <xsl:when test="starts-with(@name,'957')"><xsl:value-of select="substring-after(@name,'13-')"/></xsl:when>
164
+ <xsl:when test="starts-with(@name,'88')"><xsl:value-of select="substring-after(@name,'-')"/></xsl:when>
165
+ <xsl:when test="starts-with(@name,'html')"><xsl:value-of select="substring-after(@name,'-')"/></xsl:when>
166
+ <xsl:otherwise><xsl:value-of select="@name"/></xsl:otherwise>
167
+ </xsl:choose>
168
+ </xsl:variable>
169
+
170
+ Previous: <a href="{$pf}{$ext}"><xsl:value-of
171
+ select="translate($pf,'abcdefghijklmnopqrstuvwxyz',
172
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></a><br/>
173
+ </xsl:for-each>
174
+ <xsl:for-each select="following-sibling::set[1]">
175
+
176
+ <xsl:variable name="nf">
177
+ <xsl:choose>
178
+ <xsl:when test="starts-with(@name,'957')"><xsl:value-of select="substring-after(@name,'13-')"/></xsl:when>
179
+ <xsl:when test="starts-with(@name,'88')"><xsl:value-of select="substring-after(@name,'-')"/></xsl:when>
180
+ <xsl:when test="starts-with(@name,'html')"><xsl:value-of select="substring-after(@name,'-')"/></xsl:when>
181
+ <xsl:otherwise><xsl:value-of select="@name"/></xsl:otherwise>
182
+ </xsl:choose>
183
+ </xsl:variable>
184
+
185
+ Next: <a href="{$nf}{$ext}"><xsl:value-of
186
+ select="translate($nf,'abcdefghijklmnopqrstuvwxyz',
187
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></a><br/>
188
+ </xsl:for-each>
189
+ Entity file: <a href="http://www.w3.org/Math/DTD/mathml2/{$d}/{$f}.ent"
190
+ >http://www.w3.org/Math/DTD/mathml2/<xsl:value-of select="$d"
191
+ />/<xsl:value-of select="$f"/>.ent</a>
192
+ </div>
193
+ </xsl:variable>
194
+ <xsl:copy-of select="$minitoc"/>
195
+ <div>
196
+ <br/>
197
+ <table border="1">
198
+ <tr>
199
+ <th>Name</th>
200
+ <th>Unicode</th>
201
+ <th>Glyph</th>
202
+ <th>Unicode Name</th>
203
+ <th>Description</th>
204
+ <th>Aliases</th>
205
+ </tr>
206
+ <xsl:for-each select="key('set',$set)">
207
+ <xsl:sort select="@id"/>
208
+ <tr>
209
+ <xsl:if test="../description/@unicode='provisional'">
210
+ <xsl:attribute name="class">provisional</xsl:attribute>
211
+ <xsl:message><xsl:value-of select="concat('Provisional: ',$set,': ',@id)"/></xsl:message>
212
+ </xsl:if>
213
+ <xsl:if test="@optional and @default='IGNORE'">
214
+ <xsl:attribute name="class">ignore</xsl:attribute>
215
+ </xsl:if>
216
+ <td>
217
+ <xsl:value-of select="@id"/>
218
+ </td>
219
+ <td>
220
+ <xsl:value-of select="substring-after(../@id,'U')"/>
221
+ </td>
222
+ <td>
223
+ <img height="32"
224
+ width="32"
225
+ src="{$glyphs}/{substring(../@id,2,3)}/{translate(../@id,'x','')}.png"
226
+ alt="{../@id}"
227
+ >
228
+ <xsl:if test="../@image='none'"><xsl:attribute
229
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
230
+ </img>
231
+ </td>
232
+ <td>
233
+ <xsl:value-of select="../description"/>
234
+ </td>
235
+ <td>
236
+ <xsl:value-of select="desc"/>
237
+ <xsl:if test="not(desc)">&#160;</xsl:if>
238
+ </td>
239
+ <td>
240
+ <xsl:if test="not(../entity[@set='mmlalias'] or ../entity[@set=$set][2])">&#160;</xsl:if>
241
+ <xsl:for-each select="../entity[@set='mmlalias' or (@set=$set
242
+ and @id!=current()/@id)]/@id">
243
+ <xsl:value-of select="."/>
244
+ <xsl:if test="position() &lt; last()">, </xsl:if>
245
+ </xsl:for-each>
246
+ </td>
247
+ </tr>
248
+ </xsl:for-each>
249
+ </table>
250
+ <br/>
251
+ </div>
252
+ <xsl:copy-of select="$minitoc"/>
253
+ </body>
254
+ </html>
255
+ </saxon:output>
256
+ </xsl:template>
257
+
258
+ <!-- -->
259
+
260
+ <xsl:template name="letter-like">
261
+ <xsl:param name="mathvariant"/>
262
+ <xsl:param name="title"/>
263
+
264
+
265
+ <saxon:output method="html"
266
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
267
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
268
+ href="{$mathvariant}{$ext}">
269
+ <html>
270
+ <head>
271
+ <title>
272
+ <xsl:value-of select="$title"/>
273
+ </title>
274
+ <xsl:copy-of select="$css-style"/>
275
+ </head>
276
+ <body>
277
+ <h1>
278
+ <xsl:value-of select="$title"/>
279
+ </h1>
280
+
281
+ <xsl:variable name="minitoc">
282
+ <div class="minitoc">
283
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
284
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
285
+
286
+ <xsl:for-each select="preceding-sibling::mathvariant[1]">
287
+ Previous: <a href="{@name}{$ext}"><xsl:value-of select="@description"/></a><br/>
288
+ </xsl:for-each>
289
+ <xsl:for-each select="following-sibling::mathvariant[1]">
290
+ Next: <a href="{@name}{$ext}"><xsl:value-of select="@description"/></a><br/>
291
+ </xsl:for-each>
292
+
293
+ </div>
294
+ </xsl:variable>
295
+ <xsl:copy-of select="$minitoc"/>
296
+
297
+ <div>
298
+ <br/>
299
+ <table border="1">
300
+ <tr>
301
+ <th>Unicode</th>
302
+ <th>BMP</th>
303
+ <th>Glyph</th>
304
+ <th>Unicode Name</th>
305
+ <th>MathML Names</th>
306
+ </tr>
307
+ <xsl:for-each select="key('mathvariant',$mathvariant)">
308
+ <xsl:sort select="@id"/>
309
+ <xsl:variable name="s" select="substring(surrogate/@ref,2)"/>
310
+ <tr>
311
+ <xsl:if test="bmp">
312
+ <xsl:attribute name="class">bmp</xsl:attribute>
313
+ </xsl:if>
314
+ <xsl:for-each select="self::node()[not(bmp)]|id(bmp/@ref)">
315
+ <td>
316
+ <xsl:value-of select="substring(@id,2)"/>
317
+ </td>
318
+ <td>
319
+ <xsl:value-of select="$s"/>
320
+ </td>
321
+ <td>
322
+ <img height="32"
323
+ width="32"
324
+ src="{$glyphs}/{substring(@id,2,3)}/{translate(@id,'x','')}.png"
325
+ alt="{@id}"
326
+ >
327
+ <xsl:if test="@image='none'"><xsl:attribute
328
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
329
+ </img>
330
+ </td>
331
+ <td>
332
+ <xsl:value-of select="description"/>
333
+ </td>
334
+ <td>
335
+ <xsl:variable name="x" select="entity[key('mmlsets',@set)]/@id"/>
336
+ <xsl:choose>
337
+ <xsl:when test="not($x)">&#160;</xsl:when>
338
+ <xsl:otherwise>
339
+ <xsl:for-each select="$x">
340
+ <xsl:value-of select="."/>
341
+ <xsl:if test="position() &lt; last()">, </xsl:if>
342
+ </xsl:for-each>
343
+ </xsl:otherwise>
344
+ </xsl:choose>
345
+ </td>
346
+ </xsl:for-each>
347
+ </tr>
348
+ </xsl:for-each>
349
+ </table>
350
+ <br/>
351
+ </div>
352
+ <xsl:copy-of select="$minitoc"/>
353
+ </body>
354
+ </html>
355
+ </saxon:output>
356
+ </xsl:template>
357
+
358
+ <xsl:key name="mmlsets"
359
+ match="/charlist/entitygroups/group[@name='mathml']/set" use="@name"/>
360
+ <!-- -->
361
+
362
+ <xsl:template name="code-chart">
363
+ <xsl:param name="range"/>
364
+ <saxon:output method="html"
365
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
366
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
367
+ href="{$range}{$ext}">
368
+ <html>
369
+ <head>
370
+ <title>Unicode Characters:
371
+ <xsl:value-of select="concat($range,'00 to ',$range,'FF')"/>
372
+ </title>
373
+ <xsl:copy-of select="$css-style"/>
374
+ </head>
375
+ <body>
376
+ <h1>Unicode Characters:
377
+ <xsl:value-of select="concat($range,'00 to ',$range,'FF')"/>
378
+ </h1>
379
+
380
+ <xsl:variable name="minitoc">
381
+ <div class="minitoc">
382
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
383
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
384
+ <xsl:for-each select="preceding-sibling::*[1]">
385
+ Previous: <a href="{.}{$ext}"><xsl:value-of select="."/>00 to <xsl:value-of select="."/>FF</a><br/>
386
+ </xsl:for-each>
387
+ <xsl:for-each select="following-sibling::*[1]">
388
+ Next: <a href="{.}{$ext}"><xsl:value-of select="."/>00 to <xsl:value-of select="."/>FF</a><br/>
389
+ </xsl:for-each>
390
+ </div>
391
+ </xsl:variable>
392
+ <xsl:copy-of select="$minitoc"/>
393
+ <div>
394
+ <br/>
395
+ <xsl:for-each select="$root">
396
+ <table border="1">
397
+ <tr>
398
+ <th class="cchart">&#160;</th>
399
+ <th class="cchart"><xsl:value-of select="$range"/>0</th>
400
+ <th class="cchart"><xsl:value-of select="$range"/>1</th>
401
+ <th class="cchart"><xsl:value-of select="$range"/>2</th>
402
+ <th class="cchart"><xsl:value-of select="$range"/>3</th>
403
+ <th class="cchart"><xsl:value-of select="$range"/>4</th>
404
+ <th class="cchart"><xsl:value-of select="$range"/>5</th>
405
+ <th class="cchart"><xsl:value-of select="$range"/>6</th>
406
+ <th class="cchart"><xsl:value-of select="$range"/>7</th>
407
+ <th class="cchart"><xsl:value-of select="$range"/>8</th>
408
+ <th class="cchart"><xsl:value-of select="$range"/>9</th>
409
+ <th class="cchart"><xsl:value-of select="$range"/>A</th>
410
+ <th class="cchart"><xsl:value-of select="$range"/>B</th>
411
+ <th class="cchart"><xsl:value-of select="$range"/>C</th>
412
+ <th class="cchart"><xsl:value-of select="$range"/>D</th>
413
+ <th class="cchart"><xsl:value-of select="$range"/>E</th>
414
+ <th class="cchart"><xsl:value-of select="$range"/>F</th>
415
+ </tr>
416
+ <xsl:call-template name="table-row">
417
+ <xsl:with-param name="range" select="$range"/>
418
+ <xsl:with-param name="row" select="'0'"/>
419
+ </xsl:call-template>
420
+ <xsl:call-template name="table-row">
421
+ <xsl:with-param name="range" select="$range"/>
422
+ <xsl:with-param name="row" select="'1'"/>
423
+ </xsl:call-template>
424
+ <xsl:call-template name="table-row">
425
+ <xsl:with-param name="range" select="$range"/>
426
+ <xsl:with-param name="row" select="'2'"/>
427
+ </xsl:call-template>
428
+ <xsl:call-template name="table-row">
429
+ <xsl:with-param name="range" select="$range"/>
430
+ <xsl:with-param name="row" select="'3'"/>
431
+ </xsl:call-template>
432
+ <xsl:call-template name="table-row">
433
+ <xsl:with-param name="range" select="$range"/>
434
+ <xsl:with-param name="row" select="'4'"/>
435
+ </xsl:call-template>
436
+ <xsl:call-template name="table-row">
437
+ <xsl:with-param name="range" select="$range"/>
438
+ <xsl:with-param name="row" select="'5'"/>
439
+ </xsl:call-template>
440
+ <xsl:call-template name="table-row">
441
+ <xsl:with-param name="range" select="$range"/>
442
+ <xsl:with-param name="row" select="'6'"/>
443
+ </xsl:call-template>
444
+ <xsl:call-template name="table-row">
445
+ <xsl:with-param name="range" select="$range"/>
446
+ <xsl:with-param name="row" select="'7'"/>
447
+ </xsl:call-template>
448
+ <xsl:call-template name="table-row">
449
+ <xsl:with-param name="range" select="$range"/>
450
+ <xsl:with-param name="row" select="'8'"/>
451
+ </xsl:call-template>
452
+ <xsl:call-template name="table-row">
453
+ <xsl:with-param name="range" select="$range"/>
454
+ <xsl:with-param name="row" select="'9'"/>
455
+ </xsl:call-template>
456
+ <xsl:call-template name="table-row">
457
+ <xsl:with-param name="range" select="$range"/>
458
+ <xsl:with-param name="row" select="'A'"/>
459
+ </xsl:call-template>
460
+ <xsl:call-template name="table-row">
461
+ <xsl:with-param name="range" select="$range"/>
462
+ <xsl:with-param name="row" select="'B'"/>
463
+ </xsl:call-template>
464
+ <xsl:call-template name="table-row">
465
+ <xsl:with-param name="range" select="$range"/>
466
+ <xsl:with-param name="row" select="'C'"/>
467
+ </xsl:call-template>
468
+ <xsl:call-template name="table-row">
469
+ <xsl:with-param name="range" select="$range"/>
470
+ <xsl:with-param name="row" select="'D'"/>
471
+ </xsl:call-template>
472
+ <xsl:call-template name="table-row">
473
+ <xsl:with-param name="range" select="$range"/>
474
+ <xsl:with-param name="row" select="'E'"/>
475
+ </xsl:call-template>
476
+ <xsl:call-template name="table-row">
477
+ <xsl:with-param name="range" select="$range"/>
478
+ <xsl:with-param name="row" select="'F'"/>
479
+ </xsl:call-template>
480
+ <tr>
481
+ <th class="cchart">&#160;</th>
482
+ <th class="cchart"><xsl:value-of select="$range"/>0</th>
483
+ <th class="cchart"><xsl:value-of select="$range"/>1</th>
484
+ <th class="cchart"><xsl:value-of select="$range"/>2</th>
485
+ <th class="cchart"><xsl:value-of select="$range"/>3</th>
486
+ <th class="cchart"><xsl:value-of select="$range"/>4</th>
487
+ <th class="cchart"><xsl:value-of select="$range"/>5</th>
488
+ <th class="cchart"><xsl:value-of select="$range"/>6</th>
489
+ <th class="cchart"><xsl:value-of select="$range"/>7</th>
490
+ <th class="cchart"><xsl:value-of select="$range"/>8</th>
491
+ <th class="cchart"><xsl:value-of select="$range"/>9</th>
492
+ <th class="cchart"><xsl:value-of select="$range"/>A</th>
493
+ <th class="cchart"><xsl:value-of select="$range"/>B</th>
494
+ <th class="cchart"><xsl:value-of select="$range"/>C</th>
495
+ <th class="cchart"><xsl:value-of select="$range"/>D</th>
496
+ <th class="cchart"><xsl:value-of select="$range"/>E</th>
497
+ <th class="cchart"><xsl:value-of select="$range"/>F</th>
498
+ </tr>
499
+ </table>
500
+
501
+ </xsl:for-each>
502
+ <p>
503
+ Key:
504
+ </p>
505
+
506
+ <table border="1">
507
+ <tr><th>Cell Style</th><th>Status</th></tr>
508
+ <tr><td>&#160;&#160;&#160;</td><td>Unicode Character (Unicode 4.0)</td></tr>
509
+ <tr><td class="unassigned">&#160;</td><td>Unicode or XML Non-Character</td></tr><tr><td><img src="{$glyphs}/none.png" alt="none"/></td><td>Character for which an image is not currently available</td></tr>
510
+ </table>
511
+ <br/>
512
+ </div>
513
+ <xsl:copy-of select="$minitoc"/>
514
+ </body>
515
+ </html>
516
+ </saxon:output>
517
+ </xsl:template>
518
+
519
+ <xsl:template name="table-row">
520
+ <xsl:param name="range"/>
521
+ <xsl:param name="row"/>
522
+ <tr>
523
+ <th class="cchart"><xsl:value-of select="$row"/></th>
524
+ <xsl:call-template name="table-cell">
525
+ <xsl:with-param name="range" select="$range"/>
526
+ <xsl:with-param name="h" select="concat('0',$row)"/>
527
+ </xsl:call-template>
528
+ <xsl:call-template name="table-cell">
529
+ <xsl:with-param name="range" select="$range"/>
530
+ <xsl:with-param name="h" select="concat('1',$row)"/>
531
+ </xsl:call-template>
532
+ <xsl:call-template name="table-cell">
533
+ <xsl:with-param name="range" select="$range"/>
534
+ <xsl:with-param name="h" select="concat('2',$row)"/>
535
+ </xsl:call-template>
536
+ <xsl:call-template name="table-cell">
537
+ <xsl:with-param name="range" select="$range"/>
538
+ <xsl:with-param name="h" select="concat('3',$row)"/>
539
+ </xsl:call-template>
540
+ <xsl:call-template name="table-cell">
541
+ <xsl:with-param name="range" select="$range"/>
542
+ <xsl:with-param name="h" select="concat('4',$row)"/>
543
+ </xsl:call-template>
544
+ <xsl:call-template name="table-cell">
545
+ <xsl:with-param name="range" select="$range"/>
546
+ <xsl:with-param name="h" select="concat('5',$row)"/>
547
+ </xsl:call-template>
548
+ <xsl:call-template name="table-cell">
549
+ <xsl:with-param name="range" select="$range"/>
550
+ <xsl:with-param name="h" select="concat('6',$row)"/>
551
+ </xsl:call-template>
552
+ <xsl:call-template name="table-cell">
553
+ <xsl:with-param name="range" select="$range"/>
554
+ <xsl:with-param name="h" select="concat('7',$row)"/>
555
+ </xsl:call-template>
556
+ <xsl:call-template name="table-cell">
557
+ <xsl:with-param name="range" select="$range"/>
558
+ <xsl:with-param name="h" select="concat('8',$row)"/>
559
+ </xsl:call-template>
560
+ <xsl:call-template name="table-cell">
561
+ <xsl:with-param name="range" select="$range"/>
562
+ <xsl:with-param name="h" select="concat('9',$row)"/>
563
+ </xsl:call-template>
564
+ <xsl:call-template name="table-cell">
565
+ <xsl:with-param name="range" select="$range"/>
566
+ <xsl:with-param name="h" select="concat('A',$row)"/>
567
+ </xsl:call-template>
568
+ <xsl:call-template name="table-cell">
569
+ <xsl:with-param name="range" select="$range"/>
570
+ <xsl:with-param name="h" select="concat('B',$row)"/>
571
+ </xsl:call-template>
572
+ <xsl:call-template name="table-cell">
573
+ <xsl:with-param name="range" select="$range"/>
574
+ <xsl:with-param name="h" select="concat('C',$row)"/>
575
+ </xsl:call-template>
576
+ <xsl:call-template name="table-cell">
577
+ <xsl:with-param name="range" select="$range"/>
578
+ <xsl:with-param name="h" select="concat('D',$row)"/>
579
+ </xsl:call-template>
580
+ <xsl:call-template name="table-cell">
581
+ <xsl:with-param name="range" select="$range"/>
582
+ <xsl:with-param name="h" select="concat('E',$row)"/>
583
+ </xsl:call-template>
584
+ <xsl:call-template name="table-cell">
585
+ <xsl:with-param name="range" select="$range"/>
586
+ <xsl:with-param name="h" select="concat('F',$row)"/>
587
+ </xsl:call-template>
588
+ <th class="cchart"><xsl:value-of select="$row"/></th>
589
+ </tr>
590
+ </xsl:template>
591
+
592
+
593
+ <xsl:template name="table-cell">
594
+ <xsl:param name="range"/>
595
+ <xsl:param name="h"/>
596
+ <td style="width:40px; vertical-align:middle">
597
+ <xsl:variable name="x" select="id(concat('U',$range,$h))"/>
598
+ <xsl:choose>
599
+ <xsl:when test="$x and not($x/bmp) and not($x/description/@unicode='unassigned')">
600
+ <xsl:attribute name="title">
601
+ <xsl:value-of select="$x/description"/>
602
+ </xsl:attribute>
603
+ <xsl:choose>
604
+ <xsl:when test="$x/entity[
605
+ @set='9573-13-isoamsa'
606
+ or @set='9573-13-isoamsb'
607
+ or @set='9573-13-isoamsc'
608
+ or @set='9573-13-isoamsn'
609
+ or @set='9573-13-isoamso'
610
+ or @set='9573-13-isoamsr'
611
+ or @set='9573-13-isogrk3'
612
+ or @set='9573-13-isomfrk'
613
+ or @set='9573-13-isomopf'
614
+ or @set='9573-13-isomscr'
615
+ or @set='9573-13-isotech'
616
+ or @set='8879-isobox'
617
+ or @set='8879-isocyr1'
618
+ or @set='8879-isocyr2'
619
+ or @set='8879-isodia'
620
+ or @set='8879-isolat1'
621
+ or @set='8879-isolat2'
622
+ or @set='8879-isonum'
623
+ or @set='8879-isopub'
624
+ or @set='Xmmlalias'
625
+ or @set='mmlextra']">
626
+ <xsl:if test="$x/description/@unicode='provisional'">
627
+ <xsl:attribute name="class">provisional</xsl:attribute>
628
+ </xsl:if>
629
+ </xsl:when>
630
+ <xsl:otherwise><!-- not named -->
631
+ <xsl:choose>
632
+ <xsl:when test="$x/description/@unicode='provisional'">
633
+ <xsl:attribute name="class">unnamed-provisional</xsl:attribute>
634
+ </xsl:when>
635
+ <xsl:when test="$x/@dec &lt;32 and $x/@dec != 9 and $x/@dec != 10 and $x/@dec != 13">
636
+ <xsl:attribute name="class">unassigned</xsl:attribute>
637
+ </xsl:when>
638
+ <xsl:when test="$x/description/@unicode='unasigned'">
639
+ <xsl:attribute name="class">unassigned</xsl:attribute>
640
+ </xsl:when>
641
+ <xsl:otherwise>
642
+ <xsl:attribute name="class">unnamed-mathml</xsl:attribute>
643
+ </xsl:otherwise>
644
+ </xsl:choose>
645
+ </xsl:otherwise>
646
+ </xsl:choose>
647
+ <xsl:choose>
648
+ <xsl:when test="($x/surrogate and not($x/bmp)) or $x/entity[
649
+ @set='9573-13-isoamsa'
650
+ or @set='9573-13-isoamsb'
651
+ or @set='9573-13-isoamsc'
652
+ or @set='9573-13-isoamsn'
653
+ or @set='9573-13-isoamso'
654
+ or @set='9573-13-isoamsr'
655
+ or @set='9573-13-isogrk3'
656
+ or @set='9573-13-isomfrk'
657
+ or @set='9573-13-isomopf'
658
+ or @set='9573-13-isomscr'
659
+ or @set='9573-13-isotech'
660
+ or @set='8879-isobox'
661
+ or @set='8879-isocyr1'
662
+ or @set='8879-isocyr2'
663
+ or @set='8879-isodia'
664
+ or @set='8879-isolat1'
665
+ or @set='8879-isolat2'
666
+ or @set='8879-isonum'
667
+ or @set='8879-isopub'
668
+ or @set='Xmmlalias'
669
+ or @set='mmlextra']">
670
+ <a href="bycodes{$ext}#{$x/@id}">
671
+ <img height="32" width="32" src="{$glyphs}/{$range}/U{$range}{$h}.png"
672
+ alt="{$x/description}">
673
+ <xsl:if test="$x/@image='none'"><xsl:attribute
674
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
675
+ </img>
676
+ </a>
677
+ </xsl:when>
678
+ <xsl:otherwise>
679
+ <img height="32" width="32" src="{$glyphs}/{$range}/U{$range}{$h}.png"
680
+ alt="{$x/description}">
681
+ <xsl:if test="$x/@image='none'"><xsl:attribute
682
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
683
+ </img>
684
+ </xsl:otherwise>
685
+ </xsl:choose>
686
+ </xsl:when>
687
+ <xsl:when test="$x/bmp or $x/description/@unicode='unassigned'">
688
+ <xsl:attribute name="class">unassigned</xsl:attribute>
689
+ <xsl:text>&#160;</xsl:text>
690
+ </xsl:when>
691
+ <xsl:when test="$range='000' and (starts-with($h,'0') or starts-with($h,'1'))">
692
+ <xsl:attribute name="class">unassigned</xsl:attribute>
693
+ <xsl:text>&#160;</xsl:text>
694
+ </xsl:when>
695
+ <xsl:otherwise>
696
+ <xsl:attribute name="class">undescribed</xsl:attribute>
697
+ <xsl:text>&#160;</xsl:text>
698
+ </xsl:otherwise>
699
+ </xsl:choose>
700
+ </td>
701
+ </xsl:template>
702
+
703
+
704
+ <!-- -->
705
+ <xsl:template name="bycodes">
706
+ <saxon:output method="html"
707
+ indent="no"
708
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
709
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
710
+ href="bycodes{$ext}">
711
+ <html>
712
+ <head>
713
+ <title>
714
+ Characters Ordered by Unicode
715
+ </title>
716
+ <xsl:text>&#10;</xsl:text>
717
+ <xsl:copy-of select="$css-style"/>
718
+ <xsl:text>&#10;</xsl:text>
719
+ </head>
720
+ <xsl:text>&#10;</xsl:text>
721
+ <body>
722
+ <h1>Characters Ordered by Unicode</h1>
723
+ <xsl:text>&#10;</xsl:text>
724
+
725
+ <xsl:variable name="minitoc">
726
+ <div class="minitoc">
727
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
728
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
729
+ Next: <a href="byalpha{$ext}">Named MathML Characters, ordered by Name</a><br/>
730
+ </div>
731
+ </xsl:variable>
732
+ <xsl:copy-of select="$minitoc"/>
733
+ <div>
734
+ <br/>
735
+
736
+ <pre>
737
+ <xsl:text>&#10;</xsl:text>
738
+ <xsl:for-each select="character[entity[
739
+ @set='9573-13-isoamsa'
740
+ or @set='9573-13-isoamsb'
741
+ or @set='9573-13-isoamsc'
742
+ or @set='9573-13-isoamsn'
743
+ or @set='9573-13-isoamso'
744
+ or @set='9573-13-isoamsr'
745
+ or @set='9573-13-isogrk3'
746
+ or @set='9573-13-isomfrk'
747
+ or @set='9573-13-isomopf'
748
+ or @set='9573-13-isomscr'
749
+ or @set='9573-13-isotech'
750
+ or @set='8879-isobox'
751
+ or @set='8879-isocyr1'
752
+ or @set='8879-isocyr2'
753
+ or @set='8879-isodia'
754
+ or @set='8879-isolat1'
755
+ or @set='8879-isolat2'
756
+ or @set='8879-isonum'
757
+ or @set='8879-isopub'
758
+ or @set='mmlextra']
759
+ or (surrogate and not(description/@unicode='unassigned'))]">
760
+ <xsl:sort select="@id"/>
761
+ <a name="{@id}"/>
762
+ <xsl:choose>
763
+ <xsl:when test="@image='none'"><xsl:value-of select="@id"/></xsl:when>
764
+ <xsl:otherwise>
765
+ <a href="{$glyphs}/{substring(@id,2,3)}/{translate(@id,'x','')}.png">
766
+ <xsl:value-of select="@id"/>
767
+ </a>
768
+ </xsl:otherwise>
769
+ </xsl:choose>
770
+ <xsl:text>, </xsl:text>
771
+ <xsl:value-of select="description"/>
772
+ <xsl:value-of select="substring(
773
+ ' ',
774
+ string-length(description)+string-length(@id))"/>
775
+ <xsl:text>, </xsl:text>
776
+ <xsl:for-each select="entity[
777
+ @set='9573-13-isoamsa'
778
+ or @set='9573-13-isoamsb'
779
+ or @set='9573-13-isoamsc'
780
+ or @set='9573-13-isoamsn'
781
+ or @set='9573-13-isoamso'
782
+ or @set='9573-13-isoamsr'
783
+ or @set='9573-13-isogrk3'
784
+ or @set='9573-13-isomfrk'
785
+ or @set='9573-13-isomopf'
786
+ or @set='9573-13-isomscr'
787
+ or @set='9573-13-isotech'
788
+ or @set='8879-isobox'
789
+ or @set='8879-isocyr1'
790
+ or @set='8879-isocyr2'
791
+ or @set='8879-isodia'
792
+ or @set='8879-isolat1'
793
+ or @set='8879-isolat2'
794
+ or @set='8879-isonum'
795
+ or @set='8879-isopub'
796
+ or @set='mmlextra'
797
+ or @set='mmlalias']/@id">
798
+ <xsl:value-of select="."/>
799
+ <xsl:if test="position() &lt; last()">, </xsl:if>
800
+ </xsl:for-each>
801
+ <xsl:text>&#10;</xsl:text>
802
+ </xsl:for-each>
803
+ </pre>
804
+ <br/>
805
+ </div>
806
+ <xsl:copy-of select="$minitoc"/>
807
+ </body>
808
+ </html>
809
+ </saxon:output>
810
+ </xsl:template>
811
+
812
+ <xsl:template name="byalpha">
813
+ <saxon:output method="html"
814
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
815
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
816
+ href="byalpha{$ext}">
817
+ <html>
818
+ <head>
819
+ <title>
820
+ Characters Ordered by MathML Name
821
+ </title>
822
+
823
+ <xsl:copy-of select="$css-style"/>
824
+ </head>
825
+ <body>
826
+ <h1>
827
+ Characters Ordered by MathML Names
828
+ </h1>
829
+
830
+ <xsl:variable name="minitoc">
831
+ <div class="minitoc">
832
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
833
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
834
+ Previous: <a href="bycodes{$ext}">All, by codes</a><br/>
835
+ </div>
836
+ </xsl:variable>
837
+ <xsl:copy-of select="$minitoc"/>
838
+ <div>
839
+ <br/>
840
+
841
+ <pre>
842
+ <xsl:for-each select="character/entity[
843
+ @set='9573-13-isoamsa'
844
+ or @set='9573-13-isoamsb'
845
+ or @set='9573-13-isoamsc'
846
+ or @set='9573-13-isoamsn'
847
+ or @set='9573-13-isoamso'
848
+ or @set='9573-13-isoamsr'
849
+ or @set='9573-13-isogrk3'
850
+ or @set='9573-13-isomfrk'
851
+ or @set='9573-13-isomopf'
852
+ or @set='9573-13-isomscr'
853
+ or @set='9573-13-isotech'
854
+ or @set='8879-isobox'
855
+ or @set='8879-isocyr1'
856
+ or @set='8879-isocyr2'
857
+ or @set='8879-isodia'
858
+ or @set='8879-isolat1'
859
+ or @set='8879-isolat2'
860
+ or @set='8879-isonum'
861
+ or @set='8879-isopub'
862
+ or @set='mmlextra'
863
+ or @set='mmlalias']">
864
+ <xsl:sort select="@id"/>
865
+ <xsl:variable name="l">
866
+ <xsl:value-of select="@id"/>
867
+ <xsl:text>, </xsl:text>
868
+ <xsl:value-of select="substring(
869
+ ' ',
870
+ string-length(@id))"/>
871
+ <xsl:value-of select="../@id"/>
872
+ <xsl:text>, </xsl:text>
873
+ <xsl:value-of select="normalize-space(.)"/>
874
+ <xsl:text>, [</xsl:text>
875
+ <xsl:value-of select="normalize-space(../description)"/>
876
+ <xsl:text>]</xsl:text>
877
+ </xsl:variable>
878
+ <xsl:variable name="ent" select="."/>
879
+ <xsl:variable name="u" select="../@id"/>
880
+ <xsl:choose>
881
+ <xsl:when test="$diff=1">
882
+ <xsl:for-each select="document('../../xml/unicode.xml')">
883
+ <span>
884
+ <xsl:if test="not(id($u)/entity[@id=$ent/@id and @set=$ent/@set])">
885
+ <!--
886
+ <xsl:message>
887
+ 1:<xsl:value-of select="@id"/>,<xsl:value-of select="$ent/@id"/>,<xsl:value-of select="$ent/@set"/>
888
+ 2:<xsl:value-of select="entity[@id=$u]/@set"/>
889
+ </xsl:message>
890
+ -->
891
+ <xsl:attribute name="class">diff-chg</xsl:attribute>
892
+ </xsl:if>
893
+ <xsl:value-of select="$l"/>
894
+ </span>
895
+ </xsl:for-each>
896
+ </xsl:when>
897
+ <xsl:otherwise>
898
+ <xsl:value-of select="$l"/>
899
+ </xsl:otherwise>
900
+ </xsl:choose>
901
+ <xsl:text>
902
+ </xsl:text>
903
+ </xsl:for-each>
904
+ </pre>
905
+ <br/>
906
+ </div>
907
+ <xsl:copy-of select="$minitoc"/>
908
+ </body>
909
+ </html>
910
+ </saxon:output>
911
+ </xsl:template>
912
+
913
+ <xsl:template name="variants">
914
+ <saxon:output method="html"
915
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
916
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
917
+ href="variants{$ext}">
918
+ <html>
919
+ <head>
920
+ <title>Unicode Characters: Variants</title>
921
+ <xsl:copy-of select="$css-style"/>
922
+ </head>
923
+ <body>
924
+ <h1>Unicode Characters: Variants</h1>
925
+
926
+ <xsl:variable name="minitoc">
927
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
928
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
929
+ Previous: <a href="cancellations{$ext}">Unicode Characters: Cancellations</a>
930
+ <br/>
931
+ </xsl:variable>
932
+ <div class="minitoc">
933
+ <xsl:copy-of select="$minitoc"/>
934
+ <xsl:for-each select="id('U0FE00')">
935
+ <br/>
936
+ <a href="#canc.{@id}"><xsl:value-of select="description"/></a>
937
+ </xsl:for-each>
938
+ </div>
939
+ <div>
940
+ <br/>
941
+ <xsl:for-each select="id('U0FE00')">
942
+ <xsl:call-template name="compose-table"/>
943
+ </xsl:for-each>
944
+ <br/>
945
+ </div>
946
+ <div class="minitoc">
947
+ <xsl:copy-of select="$minitoc"/>
948
+ </div>
949
+ </body>
950
+ </html>
951
+ </saxon:output>
952
+ </xsl:template>
953
+
954
+
955
+
956
+ <xsl:template name="cancellations">
957
+ <saxon:output method="html"
958
+ doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
959
+ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
960
+ href="cancellations{$ext}">
961
+ <html>
962
+ <head>
963
+ <title>Unicode Characters: Cancellations</title>
964
+ <xsl:copy-of select="$css-style"/>
965
+ </head>
966
+ <body>
967
+ <h1>Unicode Characters: Cancellations</h1>
968
+
969
+ <xsl:variable name="minitoc">
970
+ Overview: <a href="overview{$ext}">Mathematical Markup Language (MathML) Version 2.0 (2nd Edition)</a><br/>
971
+ Up: 6 <a href="chapter6{$ext}">Characters, Entities and Fonts</a><br/>
972
+ Next: <a href="variants{$ext}">Unicode Characters: Variants</a><br/>
973
+ </xsl:variable>
974
+
975
+ <div class="minitoc">
976
+ <xsl:copy-of select="$minitoc"/>
977
+ <xsl:for-each select="id('U00338 U020D2 U020E5')"><!-- 307 -->
978
+ <br/>
979
+ <a href="#canc.{@id}"><xsl:value-of select="description"/></a>
980
+ </xsl:for-each>
981
+ </div>
982
+ <div>
983
+ <br/>
984
+
985
+ <xsl:for-each select="id('U00338 U020D2 U020E5')"><!-- 307 -->
986
+ <xsl:call-template name="compose-table"/>
987
+ </xsl:for-each>
988
+
989
+ <br/>
990
+ </div>
991
+ <div class="minitoc">
992
+ <xsl:copy-of select="$minitoc"/>
993
+ </div>
994
+ </body>
995
+ </html>
996
+ </saxon:output>
997
+ </xsl:template>
998
+
999
+ <xsl:template name="compose-table">
1000
+ <xsl:param name="char" select="translate(@id,'U','-')"/>
1001
+ <xsl:variable name="c" select="."/>
1002
+ <h2><a name="canc.{$c/@id}" id="canc.{$c/@id}"/><xsl:value-of select="$c/description"/></h2>
1003
+ <table border="1">
1004
+ <tr>
1005
+ <th>&#160;</th>
1006
+ <th>Unicode</th>
1007
+ <th>Glyph</th>
1008
+ <th>Unicode Name</th>
1009
+ <th>MathML Names</th>
1010
+ </tr>
1011
+ <tr>
1012
+ <td>&#160;</td>
1013
+ <td>
1014
+ <xsl:value-of select="substring($c/@id,2)"/>
1015
+ </td>
1016
+ <td>
1017
+ <img height="32"
1018
+ width="32"
1019
+ src="{$glyphs}/{substring($c/@id,2,3)}/{$c/@id}.png"
1020
+ alt="{$c/@id}"
1021
+ >
1022
+ <xsl:if test="$c/@image='none'"><xsl:attribute
1023
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
1024
+ </img>
1025
+ </td>
1026
+ <td>
1027
+ <xsl:value-of select="$c/description"/>
1028
+ </td>
1029
+ <td>&#160;</td>
1030
+ </tr>
1031
+
1032
+ <xsl:variable name="cz" select="concat($char,'z')"/>
1033
+ <xsl:for-each select="/charlist/character[contains(concat(@id,'z'),$cz)]">
1034
+ <xsl:sort select="@id"/>
1035
+ <xsl:variable name="id" select="@id"/>
1036
+ <xsl:variable name="base" select="id(concat(substring-before($id,$char),substring-after($id,$char)))"/>
1037
+ <tr>
1038
+ <xsl:if test="not($base) or ($base/description/@unicode and
1039
+ not($base/description/@unicode='3.1' or
1040
+ $base/description/@unicode='3.2'))">
1041
+ <xsl:attribute name="class">provisional</xsl:attribute>
1042
+ <xsl:message><xsl:value-of select="@id"/></xsl:message>
1043
+ </xsl:if>
1044
+ <th>Base</th>
1045
+ <td>
1046
+ <xsl:value-of select="substring($base/@id,2)"/>
1047
+ </td>
1048
+ <td>
1049
+ <img height="32"
1050
+ width="32"
1051
+ src="{$glyphs}/{substring($base/@id,2,3)}/{translate($base/@id,'x','')}.png"
1052
+ alt="{$base/@id}"
1053
+ >
1054
+ <xsl:if test="$base/@image='none'"><xsl:attribute
1055
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
1056
+ </img>
1057
+ </td>
1058
+ <td>
1059
+ <xsl:value-of select="$base/description"/>
1060
+ </td>
1061
+ <td>
1062
+ <xsl:variable name="x" select="$base/entity[
1063
+ @set='9573-13-isoamsa'
1064
+ or @set='9573-13-isoamsb'
1065
+ or @set='9573-13-isoamsc'
1066
+ or @set='9573-13-isoamsn'
1067
+ or @set='9573-13-isoamso'
1068
+ or @set='9573-13-isoamsr'
1069
+ or @set='9573-13-isogrk3'
1070
+ or @set='9573-13-isomfrk'
1071
+ or @set='9573-13-isomopf'
1072
+ or @set='9573-13-isomscr'
1073
+ or @set='9573-13-isotech'
1074
+ or @set='8879-isobox'
1075
+ or @set='8879-isocyr1'
1076
+ or @set='8879-isocyr2'
1077
+ or @set='8879-isodia'
1078
+ or @set='8879-isolat1'
1079
+ or @set='8879-isolat2'
1080
+ or @set='8879-isonum'
1081
+ or @set='8879-isopub'
1082
+ or @set='Xmmlalias'
1083
+ or @set='mmlextra']/@id"/>
1084
+ <xsl:choose>
1085
+ <xsl:when test="not($x)">&#160;</xsl:when>
1086
+ <xsl:otherwise>
1087
+ <xsl:for-each select="$x">
1088
+ <xsl:value-of select="."/>
1089
+ <xsl:if test="position() &lt; last()">, </xsl:if>
1090
+ </xsl:for-each>
1091
+ </xsl:otherwise>
1092
+ </xsl:choose>
1093
+ </td>
1094
+ </tr>
1095
+ <tr>
1096
+ <xsl:if test="not(description/@unicode='combination' or description/@unicode='3.2')">
1097
+ <xsl:attribute name="class">provisional</xsl:attribute>
1098
+ <xsl:message><xsl:value-of select="@id"/></xsl:message>
1099
+ </xsl:if>
1100
+ <th>Variant</th>
1101
+ <td>
1102
+ <xsl:value-of select="substring($id,2)"/>
1103
+ </td>
1104
+ <td>
1105
+ <img height="32"
1106
+ width="32"
1107
+ src="{$glyphs}/{substring($id,2,3)}/{translate($id,'x','')}.png"
1108
+ alt="{$id}"
1109
+ >
1110
+ <xsl:if test="@image='none'"><xsl:attribute
1111
+ name="src"><xsl:value-of select="$glyphs"/>/none.png</xsl:attribute></xsl:if>
1112
+ </img>
1113
+ </td>
1114
+ <td>
1115
+ <xsl:value-of select="description"/>
1116
+ </td>
1117
+ <td>
1118
+ <xsl:variable name="x" select="entity[
1119
+ @set='9573-13-isoamsa'
1120
+ or @set='9573-13-isoamsb'
1121
+ or @set='9573-13-isoamsc'
1122
+ or @set='9573-13-isoamsn'
1123
+ or @set='9573-13-isoamso'
1124
+ or @set='9573-13-isoamsr'
1125
+ or @set='9573-13-isogrk3'
1126
+ or @set='9573-13-isomfrk'
1127
+ or @set='9573-13-isomopf'
1128
+ or @set='9573-13-isomscr'
1129
+ or @set='9573-13-isotech'
1130
+ or @set='8879-isobox'
1131
+ or @set='8879-isocyr1'
1132
+ or @set='8879-isocyr2'
1133
+ or @set='8879-isodia'
1134
+ or @set='8879-isolat1'
1135
+ or @set='8879-isolat2'
1136
+ or @set='8879-isonum'
1137
+ or @set='8879-isopub'
1138
+ or @set='Xmmlalias'
1139
+ or @set='mmlextra']/@id"/>
1140
+ <xsl:choose>
1141
+ <xsl:when test="not($x)">&#160;</xsl:when><xsl:when test="not($x)">&#160;</xsl:when>
1142
+ <xsl:otherwise>
1143
+ <xsl:for-each select="$x">
1144
+ <xsl:value-of select="."/>
1145
+ <xsl:if test="position() &lt; last()">, </xsl:if>
1146
+ </xsl:for-each>
1147
+ </xsl:otherwise>
1148
+ </xsl:choose>
1149
+ </td>
1150
+ </tr>
1151
+ </xsl:for-each>
1152
+ </table>
1153
+ </xsl:template>
1154
+
1155
+
1156
+ </xsl:stylesheet>