magic_xml 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (287) hide show
  1. data/README +22 -0
  2. data/Rakefile +52 -0
  3. data/VERSION +1 -0
  4. data/doc/classes/Array.html +148 -0
  5. data/doc/classes/File.html +113 -0
  6. data/doc/classes/Hash.html +117 -0
  7. data/doc/classes/Patterns_all.html +145 -0
  8. data/doc/classes/Patterns_any.html +145 -0
  9. data/doc/classes/String.html +470 -0
  10. data/doc/classes/Symbol.html +145 -0
  11. data/doc/classes/XML.html +1881 -0
  12. data/doc/classes/XML_Comment.html +148 -0
  13. data/doc/classes/XML_PI.html +145 -0
  14. data/doc/classes/XML_Tests.html +1727 -0
  15. data/doc/files/magic_xml_rb.html +186 -0
  16. data/doc/files/simple_examples/xml_hello_f_rb.html +88 -0
  17. data/doc/files/simple_examples/xml_hello_m_rb.html +88 -0
  18. data/doc/files/simple_examples/xml_list_f_rb.html +88 -0
  19. data/doc/files/simple_examples/xml_list_m_rb.html +88 -0
  20. data/doc/files/tests_rb.html +94 -0
  21. data/doc/files/xquery_use_cases/parts/q1_rb.html +117 -0
  22. data/doc/files/xquery_use_cases/rdb/q10_rb.html +88 -0
  23. data/doc/files/xquery_use_cases/rdb/q11_rb.html +88 -0
  24. data/doc/files/xquery_use_cases/rdb/q12_rb.html +88 -0
  25. data/doc/files/xquery_use_cases/rdb/q13_rb.html +88 -0
  26. data/doc/files/xquery_use_cases/rdb/q14_rb.html +88 -0
  27. data/doc/files/xquery_use_cases/rdb/q15_rb.html +88 -0
  28. data/doc/files/xquery_use_cases/rdb/q16_rb.html +88 -0
  29. data/doc/files/xquery_use_cases/rdb/q17_rb.html +88 -0
  30. data/doc/files/xquery_use_cases/rdb/q18_rb.html +88 -0
  31. data/doc/files/xquery_use_cases/rdb/q1_rb.html +88 -0
  32. data/doc/files/xquery_use_cases/rdb/q2_rb.html +88 -0
  33. data/doc/files/xquery_use_cases/rdb/q3_rb.html +88 -0
  34. data/doc/files/xquery_use_cases/rdb/q4_rb.html +88 -0
  35. data/doc/files/xquery_use_cases/rdb/q5_rb.html +88 -0
  36. data/doc/files/xquery_use_cases/rdb/q6_rb.html +88 -0
  37. data/doc/files/xquery_use_cases/rdb/q7_rb.html +88 -0
  38. data/doc/files/xquery_use_cases/rdb/q8_rb.html +88 -0
  39. data/doc/files/xquery_use_cases/rdb/q9_rb.html +88 -0
  40. data/doc/files/xquery_use_cases/seq/q1_rb.html +88 -0
  41. data/doc/files/xquery_use_cases/seq/q2_rb.html +88 -0
  42. data/doc/files/xquery_use_cases/seq/q3_rb.html +88 -0
  43. data/doc/files/xquery_use_cases/seq/q4_rb.html +88 -0
  44. data/doc/files/xquery_use_cases/seq/q5_rb.html +88 -0
  45. data/doc/files/xquery_use_cases/sgml/q10_rb.html +88 -0
  46. data/doc/files/xquery_use_cases/sgml/q1_rb.html +88 -0
  47. data/doc/files/xquery_use_cases/sgml/q2_rb.html +88 -0
  48. data/doc/files/xquery_use_cases/sgml/q3_rb.html +88 -0
  49. data/doc/files/xquery_use_cases/sgml/q4_rb.html +88 -0
  50. data/doc/files/xquery_use_cases/sgml/q5_rb.html +88 -0
  51. data/doc/files/xquery_use_cases/sgml/q6_rb.html +88 -0
  52. data/doc/files/xquery_use_cases/sgml/q7_rb.html +88 -0
  53. data/doc/files/xquery_use_cases/sgml/q8a_rb.html +88 -0
  54. data/doc/files/xquery_use_cases/sgml/q8b_rb.html +88 -0
  55. data/doc/files/xquery_use_cases/sgml/q9_rb.html +88 -0
  56. data/doc/files/xquery_use_cases/solution_sizes_rb.html +88 -0
  57. data/doc/files/xquery_use_cases/string/q1_rb.html +88 -0
  58. data/doc/files/xquery_use_cases/string/q2_rb.html +93 -0
  59. data/doc/files/xquery_use_cases/string/q4_rb.html +88 -0
  60. data/doc/files/xquery_use_cases/string/q5_rb.html +88 -0
  61. data/doc/files/xquery_use_cases/test_driver_rb.html +92 -0
  62. data/doc/files/xquery_use_cases/tree/q1_rb.html +111 -0
  63. data/doc/files/xquery_use_cases/tree/q2_rb.html +88 -0
  64. data/doc/files/xquery_use_cases/tree/q3_rb.html +88 -0
  65. data/doc/files/xquery_use_cases/tree/q4_rb.html +88 -0
  66. data/doc/files/xquery_use_cases/tree/q5_rb.html +88 -0
  67. data/doc/files/xquery_use_cases/tree/q6_rb.html +113 -0
  68. data/doc/files/xquery_use_cases/xmp/q10_rb.html +88 -0
  69. data/doc/files/xquery_use_cases/xmp/q11_rb.html +88 -0
  70. data/doc/files/xquery_use_cases/xmp/q12_rb.html +88 -0
  71. data/doc/files/xquery_use_cases/xmp/q1_rb.html +88 -0
  72. data/doc/files/xquery_use_cases/xmp/q2_rb.html +88 -0
  73. data/doc/files/xquery_use_cases/xmp/q3_rb.html +88 -0
  74. data/doc/files/xquery_use_cases/xmp/q4_rb.html +88 -0
  75. data/doc/files/xquery_use_cases/xmp/q5_rb.html +92 -0
  76. data/doc/files/xquery_use_cases/xmp/q6_rb.html +88 -0
  77. data/doc/files/xquery_use_cases/xmp/q7_rb.html +88 -0
  78. data/doc/files/xquery_use_cases/xmp/q8_rb.html +88 -0
  79. data/doc/files/xquery_use_cases/xmp/q9_rb.html +88 -0
  80. data/doc/fr_class_index.html +56 -0
  81. data/doc/fr_file_index.html +110 -0
  82. data/doc/fr_method_index.html +159 -0
  83. data/doc/index.html +26 -0
  84. data/doc/rdoc-style.css +175 -0
  85. data/lib/magic_xml.rb +1400 -0
  86. data/simple_examples/README +14 -0
  87. data/simple_examples/xml_hello_f.rb +32 -0
  88. data/simple_examples/xml_hello_m.rb +32 -0
  89. data/simple_examples/xml_list_f.rb +36 -0
  90. data/simple_examples/xml_list_m.rb +36 -0
  91. data/test/helper.rb +9 -0
  92. data/test/test_magic_xml.rb +855 -0
  93. data/xquery_use_cases/README +17 -0
  94. data/xquery_use_cases/parts/README +12 -0
  95. data/xquery_use_cases/parts/partlist.xml +13 -0
  96. data/xquery_use_cases/parts/q1.out +16 -0
  97. data/xquery_use_cases/parts/q1.rb +38 -0
  98. data/xquery_use_cases/parts/q1.xquery +18 -0
  99. data/xquery_use_cases/rdb/README +50 -0
  100. data/xquery_use_cases/rdb/bids.xml +81 -0
  101. data/xquery_use_cases/rdb/items.xml +57 -0
  102. data/xquery_use_cases/rdb/q1.out +10 -0
  103. data/xquery_use_cases/rdb/q1.rb +31 -0
  104. data/xquery_use_cases/rdb/q1.xquery +14 -0
  105. data/xquery_use_cases/rdb/q10.out +27 -0
  106. data/xquery_use_cases/rdb/q10.rb +37 -0
  107. data/xquery_use_cases/rdb/q10.xquery +15 -0
  108. data/xquery_use_cases/rdb/q11.out +7 -0
  109. data/xquery_use_cases/rdb/q11.rb +38 -0
  110. data/xquery_use_cases/rdb/q11.xquery +15 -0
  111. data/xquery_use_cases/rdb/q12.out +12 -0
  112. data/xquery_use_cases/rdb/q12.rb +42 -0
  113. data/xquery_use_cases/rdb/q12.xquery +28 -0
  114. data/xquery_use_cases/rdb/q13.out +32 -0
  115. data/xquery_use_cases/rdb/q13.rb +45 -0
  116. data/xquery_use_cases/rdb/q13.xquery +15 -0
  117. data/xquery_use_cases/rdb/q14.out +14 -0
  118. data/xquery_use_cases/rdb/q14.rb +42 -0
  119. data/xquery_use_cases/rdb/q14.xquery +14 -0
  120. data/xquery_use_cases/rdb/q15.out +5 -0
  121. data/xquery_use_cases/rdb/q15.rb +31 -0
  122. data/xquery_use_cases/rdb/q15.xquery +9 -0
  123. data/xquery_use_cases/rdb/q16.out +35 -0
  124. data/xquery_use_cases/rdb/q16.rb +35 -0
  125. data/xquery_use_cases/rdb/q16.xquery +17 -0
  126. data/xquery_use_cases/rdb/q17.out +1 -0
  127. data/xquery_use_cases/rdb/q17.rb +35 -0
  128. data/xquery_use_cases/rdb/q17.xquery +11 -0
  129. data/xquery_use_cases/rdb/q18.out +32 -0
  130. data/xquery_use_cases/rdb/q18.rb +40 -0
  131. data/xquery_use_cases/rdb/q18.xquery +19 -0
  132. data/xquery_use_cases/rdb/q2.out +22 -0
  133. data/xquery_use_cases/rdb/q2.rb +36 -0
  134. data/xquery_use_cases/rdb/q2.xquery +14 -0
  135. data/xquery_use_cases/rdb/q3.out +8 -0
  136. data/xquery_use_cases/rdb/q3.rb +34 -0
  137. data/xquery_use_cases/rdb/q3.xquery +16 -0
  138. data/xquery_use_cases/rdb/q4.out +14 -0
  139. data/xquery_use_cases/rdb/q4.rb +31 -0
  140. data/xquery_use_cases/rdb/q4.xquery +11 -0
  141. data/xquery_use_cases/rdb/q5.out +12 -0
  142. data/xquery_use_cases/rdb/q5.rb +46 -0
  143. data/xquery_use_cases/rdb/q5.xquery +25 -0
  144. data/xquery_use_cases/rdb/q6.out +14 -0
  145. data/xquery_use_cases/rdb/q6.rb +38 -0
  146. data/xquery_use_cases/rdb/q6.xquery +15 -0
  147. data/xquery_use_cases/rdb/q7.out +1 -0
  148. data/xquery_use_cases/rdb/q7.rb +30 -0
  149. data/xquery_use_cases/rdb/q7.xquery +10 -0
  150. data/xquery_use_cases/rdb/q8.out +1 -0
  151. data/xquery_use_cases/rdb/q8.rb +23 -0
  152. data/xquery_use_cases/rdb/q8.xquery +8 -0
  153. data/xquery_use_cases/rdb/q9.out +22 -0
  154. data/xquery_use_cases/rdb/q9.rb +32 -0
  155. data/xquery_use_cases/rdb/q9.xquery +16 -0
  156. data/xquery_use_cases/rdb/users.xml +25 -0
  157. data/xquery_use_cases/seq/README +12 -0
  158. data/xquery_use_cases/seq/q1.out +1 -0
  159. data/xquery_use_cases/seq/q1.rb +25 -0
  160. data/xquery_use_cases/seq/q1.xquery +2 -0
  161. data/xquery_use_cases/seq/q2.out +2 -0
  162. data/xquery_use_cases/seq/q2.rb +25 -0
  163. data/xquery_use_cases/seq/q2.xquery +2 -0
  164. data/xquery_use_cases/seq/q3.out +2 -0
  165. data/xquery_use_cases/seq/q3.rb +26 -0
  166. data/xquery_use_cases/seq/q3.xquery +3 -0
  167. data/xquery_use_cases/seq/q4.out +0 -0
  168. data/xquery_use_cases/seq/q4.rb +27 -0
  169. data/xquery_use_cases/seq/q4.xquery +4 -0
  170. data/xquery_use_cases/seq/q5.out +5 -0
  171. data/xquery_use_cases/seq/q5.rb +29 -0
  172. data/xquery_use_cases/seq/q5.xquery +10 -0
  173. data/xquery_use_cases/seq/report1.xml +40 -0
  174. data/xquery_use_cases/sgml/README +53 -0
  175. data/xquery_use_cases/sgml/q1.out +44 -0
  176. data/xquery_use_cases/sgml/q1.rb +23 -0
  177. data/xquery_use_cases/sgml/q1.xquery +5 -0
  178. data/xquery_use_cases/sgml/q10.out +1 -0
  179. data/xquery_use_cases/sgml/q10.rb +28 -0
  180. data/xquery_use_cases/sgml/q10.xquery +7 -0
  181. data/xquery_use_cases/sgml/q2.out +26 -0
  182. data/xquery_use_cases/sgml/q2.rb +23 -0
  183. data/xquery_use_cases/sgml/q2.xquery +5 -0
  184. data/xquery_use_cases/sgml/q3.out +6 -0
  185. data/xquery_use_cases/sgml/q3.rb +28 -0
  186. data/xquery_use_cases/sgml/q3.xquery +7 -0
  187. data/xquery_use_cases/sgml/q4.out +4 -0
  188. data/xquery_use_cases/sgml/q4.rb +25 -0
  189. data/xquery_use_cases/sgml/q4.xquery +5 -0
  190. data/xquery_use_cases/sgml/q5.out +3 -0
  191. data/xquery_use_cases/sgml/q5.rb +23 -0
  192. data/xquery_use_cases/sgml/q5.xquery +5 -0
  193. data/xquery_use_cases/sgml/q6.out +1 -0
  194. data/xquery_use_cases/sgml/q6.rb +27 -0
  195. data/xquery_use_cases/sgml/q6.xquery +6 -0
  196. data/xquery_use_cases/sgml/q7.out +1 -0
  197. data/xquery_use_cases/sgml/q7.rb +27 -0
  198. data/xquery_use_cases/sgml/q7.xquery +7 -0
  199. data/xquery_use_cases/sgml/q8a.out +34 -0
  200. data/xquery_use_cases/sgml/q8a.rb +27 -0
  201. data/xquery_use_cases/sgml/q8a.xquery +5 -0
  202. data/xquery_use_cases/sgml/q8b.out +26 -0
  203. data/xquery_use_cases/sgml/q8b.rb +32 -0
  204. data/xquery_use_cases/sgml/q8b.xquery +5 -0
  205. data/xquery_use_cases/sgml/q9.out +9 -0
  206. data/xquery_use_cases/sgml/q9.rb +29 -0
  207. data/xquery_use_cases/sgml/q9.xquery +6 -0
  208. data/xquery_use_cases/sgml/sgml.xml +101 -0
  209. data/xquery_use_cases/solution_sizes.rb +48 -0
  210. data/xquery_use_cases/string/README +29 -0
  211. data/xquery_use_cases/string/company-data.xml +20 -0
  212. data/xquery_use_cases/string/q1.out +4 -0
  213. data/xquery_use_cases/string/q1.rb +25 -0
  214. data/xquery_use_cases/string/q1.xquery +1 -0
  215. data/xquery_use_cases/string/q2.out +13 -0
  216. data/xquery_use_cases/string/q2.rb +32 -0
  217. data/xquery_use_cases/string/q2.xquery +23 -0
  218. data/xquery_use_cases/string/q4.out +50 -0
  219. data/xquery_use_cases/string/q4.rb +34 -0
  220. data/xquery_use_cases/string/q4.xquery +14 -0
  221. data/xquery_use_cases/string/q5.out +12 -0
  222. data/xquery_use_cases/string/q5.rb +33 -0
  223. data/xquery_use_cases/string/q5.xquery +8 -0
  224. data/xquery_use_cases/string/string.xml +82 -0
  225. data/xquery_use_cases/test_driver.rb +60 -0
  226. data/xquery_use_cases/tree/README +23 -0
  227. data/xquery_use_cases/tree/book.xml +50 -0
  228. data/xquery_use_cases/tree/q1.out +23 -0
  229. data/xquery_use_cases/tree/q1.rb +31 -0
  230. data/xquery_use_cases/tree/q1.xquery +14 -0
  231. data/xquery_use_cases/tree/q2.out +11 -0
  232. data/xquery_use_cases/tree/q2.rb +27 -0
  233. data/xquery_use_cases/tree/q2.xquery +10 -0
  234. data/xquery_use_cases/tree/q3.out +2 -0
  235. data/xquery_use_cases/tree/q3.rb +26 -0
  236. data/xquery_use_cases/tree/q3.xquery +2 -0
  237. data/xquery_use_cases/tree/q4.out +1 -0
  238. data/xquery_use_cases/tree/q4.rb +23 -0
  239. data/xquery_use_cases/tree/q4.xquery +5 -0
  240. data/xquery_use_cases/tree/q5.out +9 -0
  241. data/xquery_use_cases/tree/q5.rb +30 -0
  242. data/xquery_use_cases/tree/q5.xquery +8 -0
  243. data/xquery_use_cases/tree/q6.out +30 -0
  244. data/xquery_use_cases/tree/q6.rb +35 -0
  245. data/xquery_use_cases/tree/q6.xquery +21 -0
  246. data/xquery_use_cases/xmp/README +41 -0
  247. data/xquery_use_cases/xmp/bib.xml +35 -0
  248. data/xquery_use_cases/xmp/books.xml +15 -0
  249. data/xquery_use_cases/xmp/prices.xml +32 -0
  250. data/xquery_use_cases/xmp/q1.out +8 -0
  251. data/xquery_use_cases/xmp/q1.rb +29 -0
  252. data/xquery_use_cases/xmp/q1.xquery +10 -0
  253. data/xquery_use_cases/xmp/q10.out +11 -0
  254. data/xquery_use_cases/xmp/q10.rb +36 -0
  255. data/xquery_use_cases/xmp/q10.xquery +11 -0
  256. data/xquery_use_cases/xmp/q11.out +35 -0
  257. data/xquery_use_cases/xmp/q11.rb +37 -0
  258. data/xquery_use_cases/xmp/q11.xquery +18 -0
  259. data/xquery_use_cases/xmp/q12.out +6 -0
  260. data/xquery_use_cases/xmp/q12.rb +35 -0
  261. data/xquery_use_cases/xmp/q12.xquery +20 -0
  262. data/xquery_use_cases/xmp/q2.out +37 -0
  263. data/xquery_use_cases/xmp/q2.rb +30 -0
  264. data/xquery_use_cases/xmp/q2.xquery +12 -0
  265. data/xquery_use_cases/xmp/q3.out +34 -0
  266. data/xquery_use_cases/xmp/q3.rb +27 -0
  267. data/xquery_use_cases/xmp/q3.xquery +10 -0
  268. data/xquery_use_cases/xmp/q4.out +31 -0
  269. data/xquery_use_cases/xmp/q4.rb +44 -0
  270. data/xquery_use_cases/xmp/q4.xquery +21 -0
  271. data/xquery_use_cases/xmp/q5.out +17 -0
  272. data/xquery_use_cases/xmp/q5.rb +38 -0
  273. data/xquery_use_cases/xmp/q5.xquery +13 -0
  274. data/xquery_use_cases/xmp/q6.out +28 -0
  275. data/xquery_use_cases/xmp/q6.rb +33 -0
  276. data/xquery_use_cases/xmp/q6.xquery +19 -0
  277. data/xquery_use_cases/xmp/q7.out +8 -0
  278. data/xquery_use_cases/xmp/q7.rb +30 -0
  279. data/xquery_use_cases/xmp/q7.xquery +12 -0
  280. data/xquery_use_cases/xmp/q8.out +7 -0
  281. data/xquery_use_cases/xmp/q8.rb +29 -0
  282. data/xquery_use_cases/xmp/q8.xquery +9 -0
  283. data/xquery_use_cases/xmp/q9.out +4 -0
  284. data/xquery_use_cases/xmp/q9.rb +29 -0
  285. data/xquery_use_cases/xmp/q9.xquery +7 -0
  286. data/xquery_use_cases/xmp/reviews.xml +24 -0
  287. metadata +342 -0
@@ -0,0 +1,470 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html>
6
+ <head>
7
+ <title>Class: String</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
10
+
11
+ <script language="JavaScript" type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function toggleSource( id )
15
+ {
16
+ var elem
17
+ var link
18
+
19
+ if( document.getElementById )
20
+ {
21
+ elem = document.getElementById( id )
22
+ link = document.getElementById( "l_" + id )
23
+ }
24
+ else if ( document.all )
25
+ {
26
+ elem = eval( "document.all." + id )
27
+ link = eval( "document.all.l_" + id )
28
+ }
29
+ else
30
+ return false;
31
+
32
+ if( elem.style.display == "block" )
33
+ {
34
+ elem.style.display = "none"
35
+ link.innerHTML = "show source"
36
+ }
37
+ else
38
+ {
39
+ elem.style.display = "block"
40
+ link.innerHTML = "hide source"
41
+ }
42
+ }
43
+
44
+ function openCode( url )
45
+ {
46
+ window.open( url, "SOURCE_CODE", "width=400,height=400,scrollbars=yes" )
47
+ }
48
+ // ]]>
49
+ </script>
50
+ </head>
51
+
52
+ <body>
53
+ <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
+ <td class="file-title"><span class="file-title-prefix">Class</span><br />String</td>
55
+ <td align="right">
56
+ <table cellspacing=0 cellpadding=2>
57
+ <tr valign="top">
58
+ <td>In:</td>
59
+ <td>
60
+ <a href="../files/magic_xml_rb.html">magic_xml.rb</a>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <td>Parent:</td>
65
+ <td>
66
+ Object
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+ <div id="content">
77
+
78
+
79
+
80
+
81
+ <div class="sectiontitle">Methods</div>
82
+ <ul>
83
+ <li><a href="#M000112">xml_attr_escape</a></li>
84
+ <li><a href="#M000111">xml_escape</a></li>
85
+ <li><a href="#M000114">xml_parse</a></li>
86
+ <li><a href="#M000113">xml_unescape</a></li>
87
+ </ul>
88
+
89
+
90
+
91
+
92
+
93
+
94
+ <div class="sectiontitle">Public Instance methods</div>
95
+ <div class="method">
96
+ <div class="title">
97
+ <a name="M000112"></a><b>xml_attr_escape</b>()
98
+ </div>
99
+ <div class="description">
100
+ <p>
101
+ Escape characters for output as <a href="XML.html">XML</a> attribute values
102
+ (&lt; &gt; &amp; &#8217; &quot;)
103
+ </p>
104
+ </div>
105
+ <div class="sourcecode">
106
+ <p class="source-link">[ <a href="javascript:toggleSource('M000112_source')" id="l_M000112_source">show source</a> ]</p>
107
+ <div id="M000112_source" class="dyn-source">
108
+ <pre>
109
+ <span class="ruby-comment cmt"># File magic_xml.rb, line 46</span>
110
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">xml_attr_escape</span>
111
+ <span class="ruby-identifier">replacements</span> = {<span class="ruby-value str">&quot;&lt;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;lt;&quot;</span>, <span class="ruby-value str">&quot;&gt;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;gt;&quot;</span>, <span class="ruby-value str">&quot;&amp;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;amp;&quot;</span>, <span class="ruby-value str">&quot;\&quot;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;quot;&quot;</span>, <span class="ruby-value str">&quot;'&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;apos;&quot;</span>}
112
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([&lt;&gt;&amp;\'\&quot;])/</span>) { <span class="ruby-identifier">replacements</span>[<span class="ruby-identifier">$1</span>] }
113
+ <span class="ruby-keyword kw">end</span>
114
+ </pre>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ <div class="method">
119
+ <div class="title">
120
+ <a name="M000111"></a><b>xml_escape</b>()
121
+ </div>
122
+ <div class="description">
123
+ <p>
124
+ Escape string for output as <a href="XML.html">XML</a> text (&lt; &gt;
125
+ &amp;)
126
+ </p>
127
+ </div>
128
+ <div class="sourcecode">
129
+ <p class="source-link">[ <a href="javascript:toggleSource('M000111_source')" id="l_M000111_source">show source</a> ]</p>
130
+ <div id="M000111_source" class="dyn-source">
131
+ <pre>
132
+ <span class="ruby-comment cmt"># File magic_xml.rb, line 41</span>
133
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">xml_escape</span>
134
+ <span class="ruby-identifier">replacements</span> = {<span class="ruby-value str">&quot;&lt;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;lt;&quot;</span>, <span class="ruby-value str">&quot;&gt;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;gt;&quot;</span>, <span class="ruby-value str">&quot;&amp;&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;&amp;amp;&quot;</span> }
135
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([&lt;&gt;&amp;])/</span>) { <span class="ruby-identifier">replacements</span>[<span class="ruby-identifier">$1</span>] }
136
+ <span class="ruby-keyword kw">end</span>
137
+ </pre>
138
+ </div>
139
+ </div>
140
+ </div>
141
+ <div class="method">
142
+ <div class="title">
143
+ <a name="M000114"></a><b>xml_parse</b>()
144
+ </div>
145
+ <div class="sourcecode">
146
+ <p class="source-link">[ <a href="javascript:toggleSource('M000114_source')" id="l_M000114_source">show source</a> ]</p>
147
+ <div id="M000114_source" class="dyn-source">
148
+ <pre>
149
+ <span class="ruby-comment cmt"># File magic_xml.rb, line 334</span>
150
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">xml_parse</span>
151
+ <span class="ruby-constant">XML</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-keyword kw">self</span>)
152
+ <span class="ruby-keyword kw">end</span>
153
+ </pre>
154
+ </div>
155
+ </div>
156
+ </div>
157
+ <div class="method">
158
+ <div class="title">
159
+ <a name="M000113"></a><b>xml_unescape</b>(extra_entities=nil)
160
+ </div>
161
+ <div class="description">
162
+ <p>
163
+ Unescape entities Supports:
164
+ </p>
165
+ <ul>
166
+ <li>Full set of HTML-compatible named entities
167
+
168
+ </li>
169
+ <li>Decimal entities &amp;1234;
170
+
171
+ </li>
172
+ <li>Hex entities &amp;xA0b1;
173
+
174
+ </li>
175
+ </ul>
176
+ </div>
177
+ <div class="sourcecode">
178
+ <p class="source-link">[ <a href="javascript:toggleSource('M000113_source')" id="l_M000113_source">show source</a> ]</p>
179
+ <div id="M000113_source" class="dyn-source">
180
+ <pre>
181
+ <span class="ruby-comment cmt"># File magic_xml.rb, line 55</span>
182
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">xml_unescape</span>(<span class="ruby-identifier">extra_entities</span>=<span class="ruby-keyword kw">nil</span>)
183
+ <span class="ruby-ivar">@@xhtml_entity_replacements</span> <span class="ruby-operator">||=</span> {
184
+ <span class="ruby-value str">'nbsp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">160</span>,
185
+ <span class="ruby-value str">'iexcl'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">161</span>,
186
+ <span class="ruby-value str">'cent'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">162</span>,
187
+ <span class="ruby-value str">'pound'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">163</span>,
188
+ <span class="ruby-value str">'curren'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">164</span>,
189
+ <span class="ruby-value str">'yen'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">165</span>,
190
+ <span class="ruby-value str">'brvbar'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">166</span>,
191
+ <span class="ruby-value str">'sect'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">167</span>,
192
+ <span class="ruby-value str">'uml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">168</span>,
193
+ <span class="ruby-value str">'copy'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">169</span>,
194
+ <span class="ruby-value str">'ordf'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">170</span>,
195
+ <span class="ruby-value str">'laquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">171</span>,
196
+ <span class="ruby-value str">'not'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">172</span>,
197
+ <span class="ruby-value str">'shy'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">173</span>,
198
+ <span class="ruby-value str">'reg'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">174</span>,
199
+ <span class="ruby-value str">'macr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">175</span>,
200
+ <span class="ruby-value str">'deg'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">176</span>,
201
+ <span class="ruby-value str">'plusmn'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">177</span>,
202
+ <span class="ruby-value str">'sup2'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">178</span>,
203
+ <span class="ruby-value str">'sup3'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">179</span>,
204
+ <span class="ruby-value str">'acute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">180</span>,
205
+ <span class="ruby-value str">'micro'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">181</span>,
206
+ <span class="ruby-value str">'para'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">182</span>,
207
+ <span class="ruby-value str">'middot'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">183</span>,
208
+ <span class="ruby-value str">'cedil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">184</span>,
209
+ <span class="ruby-value str">'sup1'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">185</span>,
210
+ <span class="ruby-value str">'ordm'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">186</span>,
211
+ <span class="ruby-value str">'raquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">187</span>,
212
+ <span class="ruby-value str">'frac14'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">188</span>,
213
+ <span class="ruby-value str">'frac12'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">189</span>,
214
+ <span class="ruby-value str">'frac34'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">190</span>,
215
+ <span class="ruby-value str">'iquest'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">191</span>,
216
+ <span class="ruby-value str">'Agrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">192</span>,
217
+ <span class="ruby-value str">'Aacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">193</span>,
218
+ <span class="ruby-value str">'Acirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">194</span>,
219
+ <span class="ruby-value str">'Atilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">195</span>,
220
+ <span class="ruby-value str">'Auml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">196</span>,
221
+ <span class="ruby-value str">'Aring'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">197</span>,
222
+ <span class="ruby-value str">'AElig'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">198</span>,
223
+ <span class="ruby-value str">'Ccedil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">199</span>,
224
+ <span class="ruby-value str">'Egrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">200</span>,
225
+ <span class="ruby-value str">'Eacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">201</span>,
226
+ <span class="ruby-value str">'Ecirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">202</span>,
227
+ <span class="ruby-value str">'Euml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">203</span>,
228
+ <span class="ruby-value str">'Igrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">204</span>,
229
+ <span class="ruby-value str">'Iacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">205</span>,
230
+ <span class="ruby-value str">'Icirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">206</span>,
231
+ <span class="ruby-value str">'Iuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">207</span>,
232
+ <span class="ruby-value str">'ETH'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">208</span>,
233
+ <span class="ruby-value str">'Ntilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">209</span>,
234
+ <span class="ruby-value str">'Ograve'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">210</span>,
235
+ <span class="ruby-value str">'Oacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">211</span>,
236
+ <span class="ruby-value str">'Ocirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">212</span>,
237
+ <span class="ruby-value str">'Otilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">213</span>,
238
+ <span class="ruby-value str">'Ouml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">214</span>,
239
+ <span class="ruby-value str">'times'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">215</span>,
240
+ <span class="ruby-value str">'Oslash'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">216</span>,
241
+ <span class="ruby-value str">'Ugrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">217</span>,
242
+ <span class="ruby-value str">'Uacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">218</span>,
243
+ <span class="ruby-value str">'Ucirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">219</span>,
244
+ <span class="ruby-value str">'Uuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">220</span>,
245
+ <span class="ruby-value str">'Yacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">221</span>,
246
+ <span class="ruby-value str">'THORN'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">222</span>,
247
+ <span class="ruby-value str">'szlig'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">223</span>,
248
+ <span class="ruby-value str">'agrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">224</span>,
249
+ <span class="ruby-value str">'aacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">225</span>,
250
+ <span class="ruby-value str">'acirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">226</span>,
251
+ <span class="ruby-value str">'atilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">227</span>,
252
+ <span class="ruby-value str">'auml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">228</span>,
253
+ <span class="ruby-value str">'aring'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">229</span>,
254
+ <span class="ruby-value str">'aelig'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">230</span>,
255
+ <span class="ruby-value str">'ccedil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">231</span>,
256
+ <span class="ruby-value str">'egrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">232</span>,
257
+ <span class="ruby-value str">'eacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">233</span>,
258
+ <span class="ruby-value str">'ecirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">234</span>,
259
+ <span class="ruby-value str">'euml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">235</span>,
260
+ <span class="ruby-value str">'igrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">236</span>,
261
+ <span class="ruby-value str">'iacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">237</span>,
262
+ <span class="ruby-value str">'icirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">238</span>,
263
+ <span class="ruby-value str">'iuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">239</span>,
264
+ <span class="ruby-value str">'eth'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">240</span>,
265
+ <span class="ruby-value str">'ntilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">241</span>,
266
+ <span class="ruby-value str">'ograve'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">242</span>,
267
+ <span class="ruby-value str">'oacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">243</span>,
268
+ <span class="ruby-value str">'ocirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">244</span>,
269
+ <span class="ruby-value str">'otilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">245</span>,
270
+ <span class="ruby-value str">'ouml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">246</span>,
271
+ <span class="ruby-value str">'divide'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">247</span>,
272
+ <span class="ruby-value str">'oslash'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">248</span>,
273
+ <span class="ruby-value str">'ugrave'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">249</span>,
274
+ <span class="ruby-value str">'uacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">250</span>,
275
+ <span class="ruby-value str">'ucirc'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">251</span>,
276
+ <span class="ruby-value str">'uuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">252</span>,
277
+ <span class="ruby-value str">'yacute'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">253</span>,
278
+ <span class="ruby-value str">'thorn'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">254</span>,
279
+ <span class="ruby-value str">'yuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">255</span>,
280
+ <span class="ruby-value str">'quot'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">34</span>,
281
+ <span class="ruby-value str">'apos'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">39</span>, <span class="ruby-comment cmt"># Wasn't present in the HTML entities set, but is defined in XML standard</span>
282
+ <span class="ruby-value str">'amp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">38</span>,
283
+ <span class="ruby-value str">'lt'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">60</span>,
284
+ <span class="ruby-value str">'gt'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">62</span>,
285
+ <span class="ruby-value str">'OElig'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">338</span>,
286
+ <span class="ruby-value str">'oelig'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">339</span>,
287
+ <span class="ruby-value str">'Scaron'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">352</span>,
288
+ <span class="ruby-value str">'scaron'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">353</span>,
289
+ <span class="ruby-value str">'Yuml'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">376</span>,
290
+ <span class="ruby-value str">'circ'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">710</span>,
291
+ <span class="ruby-value str">'tilde'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">732</span>,
292
+ <span class="ruby-value str">'ensp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8194</span>,
293
+ <span class="ruby-value str">'emsp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8195</span>,
294
+ <span class="ruby-value str">'thinsp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8201</span>,
295
+ <span class="ruby-value str">'zwnj'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8204</span>,
296
+ <span class="ruby-value str">'zwj'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8205</span>,
297
+ <span class="ruby-value str">'lrm'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8206</span>,
298
+ <span class="ruby-value str">'rlm'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8207</span>,
299
+ <span class="ruby-value str">'ndash'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8211</span>,
300
+ <span class="ruby-value str">'mdash'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8212</span>,
301
+ <span class="ruby-value str">'lsquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8216</span>,
302
+ <span class="ruby-value str">'rsquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8217</span>,
303
+ <span class="ruby-value str">'sbquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8218</span>,
304
+ <span class="ruby-value str">'ldquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8220</span>,
305
+ <span class="ruby-value str">'rdquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8221</span>,
306
+ <span class="ruby-value str">'bdquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8222</span>,
307
+ <span class="ruby-value str">'dagger'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8224</span>,
308
+ <span class="ruby-value str">'Dagger'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8225</span>,
309
+ <span class="ruby-value str">'permil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8240</span>,
310
+ <span class="ruby-value str">'lsaquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8249</span>,
311
+ <span class="ruby-value str">'rsaquo'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8250</span>,
312
+ <span class="ruby-value str">'euro'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8364</span>,
313
+ <span class="ruby-value str">'fnof'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">402</span>,
314
+ <span class="ruby-value str">'Alpha'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">913</span>,
315
+ <span class="ruby-value str">'Beta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">914</span>,
316
+ <span class="ruby-value str">'Gamma'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">915</span>,
317
+ <span class="ruby-value str">'Delta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">916</span>,
318
+ <span class="ruby-value str">'Epsilon'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">917</span>,
319
+ <span class="ruby-value str">'Zeta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">918</span>,
320
+ <span class="ruby-value str">'Eta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">919</span>,
321
+ <span class="ruby-value str">'Theta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">920</span>,
322
+ <span class="ruby-value str">'Iota'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">921</span>,
323
+ <span class="ruby-value str">'Kappa'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">922</span>,
324
+ <span class="ruby-value str">'Lambda'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">923</span>,
325
+ <span class="ruby-value str">'Mu'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">924</span>,
326
+ <span class="ruby-value str">'Nu'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">925</span>,
327
+ <span class="ruby-value str">'Xi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">926</span>,
328
+ <span class="ruby-value str">'Omicron'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">927</span>,
329
+ <span class="ruby-value str">'Pi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">928</span>,
330
+ <span class="ruby-value str">'Rho'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">929</span>,
331
+ <span class="ruby-value str">'Sigma'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">931</span>,
332
+ <span class="ruby-value str">'Tau'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">932</span>,
333
+ <span class="ruby-value str">'Upsilon'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">933</span>,
334
+ <span class="ruby-value str">'Phi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">934</span>,
335
+ <span class="ruby-value str">'Chi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">935</span>,
336
+ <span class="ruby-value str">'Psi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">936</span>,
337
+ <span class="ruby-value str">'Omega'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">937</span>,
338
+ <span class="ruby-value str">'alpha'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">945</span>,
339
+ <span class="ruby-value str">'beta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">946</span>,
340
+ <span class="ruby-value str">'gamma'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">947</span>,
341
+ <span class="ruby-value str">'delta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">948</span>,
342
+ <span class="ruby-value str">'epsilon'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">949</span>,
343
+ <span class="ruby-value str">'zeta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">950</span>,
344
+ <span class="ruby-value str">'eta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">951</span>,
345
+ <span class="ruby-value str">'theta'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">952</span>,
346
+ <span class="ruby-value str">'iota'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">953</span>,
347
+ <span class="ruby-value str">'kappa'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">954</span>,
348
+ <span class="ruby-value str">'lambda'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">955</span>,
349
+ <span class="ruby-value str">'mu'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">956</span>,
350
+ <span class="ruby-value str">'nu'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">957</span>,
351
+ <span class="ruby-value str">'xi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">958</span>,
352
+ <span class="ruby-value str">'omicron'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">959</span>,
353
+ <span class="ruby-value str">'pi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">960</span>,
354
+ <span class="ruby-value str">'rho'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">961</span>,
355
+ <span class="ruby-value str">'sigmaf'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">962</span>,
356
+ <span class="ruby-value str">'sigma'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">963</span>,
357
+ <span class="ruby-value str">'tau'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">964</span>,
358
+ <span class="ruby-value str">'upsilon'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">965</span>,
359
+ <span class="ruby-value str">'phi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">966</span>,
360
+ <span class="ruby-value str">'chi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">967</span>,
361
+ <span class="ruby-value str">'psi'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">968</span>,
362
+ <span class="ruby-value str">'omega'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">969</span>,
363
+ <span class="ruby-value str">'thetasym'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">977</span>,
364
+ <span class="ruby-value str">'upsih'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">978</span>,
365
+ <span class="ruby-value str">'piv'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">982</span>,
366
+ <span class="ruby-value str">'bull'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8226</span>,
367
+ <span class="ruby-value str">'hellip'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8230</span>,
368
+ <span class="ruby-value str">'prime'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8242</span>,
369
+ <span class="ruby-value str">'Prime'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8243</span>,
370
+ <span class="ruby-value str">'oline'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8254</span>,
371
+ <span class="ruby-value str">'frasl'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8260</span>,
372
+ <span class="ruby-value str">'weierp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8472</span>,
373
+ <span class="ruby-value str">'image'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8465</span>,
374
+ <span class="ruby-value str">'real'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8476</span>,
375
+ <span class="ruby-value str">'trade'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8482</span>,
376
+ <span class="ruby-value str">'alefsym'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8501</span>,
377
+ <span class="ruby-value str">'larr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8592</span>,
378
+ <span class="ruby-value str">'uarr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8593</span>,
379
+ <span class="ruby-value str">'rarr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8594</span>,
380
+ <span class="ruby-value str">'darr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8595</span>,
381
+ <span class="ruby-value str">'harr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8596</span>,
382
+ <span class="ruby-value str">'crarr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8629</span>,
383
+ <span class="ruby-value str">'lArr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8656</span>,
384
+ <span class="ruby-value str">'uArr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8657</span>,
385
+ <span class="ruby-value str">'rArr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8658</span>,
386
+ <span class="ruby-value str">'dArr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8659</span>,
387
+ <span class="ruby-value str">'hArr'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8660</span>,
388
+ <span class="ruby-value str">'forall'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8704</span>,
389
+ <span class="ruby-value str">'part'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8706</span>,
390
+ <span class="ruby-value str">'exist'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8707</span>,
391
+ <span class="ruby-value str">'empty'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8709</span>,
392
+ <span class="ruby-value str">'nabla'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8711</span>,
393
+ <span class="ruby-value str">'isin'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8712</span>,
394
+ <span class="ruby-value str">'notin'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8713</span>,
395
+ <span class="ruby-value str">'ni'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8715</span>,
396
+ <span class="ruby-value str">'prod'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8719</span>,
397
+ <span class="ruby-value str">'sum'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8721</span>,
398
+ <span class="ruby-value str">'minus'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8722</span>,
399
+ <span class="ruby-value str">'lowast'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8727</span>,
400
+ <span class="ruby-value str">'radic'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8730</span>,
401
+ <span class="ruby-value str">'prop'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8733</span>,
402
+ <span class="ruby-value str">'infin'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8734</span>,
403
+ <span class="ruby-value str">'ang'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8736</span>,
404
+ <span class="ruby-value str">'and'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8743</span>,
405
+ <span class="ruby-value str">'or'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8744</span>,
406
+ <span class="ruby-value str">'cap'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8745</span>,
407
+ <span class="ruby-value str">'cup'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8746</span>,
408
+ <span class="ruby-value str">'int'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8747</span>,
409
+ <span class="ruby-value str">'there4'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8756</span>,
410
+ <span class="ruby-value str">'sim'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8764</span>,
411
+ <span class="ruby-value str">'cong'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8773</span>,
412
+ <span class="ruby-value str">'asymp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8776</span>,
413
+ <span class="ruby-value str">'ne'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8800</span>,
414
+ <span class="ruby-value str">'equiv'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8801</span>,
415
+ <span class="ruby-value str">'le'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8804</span>,
416
+ <span class="ruby-value str">'ge'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8805</span>,
417
+ <span class="ruby-value str">'sub'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8834</span>,
418
+ <span class="ruby-value str">'sup'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8835</span>,
419
+ <span class="ruby-value str">'nsub'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8836</span>,
420
+ <span class="ruby-value str">'sube'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8838</span>,
421
+ <span class="ruby-value str">'supe'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8839</span>,
422
+ <span class="ruby-value str">'oplus'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8853</span>,
423
+ <span class="ruby-value str">'otimes'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8855</span>,
424
+ <span class="ruby-value str">'perp'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8869</span>,
425
+ <span class="ruby-value str">'sdot'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8901</span>,
426
+ <span class="ruby-value str">'lceil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8968</span>,
427
+ <span class="ruby-value str">'rceil'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8969</span>,
428
+ <span class="ruby-value str">'lfloor'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8970</span>,
429
+ <span class="ruby-value str">'rfloor'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">8971</span>,
430
+ <span class="ruby-value str">'lang'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9001</span>,
431
+ <span class="ruby-value str">'rang'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9002</span>,
432
+ <span class="ruby-value str">'loz'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9674</span>,
433
+ <span class="ruby-value str">'spades'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9824</span>,
434
+ <span class="ruby-value str">'clubs'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9827</span>,
435
+ <span class="ruby-value str">'hearts'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9829</span>,
436
+ <span class="ruby-value str">'diams'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">9830</span>,
437
+ }
438
+ <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/&amp;(?:([a-zA-Z]+)|#([0-9]+)|#x([a-fA-F0-9]+));/</span>) {
439
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$1</span> <span class="ruby-keyword kw">then</span>
440
+ <span class="ruby-identifier">v</span> = <span class="ruby-ivar">@@xhtml_entity_replacements</span>[<span class="ruby-identifier">$1</span>]
441
+ <span class="ruby-comment cmt"># Nonstandard entity</span>
442
+ <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">v</span>
443
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">extra_entities</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Proc</span>
444
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">extra_entities</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">$1</span>)
445
+ <span class="ruby-comment cmt"># Well, we expect a Hash here, but any container will do.</span>
446
+ <span class="ruby-comment cmt"># As long as it's not a nil.</span>
447
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">extra_entities</span>
448
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">extra_entities</span>[<span class="ruby-identifier">$1</span>]
449
+ <span class="ruby-keyword kw">end</span>
450
+ <span class="ruby-keyword kw">end</span>
451
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown escape #{$1}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">v</span>
452
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">$2</span>
453
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">to_i</span>
454
+ <span class="ruby-keyword kw">else</span>
455
+ <span class="ruby-identifier">v</span> = <span class="ruby-identifier">$3</span>.<span class="ruby-identifier">hex</span>
456
+ <span class="ruby-keyword kw">end</span>
457
+ <span class="ruby-comment cmt"># v can be a String or an Integer</span>
458
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">v</span> <span class="ruby-keyword kw">else</span> [<span class="ruby-identifier">v</span>].<span class="ruby-identifier">pack</span>(<span class="ruby-value str">'U'</span>) <span class="ruby-keyword kw">end</span>
459
+ }
460
+ <span class="ruby-keyword kw">end</span>
461
+ </pre>
462
+ </div>
463
+ </div>
464
+ </div>
465
+ </div>
466
+
467
+ </div>
468
+
469
+ </body>
470
+ </html>