taskjuggler 0.0.2 → 0.0.3

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 (432) hide show
  1. data/Rakefile +1 -0
  2. data/benchmarks/depends.tjp +2 -1
  3. data/benchmarks/htmltaskreport.tjp +2 -1
  4. data/doc/classes/AppConfig.html +124 -120
  5. data/doc/classes/Arguments.html +10 -6
  6. data/doc/classes/Object.html +229 -0
  7. data/doc/classes/String.html +35 -31
  8. data/doc/classes/TaskJuggler/Account.html +18 -18
  9. data/doc/classes/TaskJuggler/AccountAttribute.html +261 -0
  10. data/doc/classes/TaskJuggler/AccountScenario.html +12 -12
  11. data/doc/classes/TaskJuggler/Allocation.html +34 -30
  12. data/doc/classes/TaskJuggler/AllocationAttribute.html +70 -70
  13. data/doc/classes/TaskJuggler/AttributeBase.html +131 -147
  14. data/doc/classes/TaskJuggler/AttributeDefinition.html +38 -21
  15. data/doc/classes/TaskJuggler/BatchProcessor.html +313 -0
  16. data/doc/classes/TaskJuggler/Booking.html +22 -18
  17. data/doc/classes/TaskJuggler/BookingListAttribute.html +42 -42
  18. data/doc/classes/TaskJuggler/BooleanAttribute.html +40 -40
  19. data/doc/classes/TaskJuggler/CSVFile.html +28 -24
  20. data/doc/classes/TaskJuggler/Charge.html +22 -18
  21. data/doc/classes/TaskJuggler/ChargeListAttribute.html +30 -30
  22. data/doc/classes/TaskJuggler/ChargeSet.html +41 -37
  23. data/doc/classes/TaskJuggler/ChargeSetListAttribute.html +46 -46
  24. data/doc/classes/TaskJuggler/ColumnListAttribute.html +231 -0
  25. data/doc/classes/TaskJuggler/ColumnTable.html +23 -21
  26. data/doc/classes/TaskJuggler/DateAttribute.html +20 -20
  27. data/doc/classes/TaskJuggler/DefinitionListAttribute.html +162 -0
  28. data/doc/classes/TaskJuggler/DependencyListAttribute.html +46 -46
  29. data/doc/classes/TaskJuggler/DurationAttribute.html +30 -30
  30. data/doc/classes/TaskJuggler/FixnumAttribute.html +20 -20
  31. data/doc/classes/TaskJuggler/FlagListAttribute.html +42 -42
  32. data/doc/classes/TaskJuggler/FloatAttribute.html +30 -30
  33. data/doc/classes/TaskJuggler/FormatListAttribute.html +197 -0
  34. data/doc/classes/TaskJuggler/GanttChart.html +236 -207
  35. data/doc/classes/TaskJuggler/GanttContainer.html +46 -42
  36. data/doc/classes/TaskJuggler/GanttHeader.html +16 -12
  37. data/doc/classes/TaskJuggler/GanttHeaderScaleItem.html +16 -12
  38. data/doc/classes/TaskJuggler/GanttLine.html +28 -24
  39. data/doc/classes/TaskJuggler/GanttLoadStack.html +22 -18
  40. data/doc/classes/TaskJuggler/GanttMilestone.html +46 -42
  41. data/doc/classes/TaskJuggler/GanttRouter.html +104 -98
  42. data/doc/classes/TaskJuggler/GanttTaskBar.html +46 -42
  43. data/doc/classes/TaskJuggler/HTMLDocument.html +12 -12
  44. data/doc/classes/TaskJuggler/HTMLGraphics.html +12 -12
  45. data/doc/classes/TaskJuggler/Interval.html +126 -120
  46. data/doc/classes/TaskJuggler/IntervalListAttribute.html +46 -46
  47. data/doc/classes/TaskJuggler/JobInfo.html +284 -0
  48. data/doc/classes/TaskJuggler/Journal.html +197 -0
  49. data/doc/classes/TaskJuggler/JournalEntry.html +218 -0
  50. data/doc/classes/TaskJuggler/KeywordArray.html +179 -0
  51. data/doc/classes/TaskJuggler/KeywordDocumentation.html +445 -396
  52. data/doc/classes/TaskJuggler/Limits/Limit.html +34 -30
  53. data/doc/classes/TaskJuggler/Limits.html +68 -62
  54. data/doc/classes/TaskJuggler/LimitsAttribute.html +40 -40
  55. data/doc/classes/TaskJuggler/ListAttributeBase.html +207 -0
  56. data/doc/classes/TaskJuggler/Log.html +72 -68
  57. data/doc/classes/TaskJuggler/LogicalAttribute.html +38 -34
  58. data/doc/classes/TaskJuggler/LogicalExpression.html +16 -12
  59. data/doc/classes/TaskJuggler/LogicalExpressionAttribute.html +194 -0
  60. data/doc/classes/TaskJuggler/LogicalFlag.html +32 -32
  61. data/doc/classes/TaskJuggler/LogicalFunction.html +28 -24
  62. data/doc/classes/TaskJuggler/LogicalOperation.html +17 -13
  63. data/doc/classes/TaskJuggler/Macro.html +10 -6
  64. data/doc/classes/TaskJuggler/MacroParser.html +36 -36
  65. data/doc/classes/TaskJuggler/MacroTable.html +40 -36
  66. data/doc/classes/TaskJuggler/Message.html +16 -12
  67. data/doc/classes/TaskJuggler/MessageHandler.html +16 -12
  68. data/doc/classes/TaskJuggler/Navigator.html +249 -0
  69. data/doc/classes/TaskJuggler/OnShiftCache.html +316 -0
  70. data/doc/classes/TaskJuggler/Project.html +1064 -678
  71. data/doc/classes/TaskJuggler/ProjectFileParser.html +90 -85
  72. data/doc/classes/TaskJuggler/PropertyAttribute.html +194 -0
  73. data/doc/classes/TaskJuggler/PropertyList.html +114 -113
  74. data/doc/classes/TaskJuggler/PropertySet.html +355 -312
  75. data/doc/classes/TaskJuggler/PropertyTreeNode.html +527 -474
  76. data/doc/classes/TaskJuggler/Query.html +90 -85
  77. data/doc/classes/TaskJuggler/RTPNavigator.html +292 -0
  78. data/doc/classes/TaskJuggler/RTPReport.html +301 -0
  79. data/doc/classes/TaskJuggler/RealFormat.html +114 -57
  80. data/doc/classes/TaskJuggler/RealFormatAttribute.html +162 -0
  81. data/doc/classes/TaskJuggler/ReferenceAttribute.html +87 -20
  82. data/doc/classes/TaskJuggler/Report.html +82 -291
  83. data/doc/classes/TaskJuggler/ReportBase.html +448 -0
  84. data/doc/classes/TaskJuggler/ReportContext.html +243 -0
  85. data/doc/classes/TaskJuggler/ReportTable.html +158 -129
  86. data/doc/classes/TaskJuggler/ReportTableCell.html +30 -26
  87. data/doc/classes/TaskJuggler/ReportTableColumn.html +29 -25
  88. data/doc/classes/TaskJuggler/ReportTableLegend.html +28 -24
  89. data/doc/classes/TaskJuggler/ReportTableLine.html +34 -30
  90. data/doc/classes/TaskJuggler/Resource.html +12 -12
  91. data/doc/classes/TaskJuggler/ResourceListAttribute.html +46 -46
  92. data/doc/classes/TaskJuggler/ResourceListRE.html +49 -57
  93. data/doc/classes/TaskJuggler/ResourceScenario.html +126 -126
  94. data/doc/classes/TaskJuggler/RichText.html +52 -48
  95. data/doc/classes/TaskJuggler/RichTextAttribute.html +30 -30
  96. data/doc/classes/TaskJuggler/RichTextDocument.html +41 -37
  97. data/doc/classes/TaskJuggler/RichTextElement.html +274 -264
  98. data/doc/classes/TaskJuggler/RichTextException.html +13 -13
  99. data/doc/classes/TaskJuggler/RichTextParser.html +48 -47
  100. data/doc/classes/TaskJuggler/RichTextProtocolExample.html +52 -55
  101. data/doc/classes/TaskJuggler/RichTextProtocolHandler.html +55 -10
  102. data/doc/classes/TaskJuggler/RichTextScanner.html +106 -245
  103. data/doc/classes/TaskJuggler/RichTextSnip.html +28 -24
  104. data/doc/classes/TaskJuggler/RichTextSyntaxRules.html +381 -301
  105. data/doc/classes/TaskJuggler/Scenario.html +6 -6
  106. data/doc/classes/TaskJuggler/ScenarioData.html +40 -36
  107. data/doc/classes/TaskJuggler/ScenarioListAttribute.html +229 -0
  108. data/doc/classes/TaskJuggler/Scoreboard.html +70 -66
  109. data/doc/classes/TaskJuggler/Shift.html +18 -18
  110. data/doc/classes/TaskJuggler/ShiftAssignment.html +58 -54
  111. data/doc/classes/TaskJuggler/ShiftAssignments.html +82 -78
  112. data/doc/classes/TaskJuggler/ShiftAssignmentsAttribute.html +40 -40
  113. data/doc/classes/TaskJuggler/ShiftScenario.html +24 -24
  114. data/doc/classes/TaskJuggler/SortListAttribute.html +196 -0
  115. data/doc/classes/TaskJuggler/SourceFileInfo.html +16 -12
  116. data/doc/classes/TaskJuggler/StringAttribute.html +30 -30
  117. data/doc/classes/TaskJuggler/SymbolAttribute.html +20 -20
  118. data/doc/classes/TaskJuggler/SyntaxReference.html +46 -42
  119. data/doc/classes/TaskJuggler/TOCEntry.html +16 -12
  120. data/doc/classes/TaskJuggler/TableColumnDefinition.html +48 -33
  121. data/doc/classes/TaskJuggler/TableOfContents.html +22 -18
  122. data/doc/classes/TaskJuggler/TableReport.html +1036 -0
  123. data/doc/classes/TaskJuggler/Task.html +12 -12
  124. data/doc/classes/TaskJuggler/TaskDependency.html +16 -12
  125. data/doc/classes/TaskJuggler/TaskListAttribute.html +46 -46
  126. data/doc/classes/TaskJuggler/TaskListRE.html +49 -58
  127. data/doc/classes/TaskJuggler/TaskScenario.html +1270 -1180
  128. data/doc/classes/TaskJuggler/TextParser/Pattern.html +100 -96
  129. data/doc/classes/TaskJuggler/TextParser/Rule.html +88 -84
  130. data/doc/classes/TaskJuggler/TextParser/StackElement.html +16 -12
  131. data/doc/classes/TaskJuggler/TextParser/TextParserResultArray.html +12 -12
  132. data/doc/classes/TaskJuggler/TextParser/TokenDoc.html +10 -6
  133. data/doc/classes/TaskJuggler/TextParser.html +203 -140
  134. data/doc/classes/TaskJuggler/TextReport.html +364 -0
  135. data/doc/classes/TaskJuggler/TextScanner/BufferStreamHandle.html +70 -70
  136. data/doc/classes/TaskJuggler/TextScanner/FileStreamHandle.html +50 -42
  137. data/doc/classes/TaskJuggler/TextScanner/StreamHandle.html +16 -12
  138. data/doc/classes/TaskJuggler/TextScanner.html +334 -240
  139. data/doc/classes/TaskJuggler/TjException.html +6 -6
  140. data/doc/classes/TaskJuggler/TjTime.html +547 -497
  141. data/doc/classes/TaskJuggler/TjpExample.html +29 -25
  142. data/doc/classes/TaskJuggler/TjpExportRE.html +77 -97
  143. data/doc/classes/TaskJuggler/TjpSyntaxRules.html +3911 -3886
  144. data/doc/classes/TaskJuggler/UserManual.html +54 -54
  145. data/doc/classes/TaskJuggler/WorkingHours.html +53 -49
  146. data/doc/classes/TaskJuggler/WorkingHoursAttribute.html +53 -85
  147. data/doc/classes/TaskJuggler/XMLBlob.html +21 -21
  148. data/doc/classes/TaskJuggler/XMLComment.html +21 -21
  149. data/doc/classes/TaskJuggler/XMLDocument.html +28 -24
  150. data/doc/classes/TaskJuggler/XMLElement.html +70 -58
  151. data/doc/classes/TaskJuggler/XMLNamedText.html +11 -11
  152. data/doc/classes/TaskJuggler/XMLText.html +36 -36
  153. data/doc/classes/TaskJuggler.html +266 -183
  154. data/doc/files/COPYING.html +1 -1
  155. data/doc/files/README.html +1 -1
  156. data/doc/files/lib/AccountScenario_rb.html +1 -1
  157. data/doc/files/lib/Account_rb.html +1 -1
  158. data/doc/files/lib/Allocation_rb.html +1 -1
  159. data/doc/files/lib/AppConfig_rb.html +1 -1
  160. data/doc/files/lib/AttributeBase_rb.html +11 -1
  161. data/doc/files/lib/AttributeDefinition_rb.html +1 -1
  162. data/doc/files/lib/Attributes_rb.html +1 -1
  163. data/doc/files/lib/{LogicalFlag_rb.html → BatchProcessor_rb.html} +8 -6
  164. data/doc/files/lib/Booking_rb.html +1 -1
  165. data/doc/files/lib/ChargeSet_rb.html +1 -1
  166. data/doc/files/lib/Charge_rb.html +1 -1
  167. data/doc/files/lib/HTMLDocument_rb.html +1 -1
  168. data/doc/files/lib/Interval_rb.html +1 -1
  169. data/doc/files/lib/Journal_rb.html +106 -0
  170. data/doc/files/lib/KeywordArray_rb.html +106 -0
  171. data/doc/files/lib/KeywordDocumentation_rb.html +1 -1
  172. data/doc/files/lib/Limits_rb.html +1 -1
  173. data/doc/files/lib/Log_rb.html +1 -1
  174. data/doc/files/lib/LogicalExpression_rb.html +1 -3
  175. data/doc/files/lib/LogicalFunction_rb.html +1 -1
  176. data/doc/files/lib/LogicalOperation_rb.html +1 -1
  177. data/doc/files/lib/MacroParser_rb.html +1 -1
  178. data/doc/files/lib/MacroTable_rb.html +1 -1
  179. data/doc/files/lib/MessageHandler_rb.html +1 -1
  180. data/doc/files/lib/Message_rb.html +1 -1
  181. data/doc/files/lib/ProjectFileParser_rb.html +5 -1
  182. data/doc/files/lib/Project_rb.html +5 -1
  183. data/doc/files/lib/PropertyList_rb.html +1 -1
  184. data/doc/files/lib/PropertySet_rb.html +1 -1
  185. data/doc/files/lib/PropertyTreeNode_rb.html +1 -1
  186. data/doc/files/lib/Query_rb.html +1 -1
  187. data/doc/files/lib/RTPNavigator_rb.html +120 -0
  188. data/doc/files/lib/RTPReport_rb.html +118 -0
  189. data/doc/files/lib/RealFormat_rb.html +1 -1
  190. data/doc/files/lib/ResourceScenario_rb.html +1 -1
  191. data/doc/files/lib/Resource_rb.html +1 -1
  192. data/doc/files/lib/RichTextDocument_rb.html +1 -1
  193. data/doc/files/lib/RichTextElement_rb.html +1 -1
  194. data/doc/files/lib/RichTextParser_rb.html +1 -1
  195. data/doc/files/lib/RichTextProtocolExample_rb.html +1 -1
  196. data/doc/files/lib/RichTextProtocolHandler_rb.html +1 -1
  197. data/doc/files/lib/RichTextScanner_rb.html +1 -1
  198. data/doc/files/lib/RichTextSnip_rb.html +1 -1
  199. data/doc/files/lib/RichTextSyntaxRules_rb.html +1 -1
  200. data/doc/files/lib/RichText_rb.html +1 -1
  201. data/doc/files/lib/ScenarioData_rb.html +1 -1
  202. data/doc/files/lib/Scenario_rb.html +1 -1
  203. data/doc/files/lib/Scoreboard_rb.html +1 -1
  204. data/doc/files/lib/ShiftAssignments_rb.html +1 -1
  205. data/doc/files/lib/ShiftScenario_rb.html +1 -1
  206. data/doc/files/lib/Shift_rb.html +1 -1
  207. data/doc/files/lib/SourceFileInfo_rb.html +1 -1
  208. data/doc/files/lib/SyntaxReference_rb.html +1 -1
  209. data/doc/files/lib/TOCEntry_rb.html +1 -1
  210. data/doc/files/lib/TableColumnDefinition_rb.html +1 -1
  211. data/doc/files/lib/TableOfContents_rb.html +1 -1
  212. data/doc/files/lib/TaskDependency_rb.html +1 -1
  213. data/doc/files/lib/TaskJuggler_rb.html +1 -1
  214. data/doc/files/lib/TaskScenario_rb.html +1 -1
  215. data/doc/files/lib/Task_rb.html +1 -1
  216. data/doc/files/lib/TextParser/Pattern_rb.html +1 -1
  217. data/doc/files/lib/TextParser/Rule_rb.html +1 -1
  218. data/doc/files/lib/TextParser/StackElement_rb.html +1 -1
  219. data/doc/files/lib/TextParser/TokenDoc_rb.html +1 -1
  220. data/doc/files/lib/TextParser_rb.html +1 -1
  221. data/doc/files/lib/TextScanner_rb.html +1 -1
  222. data/doc/files/lib/Tj3Config_rb.html +1 -1
  223. data/doc/files/lib/TjException_rb.html +1 -1
  224. data/doc/files/lib/TjTime_rb.html +1 -1
  225. data/doc/files/lib/TjpExample_rb.html +1 -1
  226. data/doc/files/lib/TjpSyntaxRules_rb.html +1 -1
  227. data/doc/files/lib/UTF8String_rb.html +1 -1
  228. data/doc/files/lib/UserManual_rb.html +1 -1
  229. data/doc/files/lib/WorkingHours_rb.html +1 -1
  230. data/doc/files/lib/XMLDocument_rb.html +1 -1
  231. data/doc/files/lib/XMLElement_rb.html +1 -1
  232. data/doc/files/lib/deep_copy_rb.html +106 -0
  233. data/doc/files/lib/ms_test_rb.html +90 -0
  234. data/doc/files/lib/reports/CSVFile_rb.html +1 -1
  235. data/doc/files/lib/reports/ColumnTable_rb.html +1 -1
  236. data/doc/files/lib/reports/GanttChart_rb.html +1 -1
  237. data/doc/files/lib/reports/GanttContainer_rb.html +1 -1
  238. data/doc/files/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  239. data/doc/files/lib/reports/GanttHeader_rb.html +1 -1
  240. data/doc/files/lib/reports/GanttLine_rb.html +1 -1
  241. data/doc/files/lib/reports/GanttLoadStack_rb.html +1 -1
  242. data/doc/files/lib/reports/GanttMilestone_rb.html +1 -1
  243. data/doc/files/lib/reports/GanttRouter_rb.html +1 -1
  244. data/doc/files/lib/reports/GanttTaskBar_rb.html +1 -1
  245. data/doc/files/lib/reports/HTMLGraphics_rb.html +1 -1
  246. data/doc/files/lib/reports/{ReportElement_rb.html → Navigator_rb.html} +6 -8
  247. data/doc/files/lib/reports/ReportBase_rb.html +106 -0
  248. data/doc/files/lib/reports/ReportContext_rb.html +106 -0
  249. data/doc/files/lib/reports/ReportTableCell_rb.html +1 -1
  250. data/doc/files/lib/reports/ReportTableColumn_rb.html +1 -1
  251. data/doc/files/lib/reports/ReportTableLegend_rb.html +1 -1
  252. data/doc/files/lib/reports/ReportTableLine_rb.html +1 -1
  253. data/doc/files/lib/reports/ReportTable_rb.html +1 -1
  254. data/doc/files/lib/reports/Report_rb.html +8 -2
  255. data/doc/files/lib/reports/ResourceListRE_rb.html +2 -2
  256. data/doc/files/lib/reports/{ReportTableElement_rb.html → TableReport_rb.html} +7 -5
  257. data/doc/files/lib/reports/TaskListRE_rb.html +2 -2
  258. data/doc/files/lib/reports/TextReport_rb.html +116 -0
  259. data/doc/files/lib/reports/TjpExportRE_rb.html +2 -2
  260. data/doc/files/lib/taskjuggler3_rb.html +61 -56
  261. data/doc/files/lib/tj3man_rb.html +1 -1
  262. data/doc/fr_class_index.html +41 -3
  263. data/doc/fr_file_index.html +21 -5
  264. data/doc/fr_method_index.html +1069 -959
  265. data/examples/ContactList.html +1467 -0
  266. data/examples/Deliveries.html +485 -0
  267. data/examples/Development.html +2525 -0
  268. data/examples/Overview.html +747 -0
  269. data/examples/Resource Graph.html +616 -0
  270. data/examples/tutorial.tjp +63 -67
  271. data/lib/AttributeBase.rb +27 -31
  272. data/lib/AttributeDefinition.rb +12 -7
  273. data/lib/Attributes.rb +134 -34
  274. data/lib/Interval.rb +2 -0
  275. data/lib/Journal.rb +44 -0
  276. data/lib/{LogicalFlag.rb → KeywordArray.rb} +5 -13
  277. data/lib/KeywordDocumentation.rb +84 -47
  278. data/lib/Limits.rb +7 -5
  279. data/lib/LogicalExpression.rb +1 -1
  280. data/lib/LogicalOperation.rb +33 -0
  281. data/lib/Project.rb +313 -99
  282. data/lib/ProjectFileParser.rb +88 -11
  283. data/lib/PropertyList.rb +2 -1
  284. data/lib/PropertySet.rb +13 -4
  285. data/lib/PropertyTreeNode.rb +34 -15
  286. data/lib/Query.rb +2 -1
  287. data/lib/RTPNavigator.rb +53 -0
  288. data/lib/RTPReport.rb +62 -0
  289. data/lib/RealFormat.rb +28 -10
  290. data/lib/RichTextElement.rb +18 -12
  291. data/lib/RichTextParser.rb +1 -0
  292. data/lib/RichTextProtocolExample.rb +8 -11
  293. data/lib/RichTextProtocolHandler.rb +11 -1
  294. data/lib/RichTextScanner.rb +308 -164
  295. data/lib/RichTextSyntaxRules.rb +24 -0
  296. data/lib/TableColumnDefinition.rb +5 -1
  297. data/lib/TaskJuggler.rb +3 -2
  298. data/lib/TaskScenario.rb +123 -31
  299. data/lib/TextParser.rb +14 -3
  300. data/lib/TextScanner.rb +210 -34
  301. data/lib/Tj3Config.rb +1 -1
  302. data/lib/TjTime.rb +15 -0
  303. data/lib/TjpExample.rb +1 -1
  304. data/lib/TjpSyntaxRules.rb +674 -473
  305. data/lib/WorkingHours.rb +1 -1
  306. data/lib/XMLElement.rb +11 -3
  307. data/lib/deep_copy.rb +72 -0
  308. data/lib/ms_test.rb +27 -0
  309. data/lib/reports/ColumnTable.rb +7 -5
  310. data/lib/reports/GanttChart.rb +60 -34
  311. data/lib/reports/GanttHeader.rb +1 -1
  312. data/lib/reports/GanttRouter.rb +7 -5
  313. data/lib/reports/Navigator.rb +72 -0
  314. data/lib/reports/Report.rb +58 -73
  315. data/lib/reports/ReportBase.rb +241 -0
  316. data/lib/reports/ReportContext.rb +41 -0
  317. data/lib/reports/ReportTable.rb +7 -2
  318. data/lib/reports/ReportTableCell.rb +3 -3
  319. data/lib/reports/ResourceListRE.rb +19 -26
  320. data/lib/reports/{ReportTableElement.rb → TableReport.rb} +297 -97
  321. data/lib/reports/TaskListRE.rb +16 -24
  322. data/lib/reports/TextReport.rb +87 -0
  323. data/lib/reports/TjpExportRE.rb +55 -50
  324. data/lib/taskjuggler3.rb +6 -1
  325. data/manual/Getting_Started +57 -6
  326. data/manual/How_To_Contribute +2 -4
  327. data/manual/Intro +2 -2
  328. data/manual/Reporting_Bugs +9 -2
  329. data/manual/Rich_Text_Attributes +41 -0
  330. data/manual/Tutorial +219 -173
  331. data/tasks/test.rake +3 -0
  332. data/test/TestSuite/CSV-Reports/celltext.tjp +2 -1
  333. data/test/TestSuite/CSV-Reports/resourcereport.tjp +2 -1
  334. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks.tjp +2 -1
  335. data/test/TestSuite/CSV-Reports/sortByTree.tjp +2 -1
  336. data/test/TestSuite/CSV-Reports/sortBy_duration.down.tjp +2 -1
  337. data/test/TestSuite/CSV-Reports/sortBy_effort.up.tjp +2 -1
  338. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down.tjp +2 -1
  339. data/test/TestSuite/CSV-Reports/taskreport.tjp +2 -1
  340. data/test/TestSuite/CSV-Reports/taskreport_with_resources.tjp +2 -1
  341. data/test/TestSuite/HTML-Reports/depArrows.tjp +72 -0
  342. data/test/TestSuite/HTML-Reports/reference-export.html +187 -0
  343. data/test/TestSuite/HTML-Reports/reference.tjp +21 -0
  344. data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -1
  345. data/test/TestSuite/Scheduler/Correct/AutomaticMilestones.tjp +3 -3
  346. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  347. data/test/TestSuite/Scheduler/Correct/Container-2.tjp +37 -0
  348. data/test/TestSuite/Scheduler/Correct/Container.tjp +40 -0
  349. data/test/TestSuite/Scheduler/Correct/Depends.tjp +9 -14
  350. data/test/TestSuite/Scheduler/Correct/Duration.tjp +2 -1
  351. data/test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp +20 -29
  352. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -13
  353. data/test/TestSuite/Scheduler/Correct/Optimize-1.tjp +6 -5
  354. data/test/TestSuite/Scheduler/Correct/Optimize-2.tjp +10 -6
  355. data/test/TestSuite/Scheduler/Correct/Optimize-3.tjp +9 -6
  356. data/test/TestSuite/Scheduler/Correct/Optimize-4.tjp +9 -6
  357. data/test/TestSuite/Scheduler/Correct/Optimize-5.tjp +13 -10
  358. data/test/TestSuite/Scheduler/Correct/Precedes.tjp +9 -14
  359. data/test/TestSuite/Scheduler/Correct/Shift.tjp +9 -8
  360. data/test/TestSuite/Scheduler/Correct/checks.tji +4 -0
  361. data/test/TestSuite/Scheduler/Errors/weak_end_dep.tjp +16 -0
  362. data/test/TestSuite/Scheduler/Errors/weak_start_dep.tjp +16 -0
  363. data/test/TestSuite/Syntax/Correct/Account.tjp +1 -1
  364. data/test/TestSuite/Syntax/Correct/AutoID.tjp +21 -0
  365. data/test/TestSuite/Syntax/Correct/AutoMacros.tjp +2 -1
  366. data/test/TestSuite/Syntax/Correct/Caption.tjp +7 -6
  367. data/test/TestSuite/Syntax/Correct/Celltext.tjp +7 -4
  368. data/test/TestSuite/Syntax/Correct/Comments.tjp +1 -1
  369. data/test/TestSuite/Syntax/Correct/CompletedWork.tji +11 -19
  370. data/test/TestSuite/Syntax/Correct/CriticalPath.tjp +4 -3
  371. data/test/TestSuite/Syntax/Correct/Export.tjp +3 -1
  372. data/test/TestSuite/Syntax/Correct/Flags.tjp +2 -1
  373. data/test/TestSuite/Syntax/Correct/HtmlTaskReport.tjp +2 -1
  374. data/test/TestSuite/Syntax/Correct/Journal.tjp +18 -0
  375. data/test/TestSuite/Syntax/Correct/LoadUnits.tjp +2 -1
  376. data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +16 -0
  377. data/test/TestSuite/Syntax/Correct/Period.tjp +2 -1
  378. data/test/TestSuite/Syntax/Correct/RawHTML.tjp +4 -2
  379. data/test/TestSuite/Syntax/Correct/Reports.tjp +4 -2
  380. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tji +2 -0
  381. data/test/TestSuite/Syntax/Correct/ResourcePrefix.tjp +23 -0
  382. data/test/TestSuite/Syntax/Correct/Responsible.tjp +1 -1
  383. data/test/TestSuite/Syntax/Correct/Simple.tjp +1 -1
  384. data/test/TestSuite/Syntax/Correct/String.tjp +1 -1
  385. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +2 -1
  386. data/test/TestSuite/Syntax/Correct/tutorial.tjp +92 -70
  387. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +7 -0
  388. data/test/TestSuite/Syntax/Errors/bad_include.tjp +1 -1
  389. data/test/TestSuite/Syntax/Errors/bad_time_zone.tjp +6 -0
  390. data/test/TestSuite/Syntax/Errors/bad_timing_res.tjp +5 -0
  391. data/test/TestSuite/Syntax/Errors/chargeset_master.tjp +1 -1
  392. data/test/TestSuite/Syntax/Errors/container_attribute.tjp +1 -1
  393. data/test/TestSuite/Syntax/Errors/cost_acct_no_top.tjp +3 -2
  394. data/test/TestSuite/Syntax/Errors/cost_rev_same.tjp +1 -1
  395. data/test/TestSuite/Syntax/Errors/eof_in_istring1.tjp +5 -0
  396. data/test/TestSuite/Syntax/Errors/eof_in_istring2.tjp +5 -0
  397. data/test/TestSuite/Syntax/Errors/eof_in_istring3.tjp +6 -0
  398. data/test/TestSuite/Syntax/Errors/eof_in_istring4.tjp +6 -0
  399. data/test/TestSuite/Syntax/Errors/eof_in_istring5.tjp +6 -0
  400. data/test/TestSuite/Syntax/Errors/include_recursion.tji +1 -0
  401. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +7 -0
  402. data/test/TestSuite/Syntax/Errors/junk_after_cut.tjp +6 -0
  403. data/test/TestSuite/Syntax/Errors/navigator_exists.tjp +10 -0
  404. data/test/TestSuite/Syntax/Errors/operand_unkn_flag.tjp +1 -1
  405. data/test/TestSuite/Syntax/Errors/report_end.tjp +1 -1
  406. data/test/TestSuite/Syntax/Errors/report_exists.tjp +10 -0
  407. data/test/TestSuite/Syntax/Errors/report_start.tjp +1 -1
  408. data/test/TestSuite/Syntax/Errors/rev_acct_no_top.tjp +1 -1
  409. data/test/TestSuite/Syntax/Errors/sort_direction.tjp +1 -1
  410. data/test/TestSuite/Syntax/Errors/sort_unknown_scen.tjp +1 -1
  411. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd1.tjp +1 -1
  412. data/test/TestSuite/Syntax/Errors/sorting_crit_exptd2.tjp +1 -1
  413. data/test/TestSuite/Syntax/Errors/sorting_wbs.tjp +1 -1
  414. data/test/TestSuite/Syntax/Errors/too_large_timing_res.tjp +7 -0
  415. data/test/TestSuite/Syntax/Errors/unknown_scenario_idx.tjp +1 -1
  416. data/test/TestSuite/Syntax/Errors/unknown_task.tjp +1 -1
  417. data/test/all.rb +1 -16
  418. data/test/test_CSV-Reports.rb +8 -5
  419. data/test/test_Query.rb +2 -2
  420. data/test/test_RichText.rb +95 -0
  421. data/test/test_Scheduler.rb +8 -4
  422. data/test/test_Syntax.rb +8 -4
  423. data/test/test_deep_copy.rb +83 -0
  424. metadata +549 -487
  425. data/benchmarks/UTF-8-Strings.rb +0 -58
  426. data/doc/classes/TaskJuggler/ReportElement.html +0 -1070
  427. data/doc/classes/TaskJuggler/ReportTableElement.html +0 -644
  428. data/lib/reports/ReportElement.rb +0 -427
  429. data/test/TestSuite/Syntax/Correct/csvtest +0 -16
  430. data/test/TestSuite/Syntax/Errors/no_csv_suffix.tjp +0 -10
  431. data/test/TestSuite/Syntax/Errors/no_html_suffix.tjp +0 -10
  432. data/test/TestSuite/Syntax/Errors/report_redifinition.tjp +0 -10
@@ -70,8 +70,12 @@
70
70
  <td><strong>Parent:</strong></td>
71
71
  <td>
72
72
 
73
+ <a href="../Object.html">
74
+
73
75
  Object
74
76
 
77
+ </a>
78
+
75
79
  </td>
76
80
  </tr>
77
81
 
@@ -108,17 +112,17 @@ and whether the keyword is scenario specific or not.
108
112
 
109
113
  <div class="name-list">
110
114
 
111
- <a href="#M000424">computeInheritance</a>&nbsp;&nbsp;
115
+ <a href="#M000690">computeInheritance</a>&nbsp;&nbsp;
112
116
 
113
- <a href="#M000423">crossReference</a>&nbsp;&nbsp;
117
+ <a href="#M000689">crossReference</a>&nbsp;&nbsp;
114
118
 
115
- <a href="#M000427">generateHTML</a>&nbsp;&nbsp;
119
+ <a href="#M000693">generateHTML</a>&nbsp;&nbsp;
116
120
 
117
- <a href="#M000422">new</a>&nbsp;&nbsp;
121
+ <a href="#M000688">new</a>&nbsp;&nbsp;
118
122
 
119
- <a href="#M000425">title</a>&nbsp;&nbsp;
123
+ <a href="#M000691">title</a>&nbsp;&nbsp;
120
124
 
121
- <a href="#M000426">to_s</a>&nbsp;&nbsp;
125
+ <a href="#M000692">to_s</a>&nbsp;&nbsp;
122
126
 
123
127
  </div>
124
128
  </div>
@@ -146,7 +150,15 @@ and whether the keyword is scenario specific or not.
146
150
  </tr>
147
151
 
148
152
  <tr class="top-aligned-row context-row">
149
- <td class="context-item-name">inheritable</td>
153
+ <td class="context-item-name">inheritedFromParent</td>
154
+
155
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
156
+
157
+ <td class="context-item-desc"></td>
158
+ </tr>
159
+
160
+ <tr class="top-aligned-row context-row">
161
+ <td class="context-item-name">inheritedFromProject</td>
150
162
 
151
163
  <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
152
164
 
@@ -213,12 +225,12 @@ and whether the keyword is scenario specific or not.
213
225
  <h3 class="section-bar">Public Class methods</h3>
214
226
 
215
227
 
216
- <div id="method-M000422" class="method-detail">
217
- <a name="M000422"></a>
228
+ <div id="method-M000688" class="method-detail">
229
+ <a name="M000688"></a>
218
230
 
219
231
  <div class="method-heading">
220
232
 
221
- <a href="#M000422" class="method-signature">
233
+ <a href="#M000688" class="method-signature">
222
234
 
223
235
  <span class="method-name">new</span><span class="method-args">(rule, pattern, syntax, args, optAttrPatterns, manual)</span>
224
236
 
@@ -241,8 +253,8 @@ TextParser::Patterns that are optional attributes to this keyword.
241
253
  </p>
242
254
 
243
255
  <p><a class="source-toggle" href="#"
244
- onclick="toggleCode('M000422-source');return false;">[Source]</a></p>
245
- <div class="method-source-code" id="M000422-source">
256
+ onclick="toggleCode('M000688-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000688-source">
246
258
  <pre>
247
259
  <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 42</span>
248
260
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">syntax</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">optAttrPatterns</span>, <span class="ruby-identifier">manual</span>)
@@ -259,16 +271,17 @@ TextParser::Patterns that are optional attributes to this keyword.
259
271
  53: <span class="ruby-comment cmt"># keyword documentation of the optional attribute.</span>
260
272
  54: <span class="ruby-ivar">@optionalAttributes</span> = []
261
273
  55: <span class="ruby-ivar">@scenarioSpecific</span> = <span class="ruby-keyword kw">false</span>
262
- 56: <span class="ruby-ivar">@inheritable</span> = <span class="ruby-keyword kw">false</span>
263
- 57: <span class="ruby-ivar">@contexts</span> = []
264
- 58: <span class="ruby-ivar">@seeAlso</span> = []
265
- 59: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
266
- 60: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
267
- 61: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
268
- 62: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
269
- 63: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
270
- 64: <span class="ruby-ivar">@references</span> = []
271
- 65: <span class="ruby-keyword kw">end</span>
274
+ 56: <span class="ruby-ivar">@inheritedFromProject</span>= <span class="ruby-keyword kw">false</span>
275
+ 57: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-keyword kw">false</span>
276
+ 58: <span class="ruby-ivar">@contexts</span> = []
277
+ 59: <span class="ruby-ivar">@seeAlso</span> = []
278
+ 60: <span class="ruby-comment cmt"># The following are references to the neighboring keyword in an</span>
279
+ 61: <span class="ruby-comment cmt"># alphabetically sorted list.</span>
280
+ 62: <span class="ruby-ivar">@predecessor</span> = <span class="ruby-keyword kw">nil</span>
281
+ 63: <span class="ruby-ivar">@successor</span> = <span class="ruby-keyword kw">nil</span>
282
+ 64: <span class="ruby-comment cmt"># Array to collect all references to other RichText objects.</span>
283
+ 65: <span class="ruby-ivar">@references</span> = []
284
+ 66: <span class="ruby-keyword kw">end</span>
272
285
  </pre>
273
286
  </div>
274
287
 
@@ -279,12 +292,12 @@ TextParser::Patterns that are optional attributes to this keyword.
279
292
  <h3 class="section-bar">Public Instance methods</h3>
280
293
 
281
294
 
282
- <div id="method-M000424" class="method-detail">
283
- <a name="M000424"></a>
295
+ <div id="method-M000690" class="method-detail">
296
+ <a name="M000690"></a>
284
297
 
285
298
  <div class="method-heading">
286
299
 
287
- <a href="#M000424" class="method-signature">
300
+ <a href="#M000690" class="method-signature">
288
301
 
289
302
  <span class="method-name">computeInheritance</span><span class="method-args">(keywords, rules)</span>
290
303
 
@@ -295,35 +308,40 @@ TextParser::Patterns that are optional attributes to this keyword.
295
308
  <div class="method-description">
296
309
 
297
310
  <p><a class="source-toggle" href="#"
298
- onclick="toggleCode('M000424-source');return false;">[Source]</a></p>
299
- <div class="method-source-code" id="M000424-source">
311
+ onclick="toggleCode('M000690-source');return false;">[Source]</a></p>
312
+ <div class="method-source-code" id="M000690-source">
300
313
  <pre>
301
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 104</span>
302
- 104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeInheritance</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
303
- 105: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
304
- 106: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kwd</span><span class="ruby-operator">|</span>
305
- 107: <span class="ruby-keyword kw">if</span> <span class="ruby-node">%w( task resource account shift scenario)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>)
306
- 108: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
307
- 109: <span class="ruby-keyword kw">break</span>
308
- 110: <span class="ruby-keyword kw">end</span>
309
- 111: <span class="ruby-keyword kw">end</span>
310
- 112: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
311
- 113: <span class="ruby-identifier">project</span> = <span class="ruby-constant">Project</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-value str">'dummy'</span>, <span class="ruby-value str">'1.0'</span>, <span class="ruby-keyword kw">nil</span>)
312
- 114: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
313
- 115: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
314
- 116: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
315
- 117: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
316
- 118: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
317
- 119: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
318
- 120: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
319
- 121: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
320
- 122: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
321
- 123: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
322
- 124: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
323
- 125: <span class="ruby-keyword kw">end</span>
324
- 126: <span class="ruby-ivar">@inheritable</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritable?</span>(<span class="ruby-identifier">keyword</span>)
325
- 127: <span class="ruby-keyword kw">end</span>
326
- 128: <span class="ruby-keyword kw">end</span>
314
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 105</span>
315
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">computeInheritance</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
316
+ 106: <span class="ruby-identifier">property</span> = <span class="ruby-keyword kw">nil</span>
317
+ 107: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">kwd</span><span class="ruby-operator">|</span>
318
+ 108: <span class="ruby-keyword kw">if</span> <span class="ruby-node">%w( task resource account report shift scenario)</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>)
319
+ 109: <span class="ruby-identifier">property</span> = <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">keyword</span>
320
+ 110: <span class="ruby-keyword kw">break</span>
321
+ 111: <span class="ruby-keyword kw">end</span>
322
+ 112: <span class="ruby-keyword kw">end</span>
323
+ 113: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">property</span>
324
+ 114: <span class="ruby-identifier">project</span> = <span class="ruby-constant">Project</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'id'</span>, <span class="ruby-value str">'dummy'</span>, <span class="ruby-value str">'1.0'</span>, <span class="ruby-keyword kw">nil</span>)
325
+ 115: <span class="ruby-identifier">propertySet</span> = <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">property</span>
326
+ 116: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'task'</span>
327
+ 117: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">tasks</span>
328
+ 118: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'resource'</span>
329
+ 119: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">resources</span>
330
+ 120: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'account'</span>
331
+ 121: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">accounts</span>
332
+ 122: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'report'</span>
333
+ 123: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">reports</span>
334
+ 124: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'shift'</span>
335
+ 125: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">shifts</span>
336
+ 126: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'scenario'</span>
337
+ 127: <span class="ruby-identifier">project</span>.<span class="ruby-identifier">scenarios</span>
338
+ 128: <span class="ruby-keyword kw">end</span>
339
+ 129: <span class="ruby-identifier">keyword</span> = <span class="ruby-ivar">@keyword</span>
340
+ 130: <span class="ruby-identifier">keyword</span> = <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)[<span class="ruby-value">0</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keyword</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'.'</span>)
341
+ 131: <span class="ruby-ivar">@inheritedFromProject</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromProject?</span>(<span class="ruby-identifier">keyword</span>)
342
+ 132: <span class="ruby-ivar">@inheritedFromParent</span> = <span class="ruby-identifier">propertySet</span>.<span class="ruby-identifier">inheritedFromParent?</span>(<span class="ruby-identifier">keyword</span>)
343
+ 133: <span class="ruby-keyword kw">end</span>
344
+ 134: <span class="ruby-keyword kw">end</span>
327
345
  </pre>
328
346
  </div>
329
347
 
@@ -331,12 +349,12 @@ TextParser::Patterns that are optional attributes to this keyword.
331
349
  </div>
332
350
 
333
351
 
334
- <div id="method-M000423" class="method-detail">
335
- <a name="M000423"></a>
352
+ <div id="method-M000689" class="method-detail">
353
+ <a name="M000689"></a>
336
354
 
337
355
  <div class="method-heading">
338
356
 
339
- <a href="#M000423" class="method-signature">
357
+ <a href="#M000689" class="method-signature">
340
358
 
341
359
  <span class="method-name">crossReference</span><span class="method-args">(keywords, rules)</span>
342
360
 
@@ -352,44 +370,44 @@ href="KeywordDocumentation.html">KeywordDocumentation</a> items.
352
370
  </p>
353
371
 
354
372
  <p><a class="source-toggle" href="#"
355
- onclick="toggleCode('M000423-source');return false;">[Source]</a></p>
356
- <div class="method-source-code" id="M000423-source">
373
+ onclick="toggleCode('M000689-source');return false;">[Source]</a></p>
374
+ <div class="method-source-code" id="M000689-source">
357
375
  <pre>
358
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 69</span>
359
- 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">crossReference</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
360
- 70: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
361
- 71: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
362
- 72: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
363
- 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>)
364
- 74: <span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]
365
- 75: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
366
- 76: <span class="ruby-keyword kw">end</span>
367
- 77: <span class="ruby-keyword kw">end</span>
368
- 78:
369
- 79: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
370
- 80: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
371
- 81: <span class="ruby-ivar">@optAttrPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">scenarioSpecific</span><span class="ruby-operator">|</span>
372
- 82: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
373
- 83:
374
- 84: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]).<span class="ruby-identifier">nil?</span>
375
- 85: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
376
- 86: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Keyword #{keyword} has undocumented optional &quot;</span> <span class="ruby-operator">+</span>
377
- 87: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span>
378
- 88: <span class="ruby-keyword kw">else</span>
379
- 89: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span>
380
- 90: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
381
- 91: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioSpecific</span>
382
- 92: <span class="ruby-keyword kw">end</span>
383
- 93: <span class="ruby-keyword kw">end</span>
384
- 94:
385
- 95: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
386
- 96: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
387
- 97: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>].<span class="ruby-identifier">nil?</span>
388
- 98: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span>
389
- 99: <span class="ruby-keyword kw">end</span>
390
- 100: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>]
391
- 101: <span class="ruby-keyword kw">end</span>
392
- 102: <span class="ruby-keyword kw">end</span>
376
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 70</span>
377
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">crossReference</span>(<span class="ruby-identifier">keywords</span>, <span class="ruby-identifier">rules</span>)
378
+ 71: <span class="ruby-comment cmt"># Some arguments are references to other patterns. The current keyword</span>
379
+ 72: <span class="ruby-comment cmt"># is added as context to such patterns.</span>
380
+ 73: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
381
+ 74: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>)
382
+ 75: <span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]
383
+ 76: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
384
+ 77: <span class="ruby-keyword kw">end</span>
385
+ 78: <span class="ruby-keyword kw">end</span>
386
+ 79:
387
+ 80: <span class="ruby-comment cmt"># Optional attributes are treated similarly. In addition we add them to</span>
388
+ 81: <span class="ruby-comment cmt"># the @optionalAttributes list of this keyword.</span>
389
+ 82: <span class="ruby-ivar">@optAttrPatterns</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pattern</span>, <span class="ruby-identifier">scenarioSpecific</span><span class="ruby-operator">|</span>
390
+ 83: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">checkReference</span>(<span class="ruby-identifier">pattern</span>)
391
+ 84:
392
+ 85: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">kwd</span> = <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">keyword</span>]).<span class="ruby-identifier">nil?</span>
393
+ 86: <span class="ruby-identifier">token</span> = <span class="ruby-identifier">pattern</span>.<span class="ruby-identifier">terminalToken</span>(<span class="ruby-identifier">rules</span>)
394
+ 87: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Keyword #{keyword} has undocumented optional &quot;</span> <span class="ruby-operator">+</span>
395
+ 88: <span class="ruby-node">&quot;attribute #{token[0]}&quot;</span>
396
+ 89: <span class="ruby-keyword kw">else</span>
397
+ 90: <span class="ruby-ivar">@optionalAttributes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">kwd</span>
398
+ 91: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">contexts</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword kw">self</span>)
399
+ 92: <span class="ruby-identifier">kwd</span>.<span class="ruby-identifier">scenarioSpecific</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">scenarioSpecific</span>
400
+ 93: <span class="ruby-keyword kw">end</span>
401
+ 94: <span class="ruby-keyword kw">end</span>
402
+ 95:
403
+ 96: <span class="ruby-comment cmt"># Resolve the seeAlso patterns to keyword references.</span>
404
+ 97: <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">seeAlso</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
405
+ 98: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>].<span class="ruby-identifier">nil?</span>
406
+ 99: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;See also reference #{also} of #{@pattern} is unknown&quot;</span>
407
+ 100: <span class="ruby-keyword kw">end</span>
408
+ 101: <span class="ruby-ivar">@seeAlso</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">keywords</span>[<span class="ruby-identifier">also</span>]
409
+ 102: <span class="ruby-keyword kw">end</span>
410
+ 103: <span class="ruby-keyword kw">end</span>
393
411
  </pre>
394
412
  </div>
395
413
 
@@ -397,12 +415,12 @@ href="KeywordDocumentation.html">KeywordDocumentation</a> items.
397
415
  </div>
398
416
 
399
417
 
400
- <div id="method-M000427" class="method-detail">
401
- <a name="M000427"></a>
418
+ <div id="method-M000693" class="method-detail">
419
+ <a name="M000693"></a>
402
420
 
403
421
  <div class="method-heading">
404
422
 
405
- <a href="#M000427" class="method-signature">
423
+ <a href="#M000693" class="method-signature">
406
424
 
407
425
  <span class="method-name">generateHTML</span><span class="method-args">(directory)</span>
408
426
 
@@ -418,198 +436,204 @@ documentation in an XML formatted form.
418
436
  </p>
419
437
 
420
438
  <p><a class="source-toggle" href="#"
421
- onclick="toggleCode('M000427-source');return false;">[Source]</a></p>
422
- <div class="method-source-code" id="M000427-source">
439
+ onclick="toggleCode('M000693-source');return false;">[Source]</a></p>
440
+ <div class="method-source-code" id="M000693-source">
423
441
  <pre>
424
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 237</span>
425
- 237: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
426
- 238: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:transitional</span>)
427
- 239: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">head</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'head'</span>))
428
- 240: <span class="ruby-identifier">head</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{keyword}&quot;</span>, <span class="ruby-value str">'title'</span>) <span class="ruby-operator">&lt;&lt;</span>
429
- 241: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span>
430
- 242:
431
- 243: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
432
- 244: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span>
433
- 245: <span class="ruby-identifier">generateHTMLNavigationBar</span>
434
- 246:
435
- 247: <span class="ruby-comment cmt"># Box with keyword name.</span>
436
- 248: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
437
- 249: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>))
438
- 250: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
439
- 251: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
440
- 252: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
441
- 253:
442
- 254: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
443
- 255: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
444
- 256: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
445
- 257: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>,
446
- 258: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>)
447
- 259:
448
- 260: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
449
- 261: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
450
- 262: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
451
- 263: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
452
- 264: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>))
453
- 265: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>)
454
- 266: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>)
455
- 267:
456
- 268: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
457
- 269: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
458
- 270: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
459
- 271: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">doc</span>).<span class="ruby-identifier">to_html</span>
460
- 272: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
461
- 273: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
462
- 274: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
463
- 275: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
464
- 276: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>)
442
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 268</span>
443
+ 268: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generateHTML</span>(<span class="ruby-identifier">directory</span>)
444
+ 269: <span class="ruby-identifier">html</span> = <span class="ruby-constant">HTMLDocument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">:transitional</span>)
445
+ 270: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">head</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'head'</span>))
446
+ 271: <span class="ruby-identifier">head</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{keyword}&quot;</span>, <span class="ruby-value str">'title'</span>) <span class="ruby-operator">&lt;&lt;</span>
447
+ 272: <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateStyleSheet</span>
448
+ 273:
449
+ 274: <span class="ruby-identifier">html</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">body</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'body'</span>))
450
+ 275: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLHeader</span> <span class="ruby-operator">&lt;&lt;</span>
451
+ 276: <span class="ruby-identifier">generateHTMLNavigationBar</span>
465
452
  277:
466
- 278: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
467
- 279: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
468
- 280: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
469
- 281: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)
470
- 282: <span class="ruby-keyword kw">else</span>
471
- 283: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
472
- 284: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
473
- 285: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
474
- 286: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
475
- 287: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
476
- 288: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)
477
- 289: <span class="ruby-keyword kw">else</span>
478
- 290: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
479
- 291: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
480
- 292: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">']'</span>
481
- 293: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name} #{typeSpec}&quot;</span>, <span class="ruby-value str">'td'</span>,
482
- 294: <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)
483
- 295: <span class="ruby-keyword kw">end</span>
484
- 296: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>,
485
- 297: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
486
- 298: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
487
- 299: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span>
488
- 300: <span class="ruby-keyword kw">end</span>
489
- 301: <span class="ruby-keyword kw">end</span>
490
- 302: <span class="ruby-keyword kw">end</span>
491
- 303:
492
- 304: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
493
- 305: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
494
- 306: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
495
- 307: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
496
- 308: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>,
497
- 309: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
498
- 310: <span class="ruby-keyword kw">else</span>
499
- 311: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
500
- 312: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
501
- 313: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
502
- 314: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
503
- 315: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
504
- 316: <span class="ruby-keyword kw">else</span>
505
- 317: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
506
- 318: <span class="ruby-keyword kw">end</span>
507
- 319: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>)
508
- 320: <span class="ruby-keyword kw">end</span>
509
- 321: <span class="ruby-keyword kw">end</span>
510
- 322:
511
- 323: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
512
- 324: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
513
- 325: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
514
- 326: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
515
- 327: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
516
- 328: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
517
- 329: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
518
- 330: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
519
- 331: <span class="ruby-keyword kw">else</span>
520
- 332: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
521
- 333: <span class="ruby-keyword kw">end</span>
522
- 334: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>)
523
- 335: <span class="ruby-keyword kw">end</span>
524
- 336: <span class="ruby-keyword kw">end</span>
525
- 337:
526
- 338: <span class="ruby-comment cmt"># Box with attributes.</span>
527
- 339: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
528
- 340: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
529
- 341: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
530
- 342: <span class="ruby-keyword kw">end</span>
531
- 343: <span class="ruby-identifier">hasScenSpec</span> = <span class="ruby-identifier">hasInheritable</span> = <span class="ruby-keyword kw">false</span>
532
- 344: <span class="ruby-identifier">none</span> = []
533
- 345: <span class="ruby-identifier">scenSpec</span> = []
534
- 346: <span class="ruby-identifier">inheritable</span> = []
535
- 347: <span class="ruby-identifier">scenSpecInheritable</span> = []
536
- 348: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
537
- 349: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritable</span>
538
- 350: <span class="ruby-identifier">hasInheritable</span> = <span class="ruby-keyword kw">true</span>
539
- 351: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
540
- 352: <span class="ruby-identifier">hasScenSpec</span> = <span class="ruby-keyword kw">true</span>
541
- 353: <span class="ruby-identifier">scenSpecInheritable</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">attr</span>
542
- 354: <span class="ruby-keyword kw">else</span>
543
- 355: <span class="ruby-identifier">inheritable</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">attr</span>
544
- 356: <span class="ruby-keyword kw">end</span>
545
- 357: <span class="ruby-keyword kw">else</span>
546
- 358: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
547
- 359: <span class="ruby-identifier">hasScenSpec</span> = <span class="ruby-keyword kw">true</span>
548
- 360: <span class="ruby-identifier">scenSpec</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">attr</span>
549
- 361: <span class="ruby-keyword kw">else</span>
550
- 362: <span class="ruby-identifier">none</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">attr</span>
551
- 363: <span class="ruby-keyword kw">end</span>
552
- 364: <span class="ruby-keyword kw">end</span>
553
- 365: <span class="ruby-keyword kw">end</span>
554
- 366: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
555
- 367: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
556
- 368: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
557
- 369: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
558
- 370: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
559
- 371: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
560
- 372: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hasScenSpec</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">hasInheritable</span>
561
- 373: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scenario specific'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
562
- 374: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:42%'</span>)
563
- 375: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Not scenario specific'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
564
- 376: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:43%'</span>)
565
- 377: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
566
- 378: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inheritable'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
567
- 379: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
568
- 380: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">scenSpecInheritable</span>, <span class="ruby-value">42</span>)
569
- 381: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">inheritable</span>, <span class="ruby-value">43</span>)
570
- 382: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
571
- 383: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Not inheritable'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
572
- 384: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
573
- 385: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">scenSpec</span>, <span class="ruby-value">42</span>)
574
- 386: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">listHTMLAttributes</span>(<span class="ruby-identifier">none</span>, <span class="ruby-value">43</span>)
575
- 387: <span class="ruby-keyword kw">else</span>
576
- 388: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
577
- 389: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
578
- 390: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
579
- 391: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
580
- 392: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
581
- 393: <span class="ruby-keyword kw">else</span>
582
- 394: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
583
- 395: <span class="ruby-keyword kw">end</span>
584
- 396: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'[sc:]'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
585
- 397: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
586
- 398: <span class="ruby-keyword kw">end</span>
587
- 399: <span class="ruby-keyword kw">end</span>
588
- 400: <span class="ruby-keyword kw">end</span>
589
- 401:
590
- 402: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
591
- 403: <span class="ruby-identifier">exampleDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'test'</span>)[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;TestSuite/Syntax/Correct/&quot;</span>
592
- 404: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
593
- 405: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span>
594
- 406: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
595
- 407: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>))
596
- 408: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>))
597
- 409: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">text</span> = <span class="ruby-identifier">example</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleTag</span>))
598
- 410: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;There is no tag '#{@pattern.exampleTag}' in file &quot;</span> <span class="ruby-operator">+</span>
599
- 411: <span class="ruby-node">&quot;#{fileName}.&quot;</span>
600
- 412: <span class="ruby-keyword kw">end</span>
601
- 413: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
602
- 414: <span class="ruby-keyword kw">end</span>
603
- 415:
604
- 416: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
605
- 417: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
606
- 418:
607
- 419: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
608
- 420: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;#{keyword}.html&quot;</span>)
609
- 421: <span class="ruby-keyword kw">else</span>
610
- 422: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
611
- 423: <span class="ruby-keyword kw">end</span>
612
- 424: <span class="ruby-keyword kw">end</span>
453
+ 278: <span class="ruby-comment cmt"># Box with keyword name.</span>
454
+ 279: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">bbox</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>,
455
+ 280: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-left:5%; margin-right:5%'</span>))
456
+ 281: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
457
+ 282: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
458
+ 283: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
459
+ 284:
460
+ 285: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
461
+ 286: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Keyword'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
462
+ 287: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
463
+ 288: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">title</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>,
464
+ 289: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%; font-weight:bold'</span>)
465
+ 290:
466
+ 291: <span class="ruby-comment cmt"># Box with purpose, syntax, arguments and context.</span>
467
+ 292: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
468
+ 293: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
469
+ 294: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
470
+ 295: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">colgroup</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'colgroup'</span>))
471
+ 296: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'15%'</span>)
472
+ 297: <span class="ruby-identifier">colgroup</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'col'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'85%'</span>)
473
+ 298:
474
+ 299: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
475
+ 300: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Purpose'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
476
+ 301: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
477
+ 302: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">doc</span>).<span class="ruby-identifier">to_html</span>
478
+ 303: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
479
+ 304: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
480
+ 305: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Syntax'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
481
+ 306: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
482
+ 307: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{@syntax}&quot;</span>, <span class="ruby-value str">'code'</span>)
483
+ 308:
484
+ 309: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
485
+ 310: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Arguments'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
486
+ 311: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
487
+ 312: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'none'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>)
488
+ 313: <span class="ruby-keyword kw">else</span>
489
+ 314: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
490
+ 315: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'100%'</span>))
491
+ 316: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
492
+ 317: <span class="ruby-identifier">tab1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr1</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>))
493
+ 318: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
494
+ 319: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name}&quot;</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>)
495
+ 320: <span class="ruby-keyword kw">else</span>
496
+ 321: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
497
+ 322: <span class="ruby-identifier">typeName</span> = <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-2</span>]
498
+ 323: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
499
+ 324: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">']'</span>
500
+ 325: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'width'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'30%'</span>))
501
+ 326: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;#{arg.name} [&quot;</span>)
502
+ 327: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(
503
+ 328: <span class="ruby-identifier">typeName</span>, <span class="ruby-value str">'a'</span>, <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Getting_Started.html\##{typeName}&quot;</span>)
504
+ 329: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">']'</span>)
505
+ 330: <span class="ruby-keyword kw">end</span>
506
+ 331: <span class="ruby-identifier">tr1</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>,
507
+ 332: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'margin-top:2px; margin-bottom:2px;'</span>))
508
+ 333: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">newRichText</span>(<span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span>
509
+ 334: <span class="ruby-node">&quot;See [[#{arg.name}]] for details.&quot;</span>).<span class="ruby-identifier">to_html</span>
510
+ 335: <span class="ruby-keyword kw">end</span>
511
+ 336: <span class="ruby-keyword kw">end</span>
512
+ 337: <span class="ruby-keyword kw">end</span>
513
+ 338:
514
+ 339: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
515
+ 340: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Context'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
516
+ 341: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
517
+ 342: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
518
+ 343: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Global scope'</span>, <span class="ruby-value str">'a'</span>,
519
+ 344: <span class="ruby-value str">'href'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'Getting_Started.html#Structure_of_a_TJP_File'</span>)
520
+ 345: <span class="ruby-keyword kw">else</span>
521
+ 346: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
522
+ 347: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
523
+ 348: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
524
+ 349: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
525
+ 350: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
526
+ 351: <span class="ruby-keyword kw">else</span>
527
+ 352: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
528
+ 353: <span class="ruby-keyword kw">end</span>
529
+ 354: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">context</span>)
530
+ 355: <span class="ruby-keyword kw">end</span>
531
+ 356: <span class="ruby-keyword kw">end</span>
532
+ 357:
533
+ 358: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
534
+ 359: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
535
+ 360: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'See also'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>)
536
+ 361: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
537
+ 362: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
538
+ 363: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
539
+ 364: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
540
+ 365: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
541
+ 366: <span class="ruby-keyword kw">else</span>
542
+ 367: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
543
+ 368: <span class="ruby-keyword kw">end</span>
544
+ 369: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">also</span>)
545
+ 370: <span class="ruby-keyword kw">end</span>
546
+ 371: <span class="ruby-keyword kw">end</span>
547
+ 372:
548
+ 373: <span class="ruby-comment cmt"># Box with attributes.</span>
549
+ 374: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
550
+ 375: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
551
+ 376: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
552
+ 377: <span class="ruby-keyword kw">end</span>
553
+ 378:
554
+ 379: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">false</span>
555
+ 380: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
556
+ 381: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span>
557
+ 382: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
558
+ 383: <span class="ruby-identifier">showDetails</span> = <span class="ruby-keyword kw">true</span>
559
+ 384: <span class="ruby-keyword kw">break</span>
560
+ 385: <span class="ruby-keyword kw">end</span>
561
+ 386: <span class="ruby-keyword kw">end</span>
562
+ 387:
563
+ 388: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">p</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'p'</span>))
564
+ 389: <span class="ruby-identifier">p</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tab</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'table'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
565
+ 390: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'table'</span>))
566
+ 391: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
567
+ 392: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showDetails</span>
568
+ 393: <span class="ruby-comment cmt"># Table of all attributes with checkmarks for being scenario</span>
569
+ 394: <span class="ruby-comment cmt"># specific, inherited from parent and inherited from global scope.</span>
570
+ 395: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
571
+ 396: <span class="ruby-value str">'rowspan'</span> =<span class="ruby-operator">&gt;</span>
572
+ 397: <span class="ruby-node">&quot;#{@optionalAttributes.length + 1}&quot;</span>,
573
+ 398: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
574
+ 399: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Name'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
575
+ 400: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:40%'</span>)
576
+ 401: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Scen. spec.'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
577
+ 402: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
578
+ 403: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Global'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
579
+ 404: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
580
+ 405: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Inh. fm. Parent'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
581
+ 406: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
582
+ 407: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
583
+ 408: <span class="ruby-identifier">tab</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">tr</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'tr'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'left'</span>))
584
+ 409: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
585
+ 410: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
586
+ 411: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
587
+ 412: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
588
+ 413: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
589
+ 414: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
590
+ 415: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
591
+ 416: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
592
+ 417: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'align'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'center'</span>,
593
+ 418: <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>))
594
+ 419: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'x'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
595
+ 420: <span class="ruby-keyword kw">end</span>
596
+ 421: <span class="ruby-keyword kw">else</span>
597
+ 422: <span class="ruby-comment cmt"># Comma separated list of all attributes.</span>
598
+ 423: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLNamedText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'Attributes'</span>, <span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'tag'</span>,
599
+ 424: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:15%'</span>)
600
+ 425: <span class="ruby-identifier">tr</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">td</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'td'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'descr'</span>,
601
+ 426: <span class="ruby-value str">'style'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'width:85%'</span>))
602
+ 427: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
603
+ 428: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
604
+ 429: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">first</span>
605
+ 430: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
606
+ 431: <span class="ruby-keyword kw">else</span>
607
+ 432: <span class="ruby-identifier">td</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">', '</span>)
608
+ 433: <span class="ruby-keyword kw">end</span>
609
+ 434: <span class="ruby-identifier">keywordHTMLRef</span>(<span class="ruby-identifier">td</span>, <span class="ruby-identifier">attr</span>)
610
+ 435: <span class="ruby-keyword kw">end</span>
611
+ 436: <span class="ruby-keyword kw">end</span>
612
+ 437: <span class="ruby-keyword kw">end</span>
613
+ 438:
614
+ 439: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleFile</span>
615
+ 440: <span class="ruby-identifier">exampleDir</span> = <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-value str">'test'</span>)[<span class="ruby-value">0</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;TestSuite/Syntax/Correct/&quot;</span>
616
+ 441: <span class="ruby-identifier">example</span> = <span class="ruby-constant">TjpExample</span>.<span class="ruby-identifier">new</span>
617
+ 442: <span class="ruby-identifier">fileName</span> = <span class="ruby-node">&quot;#{exampleDir}/#{@pattern.exampleFile}.tjp&quot;</span>
618
+ 443: <span class="ruby-identifier">example</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">fileName</span>)
619
+ 444: <span class="ruby-identifier">bbox</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">frame</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'div'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'codeframe'</span>))
620
+ 445: <span class="ruby-identifier">frame</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-identifier">pre</span> = <span class="ruby-constant">XMLElement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'pre'</span>, <span class="ruby-value str">'class'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'code'</span>))
621
+ 446: <span class="ruby-keyword kw">unless</span> (<span class="ruby-identifier">text</span> = <span class="ruby-identifier">example</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-ivar">@pattern</span>.<span class="ruby-identifier">exampleTag</span>))
622
+ 447: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;There is no tag '#{@pattern.exampleTag}' in file &quot;</span> <span class="ruby-operator">+</span>
623
+ 448: <span class="ruby-node">&quot;#{fileName}.&quot;</span>
624
+ 449: <span class="ruby-keyword kw">end</span>
625
+ 450: <span class="ruby-identifier">pre</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">XMLText</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">text</span>)
626
+ 451: <span class="ruby-keyword kw">end</span>
627
+ 452:
628
+ 453: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">generateHTMLNavigationBar</span>
629
+ 454: <span class="ruby-identifier">body</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@manual</span>.<span class="ruby-identifier">generateHTMLFooter</span>
630
+ 455:
631
+ 456: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">directory</span>
632
+ 457: <span class="ruby-identifier">html</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">directory</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;#{keyword}.html&quot;</span>)
633
+ 458: <span class="ruby-keyword kw">else</span>
634
+ 459: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">html</span>.<span class="ruby-identifier">to_s</span>
635
+ 460: <span class="ruby-keyword kw">end</span>
636
+ 461: <span class="ruby-keyword kw">end</span>
613
637
  </pre>
614
638
  </div>
615
639
 
@@ -617,12 +641,12 @@ documentation in an XML formatted form.
617
641
  </div>
618
642
 
619
643
 
620
- <div id="method-M000425" class="method-detail">
621
- <a name="M000425"></a>
644
+ <div id="method-M000691" class="method-detail">
645
+ <a name="M000691"></a>
622
646
 
623
647
  <div class="method-heading">
624
648
 
625
- <a href="#M000425" class="method-signature">
649
+ <a href="#M000691" class="method-signature">
626
650
 
627
651
  <span class="method-name">title</span><span class="method-args">()</span>
628
652
 
@@ -639,19 +663,19 @@ is returned as &#8216;foo (bar)&#8217;. &#8216;foo&#8217; will remain
639
663
  </p>
640
664
 
641
665
  <p><a class="source-toggle" href="#"
642
- onclick="toggleCode('M000425-source');return false;">[Source]</a></p>
643
- <div class="method-source-code" id="M000425-source">
666
+ onclick="toggleCode('M000691-source');return false;">[Source]</a></p>
667
+ <div class="method-source-code" id="M000691-source">
644
668
  <pre>
645
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 132</span>
646
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
647
- 133: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
648
- 134: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kwTokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
649
- 135: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
650
- 136: <span class="ruby-keyword kw">else</span>
651
- 137: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span>
652
- 138: <span class="ruby-keyword kw">end</span>
653
- 139: <span class="ruby-identifier">title</span>
654
- 140: <span class="ruby-keyword kw">end</span>
669
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 138</span>
670
+ 138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">title</span>
671
+ 139: <span class="ruby-identifier">kwTokens</span> = <span class="ruby-ivar">@keyword</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'.'</span>)
672
+ 140: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kwTokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
673
+ 141: <span class="ruby-identifier">title</span> = <span class="ruby-ivar">@keyword</span>
674
+ 142: <span class="ruby-keyword kw">else</span>
675
+ 143: <span class="ruby-identifier">title</span> = <span class="ruby-node">&quot;#{kwTokens[0]} (#{kwTokens[1]})&quot;</span>
676
+ 144: <span class="ruby-keyword kw">end</span>
677
+ 145: <span class="ruby-identifier">title</span>
678
+ 146: <span class="ruby-keyword kw">end</span>
655
679
  </pre>
656
680
  </div>
657
681
 
@@ -659,12 +683,12 @@ is returned as &#8216;foo (bar)&#8217;. &#8216;foo&#8217; will remain
659
683
  </div>
660
684
 
661
685
 
662
- <div id="method-M000426" class="method-detail">
663
- <a name="M000426"></a>
686
+ <div id="method-M000692" class="method-detail">
687
+ <a name="M000692"></a>
664
688
 
665
689
  <div class="method-heading">
666
690
 
667
- <a href="#M000426" class="method-signature">
691
+ <a href="#M000692" class="method-signature">
668
692
 
669
693
  <span class="method-name">to_s</span><span class="method-args">()</span>
670
694
 
@@ -679,100 +703,125 @@ Return the complete documentation of this keyword as formatted text string.
679
703
  </p>
680
704
 
681
705
  <p><a class="source-toggle" href="#"
682
- onclick="toggleCode('M000426-source');return false;">[Source]</a></p>
683
- <div class="method-source-code" id="M000426-source">
706
+ onclick="toggleCode('M000692-source');return false;">[Source]</a></p>
707
+ <div class="method-source-code" id="M000692-source">
684
708
  <pre>
685
- <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 144</span>
686
- 144: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
687
- 145: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
688
- 146: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">tagW</span>
689
- 147:
690
- 148: <span class="ruby-comment cmt"># Top line with multiple elements</span>
691
- 149: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span>
692
- 150: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span>
693
- 151: <span class="ruby-node">&quot;Inheritable: #{@inheritable ? 'Yes' : 'No'}\n\n&quot;</span>
694
- 152:
695
- 153: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
696
- 154: textW)}\n\n&quot;</span>
697
- 155:
698
- 156: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
699
- 157: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Syntax: #{format(tagW, @syntax, textW)}\n\n&quot;</span>
709
+ <span class="ruby-comment cmt"># File lib/KeywordDocumentation.rb, line 150</span>
710
+ 150: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
711
+ 151: <span class="ruby-identifier">tagW</span> = <span class="ruby-value">13</span>
712
+ 152: <span class="ruby-identifier">textW</span> = <span class="ruby-value">79</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">tagW</span>
713
+ 153:
714
+ 154: <span class="ruby-comment cmt"># Top line with multiple elements</span>
715
+ 155: <span class="ruby-identifier">str</span> = <span class="ruby-node">&quot;Keyword: #{@keyword} &quot;</span> <span class="ruby-operator">+</span>
716
+ 156: <span class="ruby-node">&quot;Scenario Specific: #{@scenarioSpecific ? 'Yes' : 'No'} &quot;</span> <span class="ruby-operator">+</span>
717
+ 157: <span class="ruby-node">&quot;Inherited: #{@inheritedFromParent ? 'Yes' : 'No'}\n\n&quot;</span>
700
718
  158:
701
- 159: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span>
702
- 160: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
703
- 161: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">&quot;none\n\n&quot;</span>, <span class="ruby-identifier">textW</span>)
704
- 162: <span class="ruby-keyword kw">else</span>
705
- 163: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
706
- 164: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
707
- 165: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See #{arg.name} for details.&quot;</span>
708
- 166: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
709
- 167: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
710
- 168: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name}: &quot;</span> <span class="ruby-operator">+</span>
711
- 169: <span class="ruby-node">&quot;#{format(indent, argText, textW - indent)}\n&quot;</span>
712
- 170: <span class="ruby-keyword kw">else</span>
713
- 171: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
714
- 172: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
715
- 173: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">']'</span>
716
- 174: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">3</span>
717
- 175: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name} #{typeSpec}: &quot;</span> <span class="ruby-operator">+</span>
718
- 176: <span class="ruby-node">&quot;#{format(indent, argText, textW - indent)}\n&quot;</span>
719
- 177: <span class="ruby-keyword kw">end</span>
720
- 178: <span class="ruby-keyword kw">end</span>
721
- 179: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">argStr</span>, <span class="ruby-identifier">textW</span>)
722
- 180: <span class="ruby-keyword kw">end</span>
723
- 181: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
724
- 182: <span class="ruby-keyword kw">end</span>
725
- 183:
726
- 184: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
727
- 185: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
728
- 186: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">'Global scope'</span>, <span class="ruby-identifier">textW</span>)
729
- 187: <span class="ruby-keyword kw">else</span>
730
- 188: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
731
- 189: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
732
- 190: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
733
- 191: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
734
- 192: <span class="ruby-keyword kw">end</span>
735
- 193: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
736
- 194: <span class="ruby-keyword kw">end</span>
737
- 195: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">cxtStr</span>, <span class="ruby-identifier">textW</span>)
738
- 196: <span class="ruby-keyword kw">end</span>
739
- 197:
740
- 198: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span>
741
- 199: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
742
- 200: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span>
743
- 201: <span class="ruby-keyword kw">else</span>
744
- 202: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
745
- 203: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
746
- 204: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
747
- 205: <span class="ruby-keyword kw">end</span>
748
- 206: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
749
- 207: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
750
- 208: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
751
- 209: <span class="ruby-keyword kw">end</span>
752
- 210: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'[sc:]'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
753
- 211: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
754
- 212: <span class="ruby-keyword kw">end</span>
755
- 213: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">attrStr</span>, <span class="ruby-identifier">textW</span>)
756
- 214: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
757
- 215: <span class="ruby-keyword kw">end</span>
758
- 216:
759
- 217: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
760
- 218: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span>
761
- 219: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
762
- 220: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
763
- 221: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
764
- 222: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
765
- 223: <span class="ruby-keyword kw">end</span>
766
- 224: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
767
- 225: <span class="ruby-keyword kw">end</span>
768
- 226: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">alsoStr</span>, <span class="ruby-identifier">textW</span>)
769
- 227: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
770
- 228: <span class="ruby-keyword kw">end</span>
771
- 229:
772
- 230: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span>
773
- 231: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span>
774
- 232: <span class="ruby-identifier">str</span>
775
- 233: <span class="ruby-keyword kw">end</span>
719
+ 159: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Purpose: #{format(tagW, newRichText(@pattern.doc).to_s,
720
+ 160: textW)}\n\n&quot;</span>
721
+ 161:
722
+ 162: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@syntax</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'[{ &lt;attributes&gt; }]'</span>
723
+ 163: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;Syntax: #{format(tagW, @syntax, textW)}\n\n&quot;</span>
724
+ 164:
725
+ 165: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;Arguments: &quot;</span>
726
+ 166: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">empty?</span>
727
+ 167: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">&quot;none\n\n&quot;</span>, <span class="ruby-identifier">textW</span>)
728
+ 168: <span class="ruby-keyword kw">else</span>
729
+ 169: <span class="ruby-identifier">argStr</span> = <span class="ruby-value str">''</span>
730
+ 170: <span class="ruby-ivar">@args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
731
+ 171: <span class="ruby-identifier">argText</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">text</span> <span class="ruby-operator">||</span> <span class="ruby-node">&quot;See #{arg.name} for details.&quot;</span>
732
+ 172: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> (<span class="ruby-value str">'&lt;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'&gt;'</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
733
+ 173: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-value">2</span>
734
+ 174: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name}: &quot;</span> <span class="ruby-operator">+</span>
735
+ 175: <span class="ruby-node">&quot;#{format(indent, argText, textW - indent)}\n&quot;</span>
736
+ 176: <span class="ruby-keyword kw">else</span>
737
+ 177: <span class="ruby-identifier">typeSpec</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">typeSpec</span>
738
+ 178: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">0</span>] = <span class="ruby-value str">'['</span>
739
+ 179: <span class="ruby-identifier">typeSpec</span>[<span class="ruby-value">-1</span>] = <span class="ruby-value str">']'</span>
740
+ 180: <span class="ruby-identifier">indent</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">typeSpec</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">+</span> <span class="ruby-value">3</span>
741
+ 181: <span class="ruby-identifier">argStr</span> <span class="ruby-operator">+=</span> <span class="ruby-node">&quot;#{arg.name} #{typeSpec}: &quot;</span> <span class="ruby-operator">+</span>
742
+ 182: <span class="ruby-node">&quot;#{format(indent, argText, textW - indent)}\n&quot;</span>
743
+ 183: <span class="ruby-keyword kw">end</span>
744
+ 184: <span class="ruby-keyword kw">end</span>
745
+ 185: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">argStr</span>, <span class="ruby-identifier">textW</span>)
746
+ 186: <span class="ruby-keyword kw">end</span>
747
+ 187: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
748
+ 188: <span class="ruby-keyword kw">end</span>
749
+ 189:
750
+ 190: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'Context: '</span>
751
+ 191: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">empty?</span>
752
+ 192: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-value str">'Global scope'</span>, <span class="ruby-identifier">textW</span>)
753
+ 193: <span class="ruby-keyword kw">else</span>
754
+ 194: <span class="ruby-identifier">cxtStr</span> = <span class="ruby-value str">''</span>
755
+ 195: <span class="ruby-ivar">@contexts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">context</span><span class="ruby-operator">|</span>
756
+ 196: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cxtStr</span>.<span class="ruby-identifier">empty?</span>
757
+ 197: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
758
+ 198: <span class="ruby-keyword kw">end</span>
759
+ 199: <span class="ruby-identifier">cxtStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">keyword</span>
760
+ 200: <span class="ruby-keyword kw">end</span>
761
+ 201: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">cxtStr</span>, <span class="ruby-identifier">textW</span>)
762
+ 202: <span class="ruby-keyword kw">end</span>
763
+ 203:
764
+ 204: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\nAttributes: &quot;</span>
765
+ 205: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">empty?</span>
766
+ 206: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;none\n\n&quot;</span>
767
+ 207: <span class="ruby-keyword kw">else</span>
768
+ 208: <span class="ruby-identifier">attrStr</span> = <span class="ruby-value str">''</span>
769
+ 209: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">sort!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span><span class="ruby-operator">|</span>
770
+ 210: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">keyword</span> <span class="ruby-operator">&lt;=&gt;</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">keyword</span>
771
+ 211: <span class="ruby-keyword kw">end</span>
772
+ 212: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">false</span>
773
+ 213: <span class="ruby-ivar">@optionalAttributes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attr</span><span class="ruby-operator">|</span>
774
+ 214: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">attrStr</span>.<span class="ruby-identifier">empty?</span>
775
+ 215: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
776
+ 216: <span class="ruby-keyword kw">end</span>
777
+ 217: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">keyword</span>
778
+ 218: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span> <span class="ruby-operator">||</span>
779
+ 219: <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
780
+ 220: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">true</span>
781
+ 221: <span class="ruby-identifier">showLegend</span> = <span class="ruby-keyword kw">true</span>
782
+ 222: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'['</span>
783
+ 223: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">scenarioSpecific</span>
784
+ 224: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'sc'</span>
785
+ 225: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
786
+ 226: <span class="ruby-keyword kw">end</span>
787
+ 227: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromProject</span>
788
+ 228: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span>
789
+ 229: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ig'</span>
790
+ 230: <span class="ruby-identifier">first</span> = <span class="ruby-keyword kw">false</span>
791
+ 231: <span class="ruby-keyword kw">end</span>
792
+ 232: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">attr</span>.<span class="ruby-identifier">inheritedFromParent</span>
793
+ 233: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">':'</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">first</span>
794
+ 234: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">'ip'</span>
795
+ 235: <span class="ruby-keyword kw">end</span>
796
+ 236: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">']'</span>
797
+ 237: <span class="ruby-keyword kw">end</span>
798
+ 238: <span class="ruby-keyword kw">end</span>
799
+ 239: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">showLegend</span>
800
+ 240: <span class="ruby-identifier">attrStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n\n[sc] : Attribute is scenario specific&quot;</span> <span class="ruby-operator">+</span>
801
+ 241: <span class="ruby-value str">&quot;\n[ig] : Attribute is inherited from global attribute&quot;</span> <span class="ruby-operator">+</span>
802
+ 242: <span class="ruby-value str">&quot;\n[ip] : Attribute is inherited from parent property&quot;</span>
803
+ 243: <span class="ruby-keyword kw">end</span>
804
+ 244: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">attrStr</span>, <span class="ruby-identifier">textW</span>)
805
+ 245: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
806
+ 246: <span class="ruby-keyword kw">end</span>
807
+ 247:
808
+ 248: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">empty?</span>
809
+ 249: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;See also: &quot;</span>
810
+ 250: <span class="ruby-identifier">alsoStr</span> = <span class="ruby-value str">''</span>
811
+ 251: <span class="ruby-ivar">@seeAlso</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">also</span><span class="ruby-operator">|</span>
812
+ 252: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">alsoStr</span>.<span class="ruby-identifier">empty?</span>
813
+ 253: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">', '</span>
814
+ 254: <span class="ruby-keyword kw">end</span>
815
+ 255: <span class="ruby-identifier">alsoStr</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">also</span>.<span class="ruby-identifier">keyword</span>
816
+ 256: <span class="ruby-keyword kw">end</span>
817
+ 257: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">format</span>(<span class="ruby-identifier">tagW</span>, <span class="ruby-identifier">alsoStr</span>, <span class="ruby-identifier">textW</span>)
818
+ 258: <span class="ruby-identifier">str</span> <span class="ruby-operator">+=</span> <span class="ruby-value str">&quot;\n&quot;</span>
819
+ 259: <span class="ruby-keyword kw">end</span>
820
+ 260:
821
+ 261: <span class="ruby-comment cmt"># str += &quot;Rule: #{@rule.name}\n&quot; if @rule</span>
822
+ 262: <span class="ruby-comment cmt"># str += &quot;Pattern: #{@pattern.tokens.join(' ')}\n&quot; if @pattern</span>
823
+ 263: <span class="ruby-identifier">str</span>
824
+ 264: <span class="ruby-keyword kw">end</span>
776
825
  </pre>
777
826
  </div>
778
827