@xpack/doxygen2docusaurus 1.0.2 → 2.0.0

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 (267) hide show
  1. package/README.md +3 -4
  2. package/dist/cli/main.d.ts +6 -0
  3. package/dist/cli/main.d.ts.map +1 -1
  4. package/dist/cli/main.js +29 -2
  5. package/dist/cli/main.js.map +1 -1
  6. package/dist/docusaurus/cli-options.d.ts +268 -39
  7. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  8. package/dist/docusaurus/cli-options.js +267 -53
  9. package/dist/docusaurus/cli-options.js.map +1 -1
  10. package/dist/docusaurus/generator.d.ts +179 -4
  11. package/dist/docusaurus/generator.d.ts.map +1 -1
  12. package/dist/docusaurus/generator.js +215 -45
  13. package/dist/docusaurus/generator.js.map +1 -1
  14. package/dist/docusaurus/renderers/descriptiontype.d.ts +417 -0
  15. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  16. package/dist/docusaurus/renderers/descriptiontype.js +417 -0
  17. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  18. package/dist/docusaurus/renderers/docinternalstype.d.ts +132 -0
  19. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  20. package/dist/docusaurus/renderers/docinternalstype.js +132 -0
  21. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  22. package/dist/docusaurus/renderers/doclisttype.d.ts +22 -0
  23. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  24. package/dist/docusaurus/renderers/doclisttype.js +22 -2
  25. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  26. package/dist/docusaurus/renderers/doctabletype.d.ts +88 -0
  27. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  28. package/dist/docusaurus/renderers/doctabletype.js +88 -0
  29. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  30. package/dist/docusaurus/renderers/doctitletype.d.ts +22 -0
  31. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  32. package/dist/docusaurus/renderers/doctitletype.js +22 -0
  33. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  34. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +44 -0
  35. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  36. package/dist/docusaurus/renderers/docvariablelisttype.js +44 -0
  37. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  38. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +22 -0
  39. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  40. package/dist/docusaurus/renderers/docxrefsecttype.js +22 -0
  41. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  42. package/dist/docusaurus/renderers/element-renderer-base.d.ts +74 -0
  43. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  44. package/dist/docusaurus/renderers/element-renderer-base.js +52 -0
  45. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  46. package/dist/docusaurus/renderers/inctype.d.ts +23 -0
  47. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  48. package/dist/docusaurus/renderers/inctype.js +23 -0
  49. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  50. package/dist/docusaurus/renderers/linkedtexttype.d.ts +22 -0
  51. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  52. package/dist/docusaurus/renderers/linkedtexttype.js +22 -0
  53. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  54. package/dist/docusaurus/renderers/listingtype.d.ts +52 -0
  55. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  56. package/dist/docusaurus/renderers/listingtype.js +66 -2
  57. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  58. package/dist/docusaurus/renderers/paramtype.d.ts +22 -0
  59. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  60. package/dist/docusaurus/renderers/paramtype.js +22 -0
  61. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  62. package/dist/docusaurus/renderers/referencetype.d.ts +23 -0
  63. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  64. package/dist/docusaurus/renderers/referencetype.js +23 -2
  65. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  66. package/dist/docusaurus/renderers/reftexttype.d.ts +22 -0
  67. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  68. package/dist/docusaurus/renderers/reftexttype.js +22 -0
  69. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  70. package/dist/docusaurus/renderers/reftype.d.ts +22 -0
  71. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  72. package/dist/docusaurus/renderers/reftype.js +22 -0
  73. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  74. package/dist/docusaurus/renderers/renderers.d.ts +151 -0
  75. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  76. package/dist/docusaurus/renderers/renderers.js +151 -0
  77. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  78. package/dist/docusaurus/renderers/substringtype.d.ts +22 -0
  79. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  80. package/dist/docusaurus/renderers/substringtype.js +22 -0
  81. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  82. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +22 -0
  83. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  84. package/dist/docusaurus/renderers/tableofcontentstype.js +22 -0
  85. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  86. package/dist/docusaurus/types.d.ts +114 -8
  87. package/dist/docusaurus/types.d.ts.map +1 -1
  88. package/dist/docusaurus/types.js.map +1 -1
  89. package/dist/docusaurus/utils.d.ts +214 -0
  90. package/dist/docusaurus/utils.d.ts.map +1 -1
  91. package/dist/docusaurus/utils.js +214 -0
  92. package/dist/docusaurus/utils.js.map +1 -1
  93. package/dist/docusaurus/view-model/classes-vm.d.ts +139 -2
  94. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  95. package/dist/docusaurus/view-model/classes-vm.js +147 -6
  96. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  97. package/dist/docusaurus/view-model/collection-base.d.ts +122 -2
  98. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  99. package/dist/docusaurus/view-model/collection-base.js +78 -0
  100. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  101. package/dist/docusaurus/view-model/compound-base-vm.d.ts +134 -19
  102. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  103. package/dist/docusaurus/view-model/compound-base-vm.js +122 -26
  104. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  105. package/dist/docusaurus/view-model/description-anchors.d.ts +58 -0
  106. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  107. package/dist/docusaurus/view-model/description-anchors.js +58 -0
  108. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  109. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +249 -2
  110. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  111. package/dist/docusaurus/view-model/files-and-folders-vm.js +250 -4
  112. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  113. package/dist/docusaurus/view-model/groups-vm.d.ts +150 -2
  114. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  115. package/dist/docusaurus/view-model/groups-vm.js +153 -5
  116. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  117. package/dist/docusaurus/view-model/members-vm.d.ts +552 -0
  118. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  119. package/dist/docusaurus/view-model/members-vm.js +552 -4
  120. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  121. package/dist/docusaurus/view-model/namespaces-vm.d.ts +201 -2
  122. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  123. package/dist/docusaurus/view-model/namespaces-vm.js +202 -4
  124. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  125. package/dist/docusaurus/view-model/options.d.ts +43 -0
  126. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  127. package/dist/docusaurus/view-model/options.js +43 -0
  128. package/dist/docusaurus/view-model/options.js.map +1 -1
  129. package/dist/docusaurus/view-model/pages-vm.d.ts +117 -2
  130. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  131. package/dist/docusaurus/view-model/pages-vm.js +119 -4
  132. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  133. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +135 -15
  134. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  135. package/dist/docusaurus/view-model/tree-entries-vm.js +136 -16
  136. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  137. package/dist/docusaurus/view-model/view-model.d.ts +119 -0
  138. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  139. package/dist/docusaurus/view-model/view-model.js +119 -0
  140. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  141. package/dist/docusaurus/workspace.d.ts +106 -0
  142. package/dist/docusaurus/workspace.d.ts.map +1 -1
  143. package/dist/docusaurus/workspace.js +107 -1
  144. package/dist/docusaurus/workspace.js.map +1 -1
  145. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +485 -0
  146. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  147. package/dist/doxygen/data-model/compounds/compounddef-dm.js +485 -0
  148. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  149. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +120 -0
  150. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  151. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +98 -0
  152. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  153. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +2705 -0
  154. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  155. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +2677 -47
  156. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  157. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +165 -0
  158. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  159. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +165 -0
  160. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  161. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +70 -0
  162. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  163. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +70 -0
  164. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  165. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +78 -0
  166. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  167. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +78 -0
  168. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  169. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +107 -0
  170. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  171. package/dist/doxygen/data-model/compounds/inctype-dm.js +107 -0
  172. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  173. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +123 -0
  174. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  175. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +123 -0
  176. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  177. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +70 -0
  178. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  179. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +70 -1
  180. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  181. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +156 -0
  182. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  183. package/dist/doxygen/data-model/compounds/locationtype-dm.js +156 -5
  184. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  185. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +433 -0
  186. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  187. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +417 -6
  188. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  189. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +135 -0
  190. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  191. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +136 -4
  192. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  193. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +95 -0
  194. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  195. package/dist/doxygen/data-model/compounds/membertype-dm.js +76 -4
  196. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  197. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +158 -0
  198. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  199. package/dist/doxygen/data-model/compounds/paramtype-dm.js +158 -1
  200. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  201. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +130 -0
  202. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  203. package/dist/doxygen/data-model/compounds/referencetype-dm.js +130 -2
  204. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  205. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +120 -0
  206. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  207. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +106 -3
  208. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  209. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +247 -0
  210. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  211. package/dist/doxygen/data-model/compounds/reftype-dm.js +247 -3
  212. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  213. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +99 -0
  214. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  215. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +99 -2
  216. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  217. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +159 -0
  218. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  219. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +159 -3
  220. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  221. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +255 -0
  222. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  223. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +255 -6
  224. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  225. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +60 -0
  226. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  227. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +60 -1
  228. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  229. package/dist/doxygen/data-model/data-model.d.ts +86 -2
  230. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  231. package/dist/doxygen/data-model/data-model.js +86 -4
  232. package/dist/doxygen/data-model/data-model.js.map +1 -1
  233. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +109 -0
  234. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  235. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +84 -2
  236. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  237. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +81 -0
  238. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  239. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +81 -3
  240. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  241. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +24 -7
  242. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  243. package/dist/doxygen/data-model/doxygen-xml-parser.js +24 -22
  244. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  245. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +92 -0
  246. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  247. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +79 -2
  248. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  249. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +76 -0
  250. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  251. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +76 -3
  252. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  253. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +79 -0
  254. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  255. package/dist/doxygen/data-model/index/indexmembertype-dm.js +66 -2
  256. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  257. package/dist/doxygen/data-model/types.d.ts +96 -1
  258. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  259. package/dist/doxygen/data-model/types.js +37 -0
  260. package/dist/doxygen/data-model/types.js.map +1 -1
  261. package/dist/doxygen2docusaurus.d.ts +4774 -0
  262. package/dist/tsdoc-metadata.json +11 -0
  263. package/package.json +11 -7
  264. /package/{template → templates}/css/custom.css +0 -0
  265. /package/{template → templates}/img/README.md +0 -0
  266. /package/{template → templates}/img/document-svgrepo-com.svg +0 -0
  267. /package/{template → templates}/img/folder-svgrepo-com.svg +0 -0
@@ -18,11 +18,40 @@ import { DocBookOnlyDataModel, HtmlOnlyDataModel } from './compounddef-dm.js';
18
18
  import { TocListDataModel } from './tableofcontentstype-dm.js';
19
19
  import { isUrl } from '../../../docusaurus/utils.js';
20
20
  // ----------------------------------------------------------------------------
21
- // A bit unusual, since string values should be stored as object properties.
22
- // However, for consistency reasons, for objects like XXXonly perhaps it is
23
- // better to use objects,
21
+ /**
22
+ * Abstract base class for XML elements that contain simple string content.
23
+ *
24
+ * @remarks
25
+ * Whilst it might appear unusual to encapsulate string values within object
26
+ * properties, this approach maintains consistency with format-specific
27
+ * elements (such as XXXonly types) and provides a unified interface for
28
+ * XML content processing throughout the Doxygen data model hierarchy.
29
+ *
30
+ * @public
31
+ */
24
32
  export class AbstractStringType extends AbstractDataModelBase {
33
+ /**
34
+ * The textual content extracted from the XML element.
35
+ *
36
+ * @remarks
37
+ * This property stores the inner text content of XML elements that follow
38
+ * the simple string pattern, providing a standardised mechanism for
39
+ * accessing textual data within the Doxygen XML structure.
40
+ */
25
41
  text = '';
42
+ /**
43
+ * Constructs an AbstractStringType instance from XML element data.
44
+ *
45
+ * @param xml - The Doxygen XML parser instance for processing XML content
46
+ * @param element - The XML element object containing the string data
47
+ * @param elementName - The name of the XML element being processed
48
+ *
49
+ * @remarks
50
+ * This constructor validates that the provided element contains inner text
51
+ * content and extracts it into the text property. The implementation
52
+ * ensures that no attributes are present on simple string elements,
53
+ * maintaining the expected XML schema constraints.
54
+ */
26
55
  constructor(xml, element, elementName) {
27
56
  super(elementName);
28
57
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -47,11 +76,46 @@ export class AbstractStringType extends AbstractDataModelBase {
47
76
  // </xsd:sequence>
48
77
  // </xsd:complexType>
49
78
  /**
79
+ * Abstract base class for Doxygen description elements containing mixed
80
+ * content.
81
+ *
82
+ * @remarks
83
+ * Implements the XML Schema definition for descriptionType elements, which
84
+ * support mixed content (character data between child elements). This class
85
+ * handles the complex structure of documentation descriptions including
86
+ * titles, paragraphs, internal sections, and hierarchical section elements.
87
+ *
88
+ * The implementation processes the sequence of optional title elements
89
+ * followed by various documentation components such as paragraphs, internal
90
+ * documentation, and nested section structures up to level 1.
91
+ *
50
92
  * @public
51
93
  */
52
94
  export class AbstractDescriptionType extends AbstractDataModelBase {
53
- // Optional elements.
95
+ /**
96
+ * Optional title element for the description.
97
+ *
98
+ * @remarks
99
+ * Contains the title text for the description section when present.
100
+ * According to the XML schema, only one title element is permitted
101
+ * per description, hence the assertion that ensures uniqueness during
102
+ * parsing.
103
+ */
54
104
  title; // Only one.
105
+ /**
106
+ * Constructs an AbstractDescriptionType instance from XML element data.
107
+ *
108
+ * @param xml - The Doxygen XML parser instance for processing XML content
109
+ * @param element - The XML element object containing the description data
110
+ * @param elementName - The name of the XML element being processed
111
+ *
112
+ * @remarks
113
+ * This constructor processes mixed content descriptions by iterating through
114
+ * all inner elements and handling text nodes, title elements, paragraphs,
115
+ * internal sections, and level-1 sections. The parser maintains the
116
+ * original order of elements in the children array whilst extracting
117
+ * the title into a separate property for convenient access.
118
+ */
55
119
  constructor(xml, element, elementName) {
56
120
  super(elementName);
57
121
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -97,18 +161,69 @@ export class AbstractDescriptionType extends AbstractDataModelBase {
97
161
  // <xsd:attribute name="filename" type="xsd:string" use="optional"/>
98
162
  // </xsd:complexType>
99
163
  /**
164
+ * Abstract base class providing properties for listing-type XML elements.
165
+ *
166
+ * @remarks
167
+ * Defines the common structure for elements that contain code listings
168
+ * with optional filename attributes. This base class establishes the
169
+ * foundation for both full listing implementations and filtered subsets
170
+ * of code lines.
171
+ *
100
172
  * @public
101
173
  */
102
174
  export class AbstractListingTypeBase extends AbstractDataModelBase {
103
- // Optional elements.
175
+ /**
176
+ * Array of code line elements within the listing.
177
+ *
178
+ * @remarks
179
+ * Contains the individual code lines that comprise the listing content.
180
+ * Each code line may include syntax highlighting information, line
181
+ * numbers, and cross-reference data depending on the source
182
+ * documentation configuration.
183
+ */
104
184
  codelines;
105
- // Optional attributes.
185
+ /**
186
+ * Optional filename attribute for the listing source.
187
+ *
188
+ * @remarks
189
+ * Specifies the original filename of the source code when the listing
190
+ * represents content from a specific file. This attribute assists in
191
+ * providing context and navigation capabilities within the generated
192
+ * documentation.
193
+ */
106
194
  filename;
107
195
  }
108
196
  /**
197
+ * Abstract base class for processing listing-type XML elements with parsing
198
+ * logic.
199
+ *
200
+ * @remarks
201
+ * Extends the base listing properties with comprehensive XML parsing
202
+ * capabilities. This class handles the extraction of code lines and
203
+ * filename attributes from Doxygen XML structures, providing the
204
+ * foundation for program listings and similar code-containing elements.
205
+ *
206
+ * The parser processes codeline elements whilst ignoring textual content
207
+ * that may appear between structured elements, maintaining compatibility
208
+ * with the mixed-content nature of XML listings.
209
+ *
109
210
  * @public
110
211
  */
111
212
  export class AbstractListingType extends AbstractListingTypeBase {
213
+ /**
214
+ * Constructs an AbstractListingType instance from XML element data.
215
+ *
216
+ * @param xml - The Doxygen XML parser instance for processing XML content
217
+ * @param element - The XML element object containing the listing data
218
+ * @param elementName - The name of the XML element being processed
219
+ *
220
+ * @remarks
221
+ * This constructor processes listing elements by extracting codeline
222
+ * children and filename attributes. Text content between elements is
223
+ * deliberately ignored to accommodate the mixed-content model of XML
224
+ * listings, focusing on the structured code line elements that contain
225
+ * the meaningful programming content.
226
+ */
112
227
  constructor(xml, element, elementName) {
113
228
  super(elementName);
114
229
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -149,14 +264,66 @@ export class AbstractListingType extends AbstractListingTypeBase {
149
264
  }
150
265
  // <xsd:element name="programlisting" type="listingType" />
151
266
  /**
267
+ * Data model for programlisting XML elements containing source code.
268
+ *
269
+ * @remarks
270
+ * Represents program listings that contain source code with optional
271
+ * syntax highlighting and line numbering. This implementation processes
272
+ * Doxygen's programlisting elements, which are commonly used to display
273
+ * code examples, function implementations, and other programming content
274
+ * within documentation.
275
+ *
152
276
  * @public
153
277
  */
154
278
  export class ProgramListingDataModel extends AbstractListingType {
279
+ /**
280
+ * Constructs a ProgramListingDataModel from XML element data.
281
+ *
282
+ * @param xml - The Doxygen XML parser instance for processing XML content
283
+ * @param element - The XML element object containing the programlisting data
284
+ *
285
+ * @remarks
286
+ * This constructor delegates to the parent AbstractListingType to handle
287
+ * the standard listing processing whilst specifically identifying the
288
+ * element as a 'programlisting' type for proper XML schema compliance.
289
+ */
155
290
  constructor(xml, element) {
156
291
  super(xml, element, 'programlisting');
157
292
  }
158
293
  }
294
+ /**
295
+ * Filtered data model for member-specific program listing content.
296
+ *
297
+ * @remarks
298
+ * Creates a subset of a program listing containing only the code lines
299
+ * that fall within a specified line number range. This class is particularly
300
+ * useful for displaying member function implementations or specific code
301
+ * sections within larger source files, enabling focused documentation
302
+ * that highlights relevant portions of the codebase.
303
+ *
304
+ * The filtering process preserves all code line attributes including
305
+ * syntax highlighting, cross-references, and line numbering whilst
306
+ * restricting the content to the specified range.
307
+ *
308
+ * @public
309
+ */
159
310
  export class MemberProgramListingDataModel extends AbstractListingTypeBase {
311
+ /**
312
+ * Constructs a filtered program listing for member-specific content.
313
+ *
314
+ * @param programListing - The source program listing to filter
315
+ * @param startLine - The first line number to include (inclusive)
316
+ * @param endLine - The last line number to include (inclusive)
317
+ *
318
+ * @remarks
319
+ * This constructor creates a new listing containing only the code lines
320
+ * that fall within the specified line number range. The filtering process
321
+ * examines each code line's line number attribute and includes only those
322
+ * lines where the number falls between startLine and endLine (inclusive).
323
+ *
324
+ * If no lines fall within the specified range, the codelines property
325
+ * remains undefined, indicating an empty filtered result.
326
+ */
160
327
  constructor(programListing, startLine, endLine) {
161
328
  super(programListing.elementName);
162
329
  assert(startLine <= endLine);
@@ -187,16 +354,83 @@ export class MemberProgramListingDataModel extends AbstractListingTypeBase {
187
354
  // <xsd:attribute name="external" type="DoxBool" />
188
355
  // </xsd:complexType>
189
356
  /**
357
+ * Abstract base class for code line elements with syntax highlighting support.
358
+ *
359
+ * @remarks
360
+ * Implements the XML Schema definition for codelineType elements, which
361
+ * represent individual lines of source code within program listings. Each
362
+ * code line may contain syntax highlighting information, line numbers,
363
+ * cross-references to documentation elements, and external link indicators.
364
+ *
365
+ * All attributes are optional according to the schema, allowing for flexible
366
+ * representation of code content ranging from simple text lines to fully
367
+ * annotated source code with comprehensive metadata.
368
+ *
190
369
  * @public
191
370
  */
192
371
  export class AbstractCodeLineType extends AbstractDataModelBase {
193
- // Optional elements.
372
+ /**
373
+ * Array of syntax highlighting elements within the code line.
374
+ *
375
+ * @remarks
376
+ * Contains highlight elements that provide syntax colouring information
377
+ * for different parts of the code line. Each highlight element specifies
378
+ * a highlight class (such as keyword, comment, or string literal) and
379
+ * the corresponding text content to be styled.
380
+ */
194
381
  highlights;
195
- // Optional attributes.
382
+ /**
383
+ * Optional line number for the code line.
384
+ *
385
+ * @remarks
386
+ * Specifies the line number of this code line within the source file.
387
+ * This attribute enables line-based navigation and referencing within
388
+ * the documentation system.
389
+ */
196
390
  lineno;
391
+ /**
392
+ * Optional reference identifier for cross-linking.
393
+ *
394
+ * @remarks
395
+ * Contains a reference ID that can be used to create hyperlinks to
396
+ * related documentation elements such as function definitions, variable
397
+ * declarations, or other documented entities.
398
+ */
197
399
  refid;
400
+ /**
401
+ * Optional reference kind classification.
402
+ *
403
+ * @remarks
404
+ * Specifies the type of reference represented by the refid attribute,
405
+ * such as compound, member, or other Doxygen reference kinds. This
406
+ * classification assists in determining the appropriate link target
407
+ * and display behaviour.
408
+ */
198
409
  refkind;
410
+ /**
411
+ * Optional flag indicating external reference status.
412
+ *
413
+ * @remarks
414
+ * When true, indicates that the reference points to an external
415
+ * documentation source rather than an element within the current
416
+ * documentation set. This flag influences link generation and
417
+ * navigation behaviour.
418
+ */
199
419
  external;
420
+ /**
421
+ * Constructs an AbstractCodeLineType instance from XML element data.
422
+ *
423
+ * @param xml - The Doxygen XML parser instance for processing XML content
424
+ * @param element - The XML element object containing the code line data
425
+ * @param elementName - The name of the XML element being processed
426
+ *
427
+ * @remarks
428
+ * This constructor processes code line elements by extracting highlight
429
+ * children and optional attributes including line numbers, reference IDs,
430
+ * reference kinds, and external flags. The parser handles empty code
431
+ * lines gracefully whilst ignoring textual content that may appear
432
+ * between structured highlight elements.
433
+ */
200
434
  constructor(xml, element, elementName) {
201
435
  super(elementName);
202
436
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -246,21 +480,74 @@ export class AbstractCodeLineType extends AbstractDataModelBase {
246
480
  }
247
481
  // <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
248
482
  /**
483
+ * Data model for individual code line elements within program listings.
484
+ *
485
+ * @remarks
486
+ * Represents a single line of source code with optional syntax highlighting,
487
+ * line numbering, and cross-reference information. This implementation
488
+ * processes Doxygen's codeline elements, which form the fundamental
489
+ * building blocks of program listings and code examples within the
490
+ * documentation.
491
+ *
249
492
  * @public
250
493
  */
251
494
  export class CodeLineDataModel extends AbstractCodeLineType {
495
+ /**
496
+ * Constructs a CodeLineDataModel from XML element data.
497
+ *
498
+ * @param xml - The Doxygen XML parser instance for processing XML content
499
+ * @param element - The XML element object containing the codeline data
500
+ *
501
+ * @remarks
502
+ * This constructor delegates to the parent AbstractCodeLineType to handle
503
+ * the standard code line processing whilst specifically identifying the
504
+ * element as a 'codeline' type for proper XML schema compliance.
505
+ */
252
506
  constructor(xml, element) {
253
507
  super(xml, element, 'codeline');
254
508
  }
255
509
  }
256
510
  /**
511
+ * Abstract base class for syntax highlighting elements within code listings.
512
+ *
513
+ * @remarks
514
+ * Implements the XML Schema definition for highlightType elements, which
515
+ * provide syntax highlighting information for portions of source code.
516
+ * Each highlight element contains a mandatory class attribute that specifies
517
+ * the type of syntax element (keyword, comment, etc.) and may contain
518
+ * mixed content including text, spacing elements, and cross-references.
519
+ *
520
+ * The implementation supports the full range of Doxygen highlight classes
521
+ * including standard programming language constructs and specialised
522
+ * VHDL categories for hardware description language documentation.
523
+ *
257
524
  * @public
258
525
  */
259
526
  export class AbstractHighlightType extends AbstractDataModelBase {
260
- // Any sequence of them.
261
- // children: Array<string | SpDataModel | RefTextDataModel> = []
262
- // Mandatory attributes.
527
+ /**
528
+ * Mandatory highlight classification attribute.
529
+ *
530
+ * @remarks
531
+ * Specifies the syntax highlighting class for this element, determining
532
+ * how the contained text should be styled in the generated documentation.
533
+ * The value must be one of the predefined DoxHighlightClass enumeration
534
+ * values such as 'keyword', 'comment', or 'stringliteral'.
535
+ */
263
536
  classs = '';
537
+ /**
538
+ * Constructs an AbstractHighlightType instance from XML element data.
539
+ *
540
+ * @param xml - The Doxygen XML parser instance for processing XML content
541
+ * @param element - The XML element object containing the highlight data
542
+ * @param elementName - The name of the XML element being processed
543
+ *
544
+ * @remarks
545
+ * This constructor processes highlight elements by extracting the mandatory
546
+ * class attribute and any mixed content including text nodes, spacing
547
+ * elements, and cross-reference elements. The parser maintains the original
548
+ * order of content elements in the children array to preserve the intended
549
+ * layout and formatting of the highlighted code segment.
550
+ */
264
551
  constructor(xml, element, elementName) {
265
552
  super(elementName);
266
553
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -305,9 +592,29 @@ export class AbstractHighlightType extends AbstractDataModelBase {
305
592
  }
306
593
  // <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
307
594
  /**
595
+ * Data model for syntax highlight elements within code listings.
596
+ *
597
+ * @remarks
598
+ * Represents individual syntax highlighting segments that specify how
599
+ * portions of source code should be styled in the generated documentation.
600
+ * This implementation processes Doxygen's highlight elements, which contain
601
+ * the highlight class information and associated text content for proper
602
+ * syntax colouring.
603
+ *
308
604
  * @public
309
605
  */
310
606
  export class HighlightDataModel extends AbstractHighlightType {
607
+ /**
608
+ * Constructs a HighlightDataModel from XML element data.
609
+ *
610
+ * @param xml - The Doxygen XML parser instance for processing XML content
611
+ * @param element - The XML element object containing the highlight data
612
+ *
613
+ * @remarks
614
+ * This constructor delegates to the parent AbstractHighlightType to handle
615
+ * the standard highlight processing whilst specifically identifying the
616
+ * element as a 'highlight' type for proper XML schema compliance.
617
+ */
311
618
  constructor(xml, element) {
312
619
  super(xml, element, 'highlight');
313
620
  }
@@ -315,10 +622,55 @@ export class HighlightDataModel extends AbstractHighlightType {
315
622
  // <xsd:complexType name="spType" mixed="true"> <-- Character data is allowed to appear between the child elements!
316
623
  // <xsd:attribute name="value" type="xsd:integer" use="optional"/>
317
624
  // </xsd:complexType>
625
+ /**
626
+ * Abstract base class for spacing elements within highlighted code.
627
+ *
628
+ * @remarks
629
+ * Implements the XML Schema definition for spType elements, which represent
630
+ * spacing or whitespace within syntax-highlighted code listings. These
631
+ * elements support mixed content and may include an optional numeric value
632
+ * attribute to specify the amount or type of spacing.
633
+ *
634
+ * Spacing elements are commonly used within highlight elements to preserve
635
+ * proper formatting and indentation of source code whilst maintaining
636
+ * the structured nature of the XML representation.
637
+ *
638
+ * @public
639
+ */
318
640
  export class AbstractSpType extends AbstractDataModelBase {
641
+ /**
642
+ * The textual content of the spacing element.
643
+ *
644
+ * @remarks
645
+ * Contains any text content associated with the spacing element. For
646
+ * simple whitespace elements, this typically contains space characters,
647
+ * tabs, or other whitespace sequences that preserve the original
648
+ * formatting of the source code.
649
+ */
319
650
  text = '';
320
- // Optional attributes.
651
+ /**
652
+ * Optional numeric value attribute for spacing specifications.
653
+ *
654
+ * @remarks
655
+ * Specifies a numeric value that may indicate the amount of spacing,
656
+ * tab stops, or other formatting-related measurements. The interpretation
657
+ * of this value depends on the context and the specific spacing
658
+ * requirements of the documentation generator.
659
+ */
321
660
  value;
661
+ /**
662
+ * Constructs an AbstractSpType instance from XML element data.
663
+ *
664
+ * @param xml - The Doxygen XML parser instance for processing XML content
665
+ * @param element - The XML element object containing the spacing data
666
+ * @param elementName - The name of the XML element being processed
667
+ *
668
+ * @remarks
669
+ * This constructor processes spacing elements by validating that they
670
+ * contain no inner elements (only text content) and extracting any
671
+ * optional value attribute. The implementation ensures proper handling
672
+ * of whitespace preservation within syntax-highlighted code sections.
673
+ */
322
674
  constructor(xml, element, elementName) {
323
675
  super(elementName);
324
676
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -345,7 +697,30 @@ export class AbstractSpType extends AbstractDataModelBase {
345
697
  }
346
698
  }
347
699
  // <xsd:element name="sp" type="spType" />
700
+ /**
701
+ * Data model for spacing elements within syntax-highlighted code.
702
+ *
703
+ * @remarks
704
+ * Represents individual spacing elements that preserve whitespace and
705
+ * formatting within highlighted code segments. This implementation
706
+ * processes Doxygen's sp elements, which maintain proper indentation
707
+ * and spacing in source code listings whilst supporting the structured
708
+ * XML representation of the documentation.
709
+ *
710
+ * @public
711
+ */
348
712
  export class SpDataModel extends AbstractSpType {
713
+ /**
714
+ * Constructs a SpDataModel from XML element data.
715
+ *
716
+ * @param xml - The Doxygen XML parser instance for processing XML content
717
+ * @param element - The XML element object containing the spacing data
718
+ *
719
+ * @remarks
720
+ * This constructor delegates to the parent AbstractSpType to handle
721
+ * the standard spacing processing whilst specifically identifying the
722
+ * element as an 'sp' type for proper XML schema compliance.
723
+ */
349
724
  constructor(xml, element) {
350
725
  super(xml, element, 'sp');
351
726
  }
@@ -362,12 +737,73 @@ export class SpDataModel extends AbstractSpType {
362
737
  // </xsd:sequence>
363
738
  // <xsd:attribute name="id" type="xsd:string" />
364
739
  // </xsd:complexType>
740
+ /**
741
+ * Abstract base class for hierarchical documentation section elements.
742
+ *
743
+ * @remarks
744
+ * Provides the common structure for documentation sections at various
745
+ * levels of the hierarchy. All section types share the ability to have
746
+ * an optional title and an optional ID attribute for cross-referencing
747
+ * and navigation purposes.
748
+ *
749
+ * This base class establishes the foundation for the nested section
750
+ * structure that allows for well-organised documentation with proper
751
+ * hierarchical relationships between content elements.
752
+ *
753
+ * @public
754
+ */
365
755
  export class AbstractDocSectType extends AbstractDataModelBase {
756
+ /**
757
+ * Optional title element for the section.
758
+ *
759
+ * @remarks
760
+ * Contains the title data model for the section when present. Section
761
+ * titles provide descriptive headers that help organise and navigate
762
+ * the documentation content within the hierarchical structure.
763
+ */
366
764
  title;
367
- // Optional attribute.
765
+ /**
766
+ * Optional identifier attribute for cross-referencing.
767
+ *
768
+ * @remarks
769
+ * Specifies a unique identifier for the section that can be used for
770
+ * cross-references, hyperlinks, and navigation within the documentation.
771
+ * This ID enables direct linking to specific sections from other parts
772
+ * of the documentation or external sources.
773
+ */
368
774
  id;
369
775
  }
776
+ /**
777
+ * Abstract base class for first-level documentation section elements.
778
+ *
779
+ * @remarks
780
+ * Implements the XML Schema definition for docSect1Type elements, which
781
+ * represent the first level of hierarchical sections within documentation
782
+ * descriptions. These sections support mixed content and may contain
783
+ * titles, paragraphs, internal documentation sections, and nested
784
+ * second-level sections.
785
+ *
786
+ * First-level sections form the primary organisational structure for
787
+ * complex documentation content, enabling authors to create well-structured
788
+ * and navigable documentation with clear hierarchical relationships.
789
+ *
790
+ * @public
791
+ */
370
792
  export class AbstractDocSect1Type extends AbstractDocSectType {
793
+ /**
794
+ * Constructs an AbstractDocSect1Type instance from XML element data.
795
+ *
796
+ * @param xml - The Doxygen XML parser instance for processing XML content
797
+ * @param element - The XML element object containing the section data
798
+ * @param elementName - The name of the XML element being processed
799
+ *
800
+ * @remarks
801
+ * This constructor processes first-level section elements by extracting
802
+ * title elements, paragraphs, internal sections, and nested second-level
803
+ * sections. The parser maintains the original order of content elements
804
+ * whilst extracting titles and ID attributes for convenient access and
805
+ * cross-referencing capabilities.
806
+ */
371
807
  constructor(xml, element, elementName) {
372
808
  super(elementName);
373
809
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -428,7 +864,38 @@ export class AbstractDocSect1Type extends AbstractDocSectType {
428
864
  // </xsd:sequence>
429
865
  // <xsd:attribute name="id" type="xsd:string" />
430
866
  // </xsd:complexType>
867
+ /**
868
+ * Abstract base class for second-level documentation section elements.
869
+ *
870
+ * @remarks
871
+ * Implements the XML Schema definition for docSect2Type elements, which
872
+ * represent the second level of hierarchical sections within documentation
873
+ * descriptions. These sections support mixed content and may contain
874
+ * titles, paragraphs, internal documentation sections, and nested
875
+ * third-level sections.
876
+ *
877
+ * Second-level sections provide additional organisational depth for
878
+ * complex documentation structures, enabling detailed content organisation
879
+ * within first-level sections whilst maintaining clear hierarchical
880
+ * relationships.
881
+ *
882
+ * @public
883
+ */
431
884
  export class AbstractDocSect2Type extends AbstractDocSectType {
885
+ /**
886
+ * Constructs an AbstractDocSect2Type instance from XML element data.
887
+ *
888
+ * @param xml - The Doxygen XML parser instance for processing XML content
889
+ * @param element - The XML element object containing the section data
890
+ * @param elementName - The name of the XML element being processed
891
+ *
892
+ * @remarks
893
+ * This constructor processes second-level section elements by extracting
894
+ * title elements, paragraphs, internal sections, and nested third-level
895
+ * sections. The implementation maintains content ordering whilst providing
896
+ * structured access to section metadata and hierarchical content
897
+ * organisation.
898
+ */
432
899
  constructor(xml, element, elementName) {
433
900
  super(elementName);
434
901
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -724,9 +1191,38 @@ export class AbstractDocSect6Type extends AbstractDocSectType {
724
1191
  // <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
725
1192
  // </xsd:sequence>
726
1193
  // </xsd:complexType>
1194
+ /**
1195
+ * Abstract base class for internal documentation section elements.
1196
+ *
1197
+ * @remarks
1198
+ * Implements the XML Schema definition for docInternalType elements, which
1199
+ * represent internal documentation sections containing mixed content. These
1200
+ * sections typically contain implementation details, internal notes, or
1201
+ * other content that may be conditionally included in the documentation
1202
+ * output based on configuration settings.
1203
+ *
1204
+ * Internal sections support paragraphs and first-level sections, providing
1205
+ * flexible content organisation for detailed technical information that
1206
+ * may be intended for specific audiences or documentation contexts.
1207
+ *
1208
+ * @public
1209
+ */
727
1210
  export class AbstractDocInternalType extends AbstractDataModelBase {
728
- // Any sequence of them.
729
- // children: Array<string | ParaDataModel | Sect1DataModel> = []
1211
+ /**
1212
+ * Constructs an AbstractDocInternalType instance from XML element data.
1213
+ *
1214
+ * @param xml - The Doxygen XML parser instance for processing XML content
1215
+ * @param element - The XML element object containing the internal section
1216
+ * data
1217
+ * @param elementName - The name of the XML element being processed
1218
+ *
1219
+ * @remarks
1220
+ * This constructor processes internal documentation sections by extracting
1221
+ * paragraphs and first-level sections whilst maintaining the mixed content
1222
+ * structure. The implementation handles text nodes and structured elements
1223
+ * in their original order to preserve the intended layout and flow of
1224
+ * internal documentation content.
1225
+ */
730
1226
  constructor(xml, element, elementName) {
731
1227
  super(elementName);
732
1228
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -994,6 +1490,27 @@ export class AbstractDocInternalS6Type extends AbstractDataModelBase {
994
1490
  // console.log(util.inspect(this, { compact: false, depth: 999 }))
995
1491
  }
996
1492
  }
1493
+ /**
1494
+ * Parser function for processing document title command group elements.
1495
+ *
1496
+ * @param xml - The Doxygen XML parser instance for processing XML content
1497
+ * @param element - The XML element object containing the title command data
1498
+ * @param elementName - The name of the XML element being processed
1499
+ * @returns Array of parsed DocTitleCmdGroup elements
1500
+ *
1501
+ * @remarks
1502
+ * This function processes XML elements that contain title command groups,
1503
+ * parsing various markup elements such as bold text, emphasis, links,
1504
+ * anchors, and special character entities. The parser recognises the
1505
+ * different element types and creates appropriate data model instances
1506
+ * for each command group element.
1507
+ *
1508
+ * The function handles the complex variety of inline markup elements
1509
+ * that can appear within documentation titles, ensuring proper
1510
+ * representation of formatting and cross-reference information.
1511
+ *
1512
+ * @public
1513
+ */
997
1514
  export function parseDocTitleCmdGroup(xml, element, elementName) {
998
1515
  const children = [];
999
1516
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -1837,9 +2354,38 @@ export function parseDocTitleCmdGroup(xml, element, elementName) {
1837
2354
  // <xsd:complexType name="docTitleType" mixed="true"> <-- Character data is allowed to appear between the child elements!
1838
2355
  // <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
1839
2356
  // </xsd:complexType>
2357
+ /**
2358
+ * Base class for document title elements containing mixed content.
2359
+ *
2360
+ * @remarks
2361
+ * Implements the XML Schema definition for docTitleType elements, which
2362
+ * represent document titles containing mixed content including text and
2363
+ * various title command group elements. These titles support rich formatting
2364
+ * and interactive elements whilst maintaining proper structure for
2365
+ * documentation headings and section titles.
2366
+ *
2367
+ * The implementation processes both textual content and structured markup
2368
+ * elements, preserving their original order to maintain the intended
2369
+ * formatting and presentation of title content within the documentation
2370
+ * hierarchy.
2371
+ *
2372
+ * @public
2373
+ */
1840
2374
  export class AbstractDocTitleType extends AbstractDataModelBase {
1841
- // Any sequence of them.
1842
- // children: Array<string | DocTitleCmdGroup> = []
2375
+ /**
2376
+ * Constructs an AbstractDocTitleType instance from XML element data.
2377
+ *
2378
+ * @param xml - The Doxygen XML parser instance for processing XML content
2379
+ * @param element - The XML element object containing the title data
2380
+ * @param elementName - The name of the XML element being processed
2381
+ *
2382
+ * @remarks
2383
+ * This constructor processes title elements by extracting both textual
2384
+ * content and title command group elements. The parser maintains the
2385
+ * original order of content elements whilst delegating structured element
2386
+ * processing to the parseDocTitleCmdGroup function for comprehensive
2387
+ * title markup support.
2388
+ */
1843
2389
  constructor(xml, element, elementName) {
1844
2390
  super(elementName);
1845
2391
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -1864,6 +2410,27 @@ export class AbstractDocTitleType extends AbstractDataModelBase {
1864
2410
  // console.log(util.inspect(this, { compact: false, depth: 999 }))
1865
2411
  }
1866
2412
  }
2413
+ /**
2414
+ * Parser function for processing document command group elements.
2415
+ *
2416
+ * @param xml - The Doxygen XML parser instance for processing XML content
2417
+ * @param element - The XML element object containing the command data
2418
+ * @param elementName - The name of the XML element being processed
2419
+ * @returns Array of parsed DocCmdGroup elements
2420
+ *
2421
+ * @remarks
2422
+ * This function processes XML elements that contain document command groups,
2423
+ * parsing various markup and structural elements such as formatting (bold,
2424
+ * emphasis), interactive elements (links, references), lists, tables,
2425
+ * sections, and special character entities. The parser recognises the
2426
+ * different element types and creates appropriate data model instances.
2427
+ *
2428
+ * The function handles the comprehensive variety of documentation elements
2429
+ * supported by Doxygen, ensuring proper representation of complex document
2430
+ * structures and rich content formatting throughout the documentation system.
2431
+ *
2432
+ * @public
2433
+ */
1867
2434
  function parseDocCmdGroup(xml, element, elementName) {
1868
2435
  const children = [];
1869
2436
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -2768,8 +3335,38 @@ function parseDocCmdGroup(xml, element, elementName) {
2768
3335
  // <xsd:complexType name="docParaType" mixed="true"> <-- Character data is allowed to appear between the child elements!
2769
3336
  // <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
2770
3337
  // </xsd:complexType>
3338
+ /**
3339
+ * Abstract base class for document paragraph elements containing mixed content.
3340
+ *
3341
+ * @remarks
3342
+ * Implements the XML Schema definition for docParaType elements, which
3343
+ * represent paragraphs within documentation containing mixed content including
3344
+ * text and various document command group elements. These paragraphs form
3345
+ * the fundamental content blocks within documentation structures, supporting
3346
+ * rich formatting, cross-references, and embedded elements.
3347
+ *
3348
+ * The implementation processes both textual content and structured markup
3349
+ * elements using the document command group parser, maintaining the original
3350
+ * order of content elements to preserve the intended layout and presentation
3351
+ * of paragraph content.
3352
+ *
3353
+ * @public
3354
+ */
2771
3355
  export class AbstractDocParaType extends AbstractDataModelBase {
2772
- // children: Array<string | DocCmdGroup> = []
3356
+ /**
3357
+ * Constructs an AbstractDocParaType instance from XML element data.
3358
+ *
3359
+ * @param xml - The Doxygen XML parser instance for processing XML content
3360
+ * @param element - The XML element object containing the paragraph data
3361
+ * @param elementName - The name of the XML element being processed
3362
+ *
3363
+ * @remarks
3364
+ * This constructor processes paragraph elements by extracting both textual
3365
+ * content and structured command group elements. The parser delegates
3366
+ * structured element processing to the parseDocCmdGroup function to handle
3367
+ * the full range of document markup elements whilst maintaining the
3368
+ * original content order for proper paragraph presentation.
3369
+ */
2773
3370
  constructor(xml, element, elementName) {
2774
3371
  super(elementName);
2775
3372
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -2797,9 +3394,37 @@ export class AbstractDocParaType extends AbstractDataModelBase {
2797
3394
  // <xsd:complexType name="docMarkupType" mixed="true"> <-- Character data is allowed to appear between the child elements!
2798
3395
  // <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
2799
3396
  // </xsd:complexType>
3397
+ /**
3398
+ * Base class for document markup elements containing mixed content.
3399
+ *
3400
+ * @remarks
3401
+ * Implements the XML Schema definition for docMarkupType elements, which
3402
+ * represent markup containers that support mixed content including text
3403
+ * and various document command group elements. These markup elements form
3404
+ * the foundation for formatted content within documentation such as bold
3405
+ * text, emphasis, and other inline formatting constructs.
3406
+ *
3407
+ * The implementation processes both textual content and structured markup
3408
+ * elements, maintaining their original order to preserve the intended
3409
+ * formatting and presentation of the documentation content.
3410
+ *
3411
+ * @public
3412
+ */
2800
3413
  export class AbstractDocMarkupType extends AbstractDataModelBase {
2801
- // Any sequence of them.
2802
- // children: Array<string | DocCmdGroup> = []
3414
+ /**
3415
+ * Constructs an AbstractDocMarkupType instance from XML element data.
3416
+ *
3417
+ * @param xml - The Doxygen XML parser instance for processing XML content
3418
+ * @param element - The XML element object containing the markup data
3419
+ * @param elementName - The name of the XML element being processed
3420
+ *
3421
+ * @remarks
3422
+ * This constructor processes markup elements by extracting both textual
3423
+ * content and structured command group elements. The parser maintains
3424
+ * the original order of content elements whilst delegating structured
3425
+ * element processing to the parseDocCmdGroup function for comprehensive
3426
+ * markup support.
3427
+ */
2803
3428
  constructor(xml, element, elementName) {
2804
3429
  super(elementName);
2805
3430
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -2824,8 +3449,47 @@ export class AbstractDocMarkupType extends AbstractDataModelBase {
2824
3449
  // console.log(util.inspect(this, { compact: false, depth: 999 }))
2825
3450
  }
2826
3451
  }
3452
+ /**
3453
+ * Specialised markup type for substring-based special character elements.
3454
+ *
3455
+ * @remarks
3456
+ * Extends the base markup functionality to include a substring property
3457
+ * that stores the actual character or character sequence represented by
3458
+ * the markup element. This class is particularly useful for handling
3459
+ * special character entities and symbols that need both structural
3460
+ * representation and their corresponding textual output.
3461
+ *
3462
+ * The substring property enables proper rendering of special characters
3463
+ * whilst maintaining the XML structure and metadata associated with
3464
+ * the markup element.
3465
+ *
3466
+ * @public
3467
+ */
2827
3468
  export class SubstringDocMarkupType extends AbstractDocMarkupType {
3469
+ /**
3470
+ * The character or character sequence represented by this markup element.
3471
+ *
3472
+ * @remarks
3473
+ * Contains the actual textual representation of the special character
3474
+ * or symbol that this markup element represents. This property enables
3475
+ * proper text generation whilst preserving the structured markup
3476
+ * information for documentation processing.
3477
+ */
2828
3478
  substring;
3479
+ /**
3480
+ * Constructs a SubstringDocMarkupType with associated character data.
3481
+ *
3482
+ * @param xml - The Doxygen XML parser instance for processing XML content
3483
+ * @param element - The XML element object containing the markup data
3484
+ * @param elementName - The name of the XML element being processed
3485
+ * @param substring - The character sequence this markup represents
3486
+ *
3487
+ * @remarks
3488
+ * This constructor extends the base markup processing to associate
3489
+ * specific character data with the markup element. This enables
3490
+ * special character entities to maintain both their XML structure
3491
+ * and their intended textual output for proper document generation.
3492
+ */
2829
3493
  constructor(xml, element, elementName, substring) {
2830
3494
  super(xml, element, elementName);
2831
3495
  this.substring = substring;
@@ -4333,10 +4997,50 @@ export class RsquoDocMarkupDataModel extends SubstringDocMarkupType {
4333
4997
  // <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
4334
4998
  // <xsd:attribute name="url" type="xsd:string" />
4335
4999
  // </xsd:complexType>
5000
+ /**
5001
+ * Abstract base class for URL link elements within documentation content.
5002
+ *
5003
+ * @remarks
5004
+ * Represents hyperlink elements that reference external URLs or web resources
5005
+ * within documentation descriptions. This implementation processes Doxygen's
5006
+ * URL link elements, which support mixed content including text and formatting
5007
+ * commands within the link text, providing comprehensive support for rich
5008
+ * hyperlink content.
5009
+ *
5010
+ * URL links contain a mandatory URL attribute and support child elements
5011
+ * for formatted link text, enabling complex link presentations with styling
5012
+ * and embedded markup whilst maintaining proper link functionality.
5013
+ *
5014
+ * @public
5015
+ */
4336
5016
  export class AbstractDocURLLink extends AbstractDataModelBase {
4337
5017
  // children: Array<string | DocTitleCmdGroup> = []
4338
- // Mandatory attributes.
5018
+ /**
5019
+ * Target URL for the hyperlink.
5020
+ *
5021
+ * @remarks
5022
+ * Contains the destination URL that the hyperlink should navigate to.
5023
+ * This can be an absolute URL to external resources or a relative URL
5024
+ * for internal navigation within the documentation structure.
5025
+ */
4339
5026
  url = '';
5027
+ /**
5028
+ * Constructs an AbstractDocURLLink instance from XML element data.
5029
+ *
5030
+ * @param xml - The Doxygen XML parser instance for processing XML content
5031
+ * @param element - The XML element object containing the URL link data
5032
+ * @param elementName - The name of the XML element being processed
5033
+ *
5034
+ * @remarks
5035
+ * This constructor processes URL link elements by extracting the mandatory
5036
+ * URL attribute and processing any mixed content including text and
5037
+ * formatting commands within the link. The implementation ensures that
5038
+ * a valid URL is present and organises child elements for proper link
5039
+ * text rendering.
5040
+ *
5041
+ * The URL attribute is validated to ensure proper link functionality
5042
+ * within the generated documentation output.
5043
+ */
4340
5044
  constructor(xml, element, elementName) {
4341
5045
  super(elementName);
4342
5046
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4372,7 +5076,33 @@ export class AbstractDocURLLink extends AbstractDataModelBase {
4372
5076
  }
4373
5077
  }
4374
5078
  // <xsd:element name="ulink" type="docURLLink" />
5079
+ /**
5080
+ * Data model for URL link elements within documentation content.
5081
+ *
5082
+ * @remarks
5083
+ * Represents hyperlink elements that reference external URLs or web resources
5084
+ * within documentation descriptions. This implementation processes Doxygen's
5085
+ * ulink elements, providing support for external linking with formatted
5086
+ * link text and proper URL handling.
5087
+ *
5088
+ * URL links enable documentation to reference external resources, websites,
5089
+ * specifications, and related materials whilst maintaining proper hyperlink
5090
+ * functionality within the generated documentation output.
5091
+ *
5092
+ * @public
5093
+ */
4375
5094
  export class UlinkDataModel extends AbstractDocURLLink {
5095
+ /**
5096
+ * Constructs a UlinkDataModel from XML element data.
5097
+ *
5098
+ * @param xml - The Doxygen XML parser instance for processing XML content
5099
+ * @param element - The XML element object containing the URL link data
5100
+ *
5101
+ * @remarks
5102
+ * This constructor delegates to the parent AbstractDocURLLink whilst
5103
+ * identifying the element as 'ulink' for proper URL link processing
5104
+ * and hyperlink functionality within documentation generation workflows.
5105
+ */
4376
5106
  constructor(xml, element) {
4377
5107
  super(xml, element, 'ulink');
4378
5108
  }
@@ -4381,10 +5111,49 @@ export class UlinkDataModel extends AbstractDocURLLink {
4381
5111
  // <xsd:complexType name="docAnchorType" mixed="true"> <-- Character data is allowed to appear between the child elements!
4382
5112
  // <xsd:attribute name="id" type="xsd:string" />
4383
5113
  // </xsd:complexType>
5114
+ /**
5115
+ * Abstract base class for anchor elements within documentation content.
5116
+ *
5117
+ * @remarks
5118
+ * Represents anchor elements that provide navigation targets within
5119
+ * documentation descriptions. This implementation processes Doxygen's
5120
+ * anchor elements, which create bookmarks or jump targets that can be
5121
+ * referenced by cross-references and hyperlinks within the documentation.
5122
+ *
5123
+ * Anchor elements contain a mandatory ID attribute that serves as the
5124
+ * target identifier for navigation purposes. Whilst the schema allows
5125
+ * mixed content, anchor elements are typically empty in practice and
5126
+ * serve purely as navigation markers.
5127
+ *
5128
+ * @public
5129
+ */
4384
5130
  export class AbstractDocAnchorType extends AbstractDataModelBase {
4385
5131
  // children: string[] = []
4386
- // Mandatory attributes.
5132
+ /**
5133
+ * Unique identifier for the anchor target.
5134
+ *
5135
+ * @remarks
5136
+ * Contains the unique identifier that serves as the navigation target
5137
+ * for cross-references and hyperlinks. This ID is used to generate
5138
+ * HTML anchor elements and enable deep linking within documentation.
5139
+ */
4387
5140
  id = '';
5141
+ /**
5142
+ * Constructs an AbstractDocAnchorType instance from XML element data.
5143
+ *
5144
+ * @param xml - The Doxygen XML parser instance for processing XML content
5145
+ * @param element - The XML element object containing the anchor data
5146
+ * @param elementName - The name of the XML element being processed
5147
+ *
5148
+ * @remarks
5149
+ * This constructor processes anchor elements by extracting the mandatory
5150
+ * ID attribute whilst handling any unexpected content. Anchor elements
5151
+ * are typically empty but the implementation provides error reporting
5152
+ * for unexpected text content to ensure proper anchor functionality.
5153
+ *
5154
+ * The ID attribute is validated to ensure proper anchor target creation
5155
+ * within the generated documentation output.
5156
+ */
4388
5157
  constructor(xml, element, elementName) {
4389
5158
  super(elementName);
4390
5159
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4424,7 +5193,34 @@ export class AbstractDocAnchorType extends AbstractDataModelBase {
4424
5193
  }
4425
5194
  }
4426
5195
  // <xsd:element name="anchor" type="docAnchorType" />
5196
+ /**
5197
+ * Data model for anchor elements within documentation content.
5198
+ *
5199
+ * @remarks
5200
+ * Represents anchor elements that provide navigation targets within
5201
+ * documentation descriptions. This implementation processes Doxygen's
5202
+ * anchor elements, creating bookmarks or jump targets for cross-references
5203
+ * and deep linking functionality within the documentation structure.
5204
+ *
5205
+ * Anchor elements enable precise navigation within documentation pages,
5206
+ * allowing users to link directly to specific content sections and
5207
+ * providing enhanced usability for complex documentation structures.
5208
+ *
5209
+ * @public
5210
+ */
4427
5211
  export class AnchorDataModel extends AbstractDocAnchorType {
5212
+ /**
5213
+ * Constructs an AnchorDataModel from XML element data.
5214
+ *
5215
+ * @param xml - The Doxygen XML parser instance for processing XML content
5216
+ * @param element - The XML element object containing the anchor data
5217
+ *
5218
+ * @remarks
5219
+ * This constructor delegates to the parent AbstractDocAnchorType whilst
5220
+ * identifying the element as 'anchor' for proper navigation target
5221
+ * creation and cross-reference functionality within documentation
5222
+ * generation workflows.
5223
+ */
4428
5224
  constructor(xml, element) {
4429
5225
  super(xml, element, 'anchor');
4430
5226
  }
@@ -4433,11 +5229,60 @@ export class AnchorDataModel extends AbstractDocAnchorType {
4433
5229
  // <xsd:complexType name="docFormulaType" mixed="true"> <-- Character data is allowed to appear between the child elements!
4434
5230
  // <xsd:attribute name="id" type="xsd:string" />
4435
5231
  // </xsd:complexType>
5232
+ /**
5233
+ * Abstract base class for mathematical formula elements within documentation.
5234
+ *
5235
+ * @remarks
5236
+ * Represents mathematical formula elements that contain LaTeX expressions
5237
+ * or mathematical notation within documentation descriptions. This
5238
+ * implementation processes Doxygen's formula elements, which typically
5239
+ * contain LaTeX code for mathematical expressions and equations.
5240
+ *
5241
+ * Formula elements include both an ID attribute for cross-referencing
5242
+ * and text content containing the mathematical expression. The text
5243
+ * content is usually LaTeX code that can be processed by mathematical
5244
+ * rendering systems in the documentation output.
5245
+ *
5246
+ * @public
5247
+ */
4436
5248
  export class AbstractDocFormulaType extends AbstractDataModelBase {
4437
- // Mandatory elements.
5249
+ /**
5250
+ * Mathematical expression or formula content.
5251
+ *
5252
+ * @remarks
5253
+ * Contains the mathematical expression, typically in LaTeX format,
5254
+ * that represents the formula. This text is processed by mathematical
5255
+ * rendering systems to display properly formatted equations and
5256
+ * expressions within the documentation output.
5257
+ */
4438
5258
  text = ''; // The name of the reference, passed as element text.
4439
- // Mandatory attributes.
5259
+ /**
5260
+ * Unique identifier for the formula element.
5261
+ *
5262
+ * @remarks
5263
+ * Contains the unique identifier for the formula that can be used for
5264
+ * cross-referencing and linking within the documentation. This enables
5265
+ * references to specific mathematical expressions from other parts of
5266
+ * the documentation.
5267
+ */
4440
5268
  id = '';
5269
+ /**
5270
+ * Constructs an AbstractDocFormulaType instance from XML element data.
5271
+ *
5272
+ * @param xml - The Doxygen XML parser instance for processing XML content
5273
+ * @param element - The XML element object containing the formula data
5274
+ * @param elementName - The name of the XML element being processed
5275
+ *
5276
+ * @remarks
5277
+ * This constructor processes formula elements by extracting the text
5278
+ * content containing the mathematical expression and the mandatory ID
5279
+ * attribute for cross-referencing. The implementation validates that
5280
+ * both the formula text and ID are present to ensure proper mathematical
5281
+ * content representation.
5282
+ *
5283
+ * The formula text is typically LaTeX code that requires appropriate
5284
+ * rendering support in the documentation output system.
5285
+ */
4441
5286
  constructor(xml, element, elementName) {
4442
5287
  super(elementName);
4443
5288
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4465,7 +5310,34 @@ export class AbstractDocFormulaType extends AbstractDataModelBase {
4465
5310
  }
4466
5311
  }
4467
5312
  // <xsd:element name="formula" type="docFormulaType" />
5313
+ /**
5314
+ * Data model for mathematical formula elements within documentation content.
5315
+ *
5316
+ * @remarks
5317
+ * Represents mathematical formula elements that contain LaTeX expressions
5318
+ * or mathematical notation within documentation descriptions. This
5319
+ * implementation processes Doxygen's formula elements, providing support
5320
+ * for mathematical content including equations, expressions, and notation
5321
+ * that enhance technical documentation.
5322
+ *
5323
+ * Formula elements enable the inclusion of properly formatted mathematical
5324
+ * content within documentation, supporting complex technical documentation
5325
+ * requirements for mathematical and scientific applications.
5326
+ *
5327
+ * @public
5328
+ */
4468
5329
  export class FormulaDataModel extends AbstractDocFormulaType {
5330
+ /**
5331
+ * Constructs a FormulaDataModel from XML element data.
5332
+ *
5333
+ * @param xml - The Doxygen XML parser instance for processing XML content
5334
+ * @param element - The XML element object containing the formula data
5335
+ *
5336
+ * @remarks
5337
+ * This constructor delegates to the parent AbstractDocFormulaType whilst
5338
+ * identifying the element as 'formula' for proper mathematical content
5339
+ * processing and rendering within documentation generation workflows.
5340
+ */
4469
5341
  constructor(xml, element) {
4470
5342
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
4471
5343
  super(xml, element, 'formula');
@@ -4478,10 +5350,59 @@ export class FormulaDataModel extends AbstractDocFormulaType {
4478
5350
  // <xsd:element name="secondaryie" type="xsd:string" />
4479
5351
  // </xsd:sequence>
4480
5352
  // </xsd:complexType>
5353
+ /**
5354
+ * Abstract base class for index entry elements within documentation.
5355
+ *
5356
+ * @remarks
5357
+ * Represents index entry elements that define entries for documentation
5358
+ * indices and keyword lists. This implementation processes Doxygen's
5359
+ * index entry elements, which consist of primary and secondary index
5360
+ * terms that enable comprehensive documentation indexing and search
5361
+ * functionality.
5362
+ *
5363
+ * Index entries support hierarchical indexing with primary and secondary
5364
+ * terms, allowing for detailed organisation of documentation content
5365
+ * according to topics, concepts, and keywords for enhanced discoverability.
5366
+ *
5367
+ * @public
5368
+ */
4481
5369
  export class AbstractDocIndexEntryType extends AbstractDataModelBase {
4482
- // Mandatory elements.
5370
+ /**
5371
+ * Primary index term or keyword.
5372
+ *
5373
+ * @remarks
5374
+ * Contains the main index term that serves as the primary classification
5375
+ * for the index entry. This term appears as the top-level entry in
5376
+ * generated indices and search systems, providing the primary access
5377
+ * point for content discovery.
5378
+ */
4483
5379
  primaryie = '';
5380
+ /**
5381
+ * Secondary index term or sub-keyword.
5382
+ *
5383
+ * @remarks
5384
+ * Contains the secondary index term that provides additional classification
5385
+ * beneath the primary term. This enables hierarchical index organisation
5386
+ * where related concepts can be grouped under broader categories for
5387
+ * more precise content classification.
5388
+ */
4484
5389
  secondaryie = '';
5390
+ /**
5391
+ * Constructs an AbstractDocIndexEntryType instance from XML element data.
5392
+ *
5393
+ * @param xml - The Doxygen XML parser instance for processing XML content
5394
+ * @param element - The XML element object containing the index entry data
5395
+ * @param elementName - The name of the XML element being processed
5396
+ *
5397
+ * @remarks
5398
+ * This constructor processes index entry elements by extracting the
5399
+ * primary and secondary index terms from the XML content. The
5400
+ * implementation handles both terms as optional to accommodate various
5401
+ * indexing scenarios whilst providing comprehensive index functionality.
5402
+ *
5403
+ * The index terms are used to generate searchable indices and keyword
5404
+ * lists that enhance documentation navigation and content discovery.
5405
+ */
4485
5406
  constructor(xml, element, elementName) {
4486
5407
  super(elementName);
4487
5408
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4515,7 +5436,34 @@ export class AbstractDocIndexEntryType extends AbstractDataModelBase {
4515
5436
  }
4516
5437
  }
4517
5438
  // <xsd:element name="indexentry" type="docIndexEntryType" />
5439
+ /**
5440
+ * Data model for index entry elements within documentation content.
5441
+ *
5442
+ * @remarks
5443
+ * Represents index entry elements that define entries for documentation
5444
+ * indices and keyword lists. This implementation processes Doxygen's
5445
+ * indexentry elements, providing support for hierarchical indexing with
5446
+ * primary and secondary terms that enhance content organisation and
5447
+ * discoverability.
5448
+ *
5449
+ * Index entries enable comprehensive documentation indexing that supports
5450
+ * search functionality and content navigation, helping users locate
5451
+ * specific topics and concepts within large documentation sets.
5452
+ *
5453
+ * @public
5454
+ */
4518
5455
  export class IndexEntryDataModel extends AbstractDocIndexEntryType {
5456
+ /**
5457
+ * Constructs an IndexEntryDataModel from XML element data.
5458
+ *
5459
+ * @param xml - The Doxygen XML parser instance for processing XML content
5460
+ * @param element - The XML element object containing the index entry data
5461
+ *
5462
+ * @remarks
5463
+ * This constructor delegates to the parent AbstractDocIndexEntryType whilst
5464
+ * identifying the element as 'indexentry' for proper index term processing
5465
+ * and search functionality within documentation generation workflows.
5466
+ */
4519
5467
  constructor(xml, element) {
4520
5468
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
4521
5469
  super(xml, element, 'indexentry');
@@ -4539,12 +5487,62 @@ export class IndexEntryDataModel extends AbstractDocIndexEntryType {
4539
5487
  // <xsd:enumeration value="I" />
4540
5488
  // </xsd:restriction>
4541
5489
  // </xsd:simpleType>
5490
+ /**
5491
+ * Abstract base class for documentation list elements within content.
5492
+ *
5493
+ * @remarks
5494
+ * Provides foundational structure for ordered and unordered list elements
5495
+ * that organise content hierarchically within documentation. This abstract
5496
+ * class manages list items and common attributes such as type and starting
5497
+ * values, enabling consistent processing of various list formats including
5498
+ * bullet points, numbered lists, and custom enumeration styles.
5499
+ *
5500
+ * Lists enhance content organisation by enabling clear presentation of
5501
+ * structured information, supporting both simple and complex hierarchical
5502
+ * arrangements that improve documentation readability and user comprehension.
5503
+ *
5504
+ * @public
5505
+ */
4542
5506
  export class AbstractDocListType extends AbstractDataModelBase {
4543
- // Mandatory elements.
5507
+ /**
5508
+ * Array of list items contained within this list element.
5509
+ *
5510
+ * @remarks
5511
+ * Contains all individual list items that constitute the list content,
5512
+ * maintaining order and hierarchy for proper list rendering within
5513
+ * documentation output.
5514
+ */
4544
5515
  listItems = [];
4545
- // Optional attributes.
5516
+ /**
5517
+ * The list type identifier for formatting purposes.
5518
+ *
5519
+ * @remarks
5520
+ * Specifies the list type such as 'bullet', 'number', or custom
5521
+ * enumeration styles that determine the visual presentation of list items
5522
+ * within the rendered documentation.
5523
+ */
4546
5524
  type = '';
5525
+ /**
5526
+ * Optional starting value for ordered lists.
5527
+ *
5528
+ * @remarks
5529
+ * Defines the initial value for numbered lists when custom starting
5530
+ * points are required, allowing documentation to continue numbering from
5531
+ * specific values or restart sequences as needed.
5532
+ */
4547
5533
  start;
5534
+ /**
5535
+ * Constructs an AbstractDocListType from XML element data.
5536
+ *
5537
+ * @param xml - The Doxygen XML parser instance for processing XML content
5538
+ * @param element - The XML element object containing the list data
5539
+ * @param elementName - The XML element name for identification purposes
5540
+ *
5541
+ * @remarks
5542
+ * This constructor processes XML list elements by extracting list items
5543
+ * and attributes that define list behaviour and appearance, enabling
5544
+ * proper list structure within documentation generation workflows.
5545
+ */
4548
5546
  constructor(xml, element, elementName) {
4549
5547
  super(elementName);
4550
5548
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4595,12 +5593,62 @@ export class AbstractDocListType extends AbstractDataModelBase {
4595
5593
  // <xsd:attribute name="override" type="DoxCheck" />
4596
5594
  // <xsd:attribute name="value" type="xsd:integer" use="optional"/>
4597
5595
  // </xsd:complexType>
5596
+ /**
5597
+ * Abstract base class for individual list item elements.
5598
+ *
5599
+ * @remarks
5600
+ * Represents individual items within ordered and unordered lists, providing
5601
+ * structure for list content including paragraphs and optional attributes
5602
+ * that control list item presentation. This abstract class enables flexible
5603
+ * list item processing whilst maintaining consistency across different list
5604
+ * types and documentation contexts.
5605
+ *
5606
+ * List items support complex content including multiple paragraphs and
5607
+ * custom numbering, allowing for rich documentation structures that enhance
5608
+ * content organisation and readability within generated documentation.
5609
+ *
5610
+ * @public
5611
+ */
4598
5612
  export class AbstractDocListItemType extends AbstractDataModelBase {
4599
- // Optional elements.
5613
+ /**
5614
+ * Optional array of paragraph elements within this list item.
5615
+ *
5616
+ * @remarks
5617
+ * Contains paragraph content that constitutes the list item body,
5618
+ * supporting rich content including text, formatting, and nested
5619
+ * elements that enhance list item presentation.
5620
+ */
4600
5621
  paras;
4601
- // Optional attributes.
5622
+ /**
5623
+ * Optional override attribute for list item customisation.
5624
+ *
5625
+ * @remarks
5626
+ * Provides mechanism for overriding default list item presentation or
5627
+ * behaviour, enabling custom formatting or special handling of specific
5628
+ * list items within documentation generation.
5629
+ */
4602
5630
  override;
5631
+ /**
5632
+ * Optional numeric value for ordered list items.
5633
+ *
5634
+ * @remarks
5635
+ * Specifies custom numbering for ordered list items when default
5636
+ * sequential numbering is insufficient, allowing for custom values and
5637
+ * non-sequential list numbering in documentation output.
5638
+ */
4603
5639
  value;
5640
+ /**
5641
+ * Constructs an AbstractDocListItemType from XML element data.
5642
+ *
5643
+ * @param xml - The Doxygen XML parser instance for processing XML content
5644
+ * @param element - The XML element object containing the list item data
5645
+ * @param elementName - The XML element name for identification purposes
5646
+ *
5647
+ * @remarks
5648
+ * This constructor processes XML list item elements by extracting paragraph
5649
+ * content and optional attributes that define list item behaviour and
5650
+ * presentation within documentation generation workflows.
5651
+ */
4604
5652
  constructor(xml, element, elementName) {
4605
5653
  super(elementName);
4606
5654
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4660,13 +5708,55 @@ export class ListItemDataModel extends AbstractDocListItemType {
4660
5708
  // </xsd:sequence>
4661
5709
  // <xsd:attribute name="kind" type="DoxSimpleSectKind" />
4662
5710
  // </xsd:complexType>
5711
+ /**
5712
+ * Abstract base class for simple section elements with typed content.
5713
+ *
5714
+ * @remarks
5715
+ * Implements the XML Schema definition for docSimpleSectType elements, which
5716
+ * represent structured sections with specific semantic types such as 'note',
5717
+ * 'warning', 'see', 'return', 'since', and others. These sections provide
5718
+ * standardised content blocks for common documentation patterns and help
5719
+ * organise information according to its purpose and meaning.
5720
+ *
5721
+ * Simple sections contain an optional title and a sequence of paragraphs,
5722
+ * along with a mandatory kind attribute that specifies the semantic type
5723
+ * of the section content.
5724
+ *
5725
+ * @public
5726
+ */
4663
5727
  export class AbstractDocSimpleSectType extends AbstractDataModelBase {
4664
- // Optional elements.
4665
- title; // Only one.
4666
- // Any sequence of them.
4667
- // children: Array<string | ParaDataModel> = []
4668
- // Mandatory attributes.
5728
+ /**
5729
+ * Optional title for the simple section.
5730
+ *
5731
+ * @remarks
5732
+ * Contains the title text for the simple section when present. Simple
5733
+ * sections may have descriptive titles that provide additional context
5734
+ * beyond the semantic type indicated by the kind attribute.
5735
+ */
5736
+ title;
5737
+ /**
5738
+ * Mandatory kind attribute specifying the section type.
5739
+ *
5740
+ * @remarks
5741
+ * Specifies the semantic type of the simple section such as 'note',
5742
+ * 'warning', 'see', 'return', 'since', 'version', 'author', or other
5743
+ * predefined section types. This attribute determines how the section
5744
+ * content should be interpreted and potentially styled in the output.
5745
+ */
4669
5746
  kind = '';
5747
+ /**
5748
+ * Constructs an AbstractDocSimpleSectType instance from XML element data.
5749
+ *
5750
+ * @param xml - The Doxygen XML parser instance for processing XML content
5751
+ * @param element - The XML element object containing the simple section data
5752
+ * @param elementName - The name of the XML element being processed
5753
+ *
5754
+ * @remarks
5755
+ * This constructor processes simple section elements by extracting the
5756
+ * title, paragraph content, and mandatory kind attribute. The implementation
5757
+ * validates the presence of the kind attribute and organises content
5758
+ * elements whilst maintaining their original order for proper presentation.
5759
+ */
4670
5760
  constructor(xml, element, elementName) {
4671
5761
  super(elementName);
4672
5762
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4731,14 +5821,64 @@ export class AbstractDocSimpleSectType extends AbstractDataModelBase {
4731
5821
  // <xsd:attribute name="kindref" type="DoxRefKind" />
4732
5822
  // <xsd:attribute name="external" type="xsd:string" />
4733
5823
  // </xsd:complexType>
5824
+ /**
5825
+ * Abstract base class for reference text elements with links.
5826
+ *
5827
+ * @remarks
5828
+ * Represents textual references that link to other documentation elements,
5829
+ * providing cross-reference functionality within documentation content.
5830
+ * This abstract class handles mixed content including text and formatting
5831
+ * elements alongside reference attributes that specify the target and type
5832
+ * of the reference link.
5833
+ *
5834
+ * Reference text elements enable navigation between related documentation
5835
+ * sections, supporting both internal references within the documentation
5836
+ * set and external references to other documentation sources or websites.
5837
+ *
5838
+ * @public
5839
+ */
4734
5840
  export class AbstractDocRefTextType extends AbstractDataModelBase {
4735
5841
  // Any sequence of them.
4736
5842
  // children: Array<string | DocTitleCmdGroup> = []
4737
- // Mandatory attributes.
5843
+ /**
5844
+ * Mandatory reference identifier for the linked element.
5845
+ *
5846
+ * @remarks
5847
+ * Specifies the unique identifier of the referenced documentation element,
5848
+ * enabling precise linking to specific functions, classes, or other
5849
+ * documented entities within the documentation set.
5850
+ */
4738
5851
  refid = '';
5852
+ /**
5853
+ * Mandatory reference kind specifying the type of referenced element.
5854
+ *
5855
+ * @remarks
5856
+ * Indicates the type of element being referenced such as 'compound',
5857
+ * 'member', or other entity types, helping the documentation system
5858
+ * resolve and format the reference appropriately.
5859
+ */
4739
5860
  kindref = ''; // DoxRefKind
4740
- // Optional attributes.
5861
+ /**
5862
+ * Optional external reference attribute for external links.
5863
+ *
5864
+ * @remarks
5865
+ * Specifies external documentation sources when the reference points to
5866
+ * elements outside the current documentation set, enabling links to
5867
+ * external APIs, libraries, or documentation websites.
5868
+ */
4741
5869
  external;
5870
+ /**
5871
+ * Constructs an AbstractDocRefTextType from XML element data.
5872
+ *
5873
+ * @param xml - The Doxygen XML parser instance for processing XML content
5874
+ * @param element - The XML element object containing the reference data
5875
+ * @param elementName - The XML element name for identification purposes
5876
+ *
5877
+ * @remarks
5878
+ * This constructor processes reference text elements by extracting mixed
5879
+ * content and reference attributes, enabling proper cross-reference
5880
+ * functionality within documentation generation workflows.
5881
+ */
4742
5882
  constructor(xml, element, elementName) {
4743
5883
  super(elementName);
4744
5884
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4796,14 +5936,80 @@ export class RefDataModel extends AbstractDocRefTextType {
4796
5936
  // <xsd:attribute name="cols" type="xsd:integer" />
4797
5937
  // <xsd:attribute name="width" type="xsd:string" /> // WARNING: optional
4798
5938
  // </xsd:complexType>
5939
+ /**
5940
+ * Abstract base class for table elements within documentation content.
5941
+ *
5942
+ * @remarks
5943
+ * Represents tabular data structures that organise content into rows and
5944
+ * columns, providing structured presentation of information within
5945
+ * documentation. This abstract class manages table structure including
5946
+ * optional captions, table rows, and sizing attributes that control table
5947
+ * appearance and layout within generated documentation.
5948
+ *
5949
+ * Tables support complex content organisation enabling clear presentation
5950
+ * of structured data, comparison information, and technical specifications
5951
+ * that enhance documentation readability and user comprehension.
5952
+ *
5953
+ * @public
5954
+ */
4799
5955
  export class AbstractDocTableType extends AbstractDataModelBase {
5956
+ /**
5957
+ * Optional caption element for the table.
5958
+ *
5959
+ * @remarks
5960
+ * Contains descriptive text that provides context or explanation for the
5961
+ * table content, typically displayed above or below the table in the
5962
+ * rendered documentation output.
5963
+ */
4800
5964
  caption = undefined;
5965
+ /**
5966
+ * Optional array of table rows containing table data.
5967
+ *
5968
+ * @remarks
5969
+ * Contains all row elements that constitute the table content, maintaining
5970
+ * order and structure for proper table rendering within documentation
5971
+ * generation workflows.
5972
+ */
4801
5973
  rows = undefined;
4802
- // Mandatory attributes.
5974
+ /**
5975
+ * Mandatory number of rows in the table.
5976
+ *
5977
+ * @remarks
5978
+ * Specifies the total number of rows that the table should contain,
5979
+ * enabling proper table structure validation and layout calculation
5980
+ * during documentation generation.
5981
+ */
4803
5982
  rowsCount = NaN;
5983
+ /**
5984
+ * Mandatory number of columns in the table.
5985
+ *
5986
+ * @remarks
5987
+ * Specifies the total number of columns that the table should contain,
5988
+ * enabling proper table structure validation and layout calculation
5989
+ * during documentation generation.
5990
+ */
4804
5991
  colsCount = NaN;
4805
- // Optional
5992
+ /**
5993
+ * Optional width specification for the table.
5994
+ *
5995
+ * @remarks
5996
+ * Defines the table width using CSS-style values such as percentages,
5997
+ * pixels, or other units, allowing control over table presentation and
5998
+ * layout within the documentation output.
5999
+ */
4806
6000
  width;
6001
+ /**
6002
+ * Constructs an AbstractDocTableType from XML element data.
6003
+ *
6004
+ * @param xml - The Doxygen XML parser instance for processing XML content
6005
+ * @param element - The XML element object containing the table data
6006
+ * @param elementName - The XML element name for identification purposes
6007
+ *
6008
+ * @remarks
6009
+ * This constructor processes table elements by extracting caption, rows,
6010
+ * and sizing attributes that define table structure and appearance within
6011
+ * documentation generation workflows.
6012
+ */
4807
6013
  constructor(xml, element, elementName) {
4808
6014
  super(elementName);
4809
6015
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4870,9 +6076,44 @@ export class DocTableDataModel extends AbstractDocTableType {
4870
6076
  // <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
4871
6077
  // </xsd:sequence>
4872
6078
  // </xsd:complexType>
6079
+ /**
6080
+ * Abstract base class for table row elements within table structures.
6081
+ *
6082
+ * @remarks
6083
+ * Represents individual rows within table elements, containing a sequence
6084
+ * of entry elements that constitute the row's cell content. This abstract
6085
+ * class provides structure for table row processing whilst maintaining
6086
+ * flexibility for different row types and table configurations within
6087
+ * documentation content.
6088
+ *
6089
+ * Table rows organise content horizontally across table columns, enabling
6090
+ * structured data presentation that supports complex information layouts
6091
+ * and enhances documentation readability through clear data organisation.
6092
+ *
6093
+ * @public
6094
+ */
4873
6095
  export class AbstractDocRowType extends AbstractDataModelBase {
4874
- // Optional elements.
6096
+ /**
6097
+ * Optional array of entry elements constituting the row content.
6098
+ *
6099
+ * @remarks
6100
+ * Contains the individual cell entries that make up this table row,
6101
+ * maintaining order and structure for proper table rendering within
6102
+ * documentation generation workflows.
6103
+ */
4875
6104
  entries;
6105
+ /**
6106
+ * Constructs an AbstractDocRowType from XML element data.
6107
+ *
6108
+ * @param xml - The Doxygen XML parser instance for processing XML content
6109
+ * @param element - The XML element object containing the row data
6110
+ * @param elementName - The XML element name for identification purposes
6111
+ *
6112
+ * @remarks
6113
+ * This constructor processes table row elements by extracting entry
6114
+ * elements that define the row's cell content within documentation
6115
+ * generation workflows.
6116
+ */
4876
6117
  constructor(xml, element, elementName) {
4877
6118
  super(elementName);
4878
6119
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -4922,17 +6163,108 @@ export class DocRowDataModel extends AbstractDocRowType {
4922
6163
  // <xsd:attribute name="class" type="xsd:string" /> // WARNING: optional
4923
6164
  // <xsd:anyAttribute processContents="skip"/>
4924
6165
  // </xsd:complexType>
6166
+ /**
6167
+ * Abstract base class for table entry (cell) elements within table rows.
6168
+ *
6169
+ * @remarks
6170
+ * Represents individual cells within table rows, containing paragraph
6171
+ * content and various attributes that control cell presentation and layout.
6172
+ * This abstract class provides comprehensive support for table cell
6173
+ * functionality including header designation, spanning, alignment, and
6174
+ * styling attributes that enable rich table formatting within documentation.
6175
+ *
6176
+ * Table entries support complex content organisation through paragraph
6177
+ * elements and flexible presentation through layout attributes, enabling
6178
+ * professional table design that enhances documentation clarity and
6179
+ * visual appeal.
6180
+ *
6181
+ * @public
6182
+ */
4925
6183
  export class AbstractDocEntryType extends AbstractDataModelBase {
4926
- // Optional elements.
6184
+ /**
6185
+ * Optional array of paragraph elements within this table entry.
6186
+ *
6187
+ * @remarks
6188
+ * Contains the paragraph content that constitutes the cell content,
6189
+ * supporting rich text formatting and nested elements within table
6190
+ * cells for comprehensive documentation presentation.
6191
+ */
4927
6192
  paras;
4928
- // Mandatory attributes.
6193
+ /**
6194
+ * Boolean flag indicating whether this entry is a table header.
6195
+ *
6196
+ * @remarks
6197
+ * Determines whether this cell should be treated as a header cell,
6198
+ * affecting its visual presentation and semantic meaning within the
6199
+ * table structure for improved accessibility and styling.
6200
+ */
4929
6201
  thead = false;
6202
+ /**
6203
+ * Optional column span value for cell spanning.
6204
+ *
6205
+ * @remarks
6206
+ * Specifies the number of columns this cell should span horizontally,
6207
+ * enabling complex table layouts with merged cells that improve data
6208
+ * organisation and presentation clarity.
6209
+ */
4930
6210
  colspan;
6211
+ /**
6212
+ * Optional row span value for cell spanning.
6213
+ *
6214
+ * @remarks
6215
+ * Specifies the number of rows this cell should span vertically,
6216
+ * enabling complex table layouts with merged cells that improve data
6217
+ * organisation and presentation clarity.
6218
+ */
4931
6219
  rowspan;
6220
+ /**
6221
+ * Optional horizontal alignment specification for cell content.
6222
+ *
6223
+ * @remarks
6224
+ * Controls the horizontal alignment of content within the cell such as
6225
+ * 'left', 'center', 'right', or 'justify', enabling precise content
6226
+ * positioning for improved table presentation.
6227
+ */
4932
6228
  align;
6229
+ /**
6230
+ * Optional vertical alignment specification for cell content.
6231
+ *
6232
+ * @remarks
6233
+ * Controls the vertical alignment of content within the cell such as
6234
+ * 'top', 'middle', or 'bottom', enabling precise content positioning
6235
+ * for improved table presentation.
6236
+ */
4933
6237
  valign;
6238
+ /**
6239
+ * Optional width specification for the table entry.
6240
+ *
6241
+ * @remarks
6242
+ * Defines the cell width using CSS-style values such as percentages,
6243
+ * pixels, or other units, allowing precise control over table column
6244
+ * sizing and layout appearance.
6245
+ */
4934
6246
  width;
6247
+ /**
6248
+ * Optional CSS class specification for styling purposes.
6249
+ *
6250
+ * @remarks
6251
+ * Provides CSS class names for custom styling of table cells, enabling
6252
+ * enhanced visual presentation and consistent styling across
6253
+ * documentation output.
6254
+ */
4935
6255
  classs;
6256
+ /**
6257
+ * Constructs an AbstractDocEntryType from XML element data.
6258
+ *
6259
+ * @param xml - The Doxygen XML parser instance for processing XML content
6260
+ * @param element - The XML element object containing the entry data
6261
+ * @param elementName - The XML element name for identification purposes
6262
+ *
6263
+ * @remarks
6264
+ * This constructor processes table entry elements by extracting paragraph
6265
+ * content and layout attributes that define cell structure and appearance
6266
+ * within documentation generation workflows.
6267
+ */
4936
6268
  constructor(xml, element, elementName) {
4937
6269
  super(elementName);
4938
6270
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5007,11 +6339,47 @@ export class DocEntryDataModel extends AbstractDocEntryType {
5007
6339
  // <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
5008
6340
  // <xsd:attribute name="id" type="xsd:string" />
5009
6341
  // </xsd:complexType>
6342
+ /**
6343
+ * Abstract base class for caption elements within documentation content.
6344
+ *
6345
+ * @remarks
6346
+ * Represents caption elements that provide descriptive text for tables,
6347
+ * figures, images, and other content elements within documentation.
6348
+ * This abstract class handles mixed content including text and formatting
6349
+ * commands alongside an identifier attribute for cross-referencing and
6350
+ * linking purposes.
6351
+ *
6352
+ * Captions enhance content accessibility and understanding by providing
6353
+ * descriptive context for visual and structured elements, supporting
6354
+ * comprehensive documentation that improves user comprehension and
6355
+ * content navigation.
6356
+ *
6357
+ * @public
6358
+ */
5010
6359
  export class AbstractDocCaptionType extends AbstractDataModelBase {
5011
6360
  // Any sequence of them.
5012
6361
  // children: Array<string | DocTitleCmdGroup> = []
5013
- // Mandatory attributes.
6362
+ /**
6363
+ * Mandatory identifier for the caption element.
6364
+ *
6365
+ * @remarks
6366
+ * Specifies the unique identifier for this caption element, enabling
6367
+ * cross-referencing and linking within documentation generation
6368
+ * workflows and supporting proper caption association with content.
6369
+ */
5014
6370
  id = '';
6371
+ /**
6372
+ * Constructs an AbstractDocCaptionType from XML element data.
6373
+ *
6374
+ * @param xml - The Doxygen XML parser instance for processing XML content
6375
+ * @param element - The XML element object containing the caption data
6376
+ * @param elementName - The XML element name for identification purposes
6377
+ *
6378
+ * @remarks
6379
+ * This constructor processes caption elements by extracting mixed content
6380
+ * including text and formatting commands alongside the mandatory identifier
6381
+ * attribute within documentation generation workflows.
6382
+ */
5015
6383
  constructor(xml, element, elementName) {
5016
6384
  super(elementName);
5017
6385
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5130,19 +6498,105 @@ export class HeadingDataModel extends AbstractDocHeadingType {
5130
6498
  // </xsd:restriction>
5131
6499
  // </xsd:simpleType>
5132
6500
  /**
6501
+ * Abstract base class for image elements within documentation content.
6502
+ *
6503
+ * @remarks
6504
+ * Represents image elements that can be embedded within documentation
6505
+ * descriptions and content blocks. This implementation processes Doxygen's
6506
+ * image elements, which support multiple output formats (HTML, LaTeX,
6507
+ * DocBook, RTF, XML) and provide comprehensive image metadata including
6508
+ * dimensions, captions, alternative text, and inline positioning.
6509
+ *
6510
+ * Image elements support mixed content with text and formatting commands,
6511
+ * allowing for rich image descriptions and captions. The class tracks HTML
6512
+ * images specifically for asset copying during documentation generation.
6513
+ *
5133
6514
  * @public
5134
6515
  */
5135
6516
  export class AbstractDocImageType extends AbstractDataModelBase {
5136
6517
  // Any sequence of them.
5137
6518
  // children: Array<string | DocTitleCmdGroup> = []
5138
- // Optional attributes.
6519
+ /**
6520
+ * Output format type for the image.
6521
+ *
6522
+ * @remarks
6523
+ * Specifies the target output format for the image, such as 'html',
6524
+ * 'latex', 'docbook', 'rtf', or 'xml'. This determines how the image
6525
+ * should be processed and rendered in different documentation outputs.
6526
+ */
5139
6527
  type;
6528
+ /**
6529
+ * Name or path of the image file.
6530
+ *
6531
+ * @remarks
6532
+ * Contains the filename or path to the image resource. For HTML images,
6533
+ * this typically references files that need to be copied to the output
6534
+ * folder during documentation generation.
6535
+ */
5140
6536
  name;
6537
+ /**
6538
+ * Width specification for the image.
6539
+ *
6540
+ * @remarks
6541
+ * Specifies the desired width for the image rendering. The format and
6542
+ * units depend on the target output format and may include CSS-style
6543
+ * dimensions or format-specific measurements.
6544
+ */
5141
6545
  width;
6546
+ /**
6547
+ * Height specification for the image.
6548
+ *
6549
+ * @remarks
6550
+ * Specifies the desired height for the image rendering. The format and
6551
+ * units depend on the target output format and may include CSS-style
6552
+ * dimensions or format-specific measurements.
6553
+ */
5142
6554
  height;
6555
+ /**
6556
+ * Alternative text for accessibility and fallback purposes.
6557
+ *
6558
+ * @remarks
6559
+ * Provides descriptive text for the image that can be used by screen
6560
+ * readers and displayed when the image cannot be loaded. This supports
6561
+ * accessibility requirements and fallback presentation.
6562
+ */
5143
6563
  alt;
6564
+ /**
6565
+ * Inline positioning flag for the image.
6566
+ *
6567
+ * @remarks
6568
+ * Determines whether the image should be rendered inline with text
6569
+ * content or as a block-level element. Inline images flow with text
6570
+ * whilst block images create separate content sections.
6571
+ */
5144
6572
  inline;
6573
+ /**
6574
+ * Caption text for the image.
6575
+ *
6576
+ * @remarks
6577
+ * Provides descriptive caption text that accompanies the image display.
6578
+ * Captions typically appear below or adjacent to the image and provide
6579
+ * additional context or explanation for the visual content.
6580
+ */
5145
6581
  caption;
6582
+ /**
6583
+ * Constructs an AbstractDocImageType instance from XML element data.
6584
+ *
6585
+ * @param xml - The Doxygen XML parser instance for processing XML content
6586
+ * @param element - The XML element object containing the image data
6587
+ * @param elementName - The name of the XML element being processed
6588
+ *
6589
+ * @remarks
6590
+ * This constructor processes image elements by extracting all optional
6591
+ * attributes including type, name, dimensions, alternative text, inline
6592
+ * positioning, and caption information. For HTML images with local file
6593
+ * references, the image is registered with the parser for asset tracking
6594
+ * during documentation generation.
6595
+ *
6596
+ * The implementation also processes any mixed content within the image
6597
+ * element, including text and formatting commands that may be part of
6598
+ * the image description or caption.
6599
+ */
5146
6600
  constructor(xml, element, elementName) {
5147
6601
  super(elementName);
5148
6602
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5198,7 +6652,34 @@ export class AbstractDocImageType extends AbstractDataModelBase {
5198
6652
  }
5199
6653
  }
5200
6654
  // <xsd:element name="image" type="docImageType" />
6655
+ /**
6656
+ * Data model for image elements within documentation content.
6657
+ *
6658
+ * @remarks
6659
+ * Represents image elements that embed visual content within documentation
6660
+ * descriptions and content blocks. This implementation processes Doxygen's
6661
+ * image elements, providing support for multiple output formats and
6662
+ * comprehensive image metadata management.
6663
+ *
6664
+ * Images can include formatting content, captions, and metadata attributes
6665
+ * that control their presentation across different documentation outputs.
6666
+ * The class ensures proper asset tracking for HTML images during the
6667
+ * documentation generation process.
6668
+ *
6669
+ * @public
6670
+ */
5201
6671
  export class ImageDataModel extends AbstractDocImageType {
6672
+ /**
6673
+ * Constructs an ImageDataModel from XML element data.
6674
+ *
6675
+ * @param xml - The Doxygen XML parser instance for processing XML content
6676
+ * @param element - The XML element object containing the image data
6677
+ *
6678
+ * @remarks
6679
+ * This constructor delegates to the parent AbstractDocImageType whilst
6680
+ * identifying the element as 'image' for proper image processing and
6681
+ * asset management within documentation generation workflows.
6682
+ */
5202
6683
  constructor(xml, element) {
5203
6684
  super(xml, element, 'image');
5204
6685
  }
@@ -5250,11 +6731,55 @@ export class ImageDataModel extends AbstractDocImageType {
5250
6731
  // </xsd:sequence>
5251
6732
  // <xsd:attribute name="kind" type="DoxParamListKind" />
5252
6733
  // </xsd:complexType>
6734
+ /**
6735
+ * Abstract base class for parameter list elements within documentation.
6736
+ *
6737
+ * @remarks
6738
+ * Represents parameter lists that document function and method parameters,
6739
+ * return values, exceptions, and other parameter-related information.
6740
+ * This abstract class manages collections of parameter items and their
6741
+ * associated metadata, providing structured documentation for function
6742
+ * signatures and parameter descriptions.
6743
+ *
6744
+ * Parameter lists support various parameter documentation types including
6745
+ * input parameters, output parameters, return values, and exceptions,
6746
+ * enabling comprehensive function documentation that enhances API
6747
+ * understanding and usage.
6748
+ *
6749
+ * @public
6750
+ */
5253
6751
  export class AbstractDocParamListType extends AbstractDataModelBase {
5254
- // Optional elements.
6752
+ /**
6753
+ * Optional array of parameter items within this parameter list.
6754
+ *
6755
+ * @remarks
6756
+ * Contains individual parameter item elements that document specific
6757
+ * parameters, return values, or exceptions associated with functions
6758
+ * and methods within the documentation.
6759
+ */
5255
6760
  parameterItems;
5256
- // Mandatory attributes.
6761
+ /**
6762
+ * Mandatory kind attribute specifying the parameter list type.
6763
+ *
6764
+ * @remarks
6765
+ * Specifies the type of parameter list such as 'param', 'retval',
6766
+ * 'exception', 'templateparam', or other parameter documentation
6767
+ * types that determine how the parameter list should be interpreted
6768
+ * and formatted in documentation output.
6769
+ */
5257
6770
  kind = '';
6771
+ /**
6772
+ * Constructs an AbstractDocParamListType from XML element data.
6773
+ *
6774
+ * @param xml - The Doxygen XML parser instance for processing XML content
6775
+ * @param element - The XML element object containing the parameter list data
6776
+ * @param elementName - The XML element name for identification purposes
6777
+ *
6778
+ * @remarks
6779
+ * This constructor processes parameter list elements by extracting
6780
+ * parameter items and the mandatory kind attribute that defines the
6781
+ * parameter list type within documentation generation workflows.
6782
+ */
5258
6783
  constructor(xml, element, elementName) {
5259
6784
  super(elementName);
5260
6785
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5497,12 +7022,62 @@ export class ParameterNameDataModel extends AbstractDocParamName {
5497
7022
  // </xsd:sequence>
5498
7023
  // <xsd:attribute name="id" type="xsd:string" />
5499
7024
  // </xsd:complexType>
7025
+ /**
7026
+ * Abstract base class for cross-reference section elements.
7027
+ *
7028
+ * @remarks
7029
+ * Represents cross-reference sections that provide links and references to
7030
+ * related documentation elements, enabling navigation between connected
7031
+ * content areas. This abstract class manages cross-reference sections
7032
+ * including optional titles and mandatory descriptions that provide context
7033
+ * and detail for the referenced content.
7034
+ *
7035
+ * Cross-reference sections enhance documentation usability by establishing
7036
+ * clear relationships between related topics, supporting comprehensive
7037
+ * navigation and content discovery within large documentation sets.
7038
+ *
7039
+ * @public
7040
+ */
5500
7041
  export class AbstractDocXRefSectType extends AbstractDataModelBase {
5501
- // Mandatory elements.
7042
+ /**
7043
+ * Optional title for the cross-reference section.
7044
+ *
7045
+ * @remarks
7046
+ * Contains the title text for the cross-reference section when present,
7047
+ * providing descriptive context for the referenced content and improving
7048
+ * section identification within documentation output.
7049
+ */
5502
7050
  xreftitle;
7051
+ /**
7052
+ * Mandatory description for the cross-reference section.
7053
+ *
7054
+ * @remarks
7055
+ * Contains detailed descriptive content for the cross-reference section,
7056
+ * providing comprehensive information about the referenced content and
7057
+ * its relationship to the current documentation context.
7058
+ */
5503
7059
  xrefdescription;
5504
- // Mandatory attributes.
7060
+ /**
7061
+ * Mandatory identifier for the cross-reference section.
7062
+ *
7063
+ * @remarks
7064
+ * Specifies the unique identifier for this cross-reference section,
7065
+ * enabling precise linking and referencing within documentation
7066
+ * generation workflows and cross-reference resolution.
7067
+ */
5505
7068
  id = '';
7069
+ /**
7070
+ * Constructs an AbstractDocXRefSectType from XML element data.
7071
+ *
7072
+ * @param xml - The Doxygen XML parser instance for processing XML content
7073
+ * @param element - The XML element object containing the cross-reference data
7074
+ * @param elementName - The XML element name for identification purposes
7075
+ *
7076
+ * @remarks
7077
+ * This constructor processes cross-reference section elements by extracting
7078
+ * title, description, and identifier information that defines cross-reference
7079
+ * relationships within documentation generation workflows.
7080
+ */
5506
7081
  constructor(xml, element, elementName) {
5507
7082
  super(elementName);
5508
7083
  // console.log(elementName, util.inspect(element,
@@ -5626,9 +7201,53 @@ export class AbstractDocEmptyType extends AbstractDataModelBase {
5626
7201
  // <xsd:attribute name="name" type="xsd:string"/>
5627
7202
  // <xsd:attribute name="unicode" type="xsd:string"/>
5628
7203
  // </xsd:complexType>
7204
+ /**
7205
+ * Abstract base class for emoji elements within documentation content.
7206
+ *
7207
+ * @remarks
7208
+ * Represents emoji elements that can be embedded within documentation
7209
+ * content to enhance visual communication and expression. This abstract
7210
+ * class manages emoji data including both human-readable names and
7211
+ * Unicode representations that enable consistent emoji rendering across
7212
+ * different documentation output formats and platforms.
7213
+ *
7214
+ * Emoji elements support modern documentation practices by enabling
7215
+ * expressive visual communication that can improve user engagement and
7216
+ * content accessibility in appropriate documentation contexts.
7217
+ *
7218
+ * @public
7219
+ */
5629
7220
  export class AbstractEmojiType extends AbstractDataModelBase {
7221
+ /**
7222
+ * The human-readable name identifier for the emoji.
7223
+ *
7224
+ * @remarks
7225
+ * Specifies the emoji name using standard emoji naming conventions,
7226
+ * enabling consistent emoji identification and providing fallback
7227
+ * representation when Unicode rendering is not available.
7228
+ */
5630
7229
  name = '';
7230
+ /**
7231
+ * The Unicode code point representation for the emoji.
7232
+ *
7233
+ * @remarks
7234
+ * Contains the Unicode code point or sequence that defines the emoji
7235
+ * character, enabling proper emoji rendering in Unicode-capable
7236
+ * documentation output formats and systems.
7237
+ */
5631
7238
  unicode = '';
7239
+ /**
7240
+ * Constructs an AbstractEmojiType from XML element data.
7241
+ *
7242
+ * @param xml - The Doxygen XML parser instance for processing XML content
7243
+ * @param element - The XML element object containing the emoji data
7244
+ * @param elementName - The XML element name for identification purposes
7245
+ *
7246
+ * @remarks
7247
+ * This constructor processes emoji elements by extracting name and Unicode
7248
+ * attributes that define emoji representation within documentation
7249
+ * generation workflows.
7250
+ */
5632
7251
  constructor(xml, element, elementName) {
5633
7252
  super(elementName);
5634
7253
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5673,9 +7292,34 @@ export class EmojiDataModel extends AbstractEmojiType {
5673
7292
  // <xsd:element name="xrefdescription" type="descriptionType" />
5674
7293
  // <xsd:element name="parameterdescription" type="descriptionType" />
5675
7294
  /**
7295
+ * Data model for brief description elements within documentation.
7296
+ *
7297
+ * @remarks
7298
+ * Represents brief description elements that provide concise summary
7299
+ * content for entities. This implementation processes Doxygen's
7300
+ * briefdescription elements, which contain short descriptive content
7301
+ * used for entity summaries, overviews, and quick reference information
7302
+ * within documentation structures.
7303
+ *
7304
+ * Brief descriptions are typically displayed in listings, summaries,
7305
+ * and overview sections to provide immediate context about documented
7306
+ * entities without requiring full detailed descriptions.
7307
+ *
5676
7308
  * @public
5677
7309
  */
5678
7310
  export class BriefDescriptionDataModel extends AbstractDescriptionType {
7311
+ /**
7312
+ * Constructs a BriefDescriptionDataModel from XML element data.
7313
+ *
7314
+ * @param xml - The Doxygen XML parser instance for processing XML content
7315
+ * @param element - The XML element object containing the brief description
7316
+ * data
7317
+ *
7318
+ * @remarks
7319
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7320
+ * identifying the element as 'briefdescription' for concise summary
7321
+ * content processing and documentation organisation.
7322
+ */
5679
7323
  constructor(xml, element) {
5680
7324
  super(xml, element, 'briefdescription');
5681
7325
  }
@@ -5683,33 +7327,142 @@ export class BriefDescriptionDataModel extends AbstractDescriptionType {
5683
7327
  /**
5684
7328
  * @public
5685
7329
  */
7330
+ /**
7331
+ * Data model for detailed description elements within documentation.
7332
+ *
7333
+ * @remarks
7334
+ * Represents detailed description elements that provide comprehensive
7335
+ * documentation content for entities. This implementation processes
7336
+ * Doxygen's detaileddescription elements, which contain extensive
7337
+ * descriptive content including paragraphs, sections, lists, and
7338
+ * other rich documentation structures.
7339
+ *
7340
+ * @public
7341
+ */
5686
7342
  export class DetailedDescriptionDataModel extends AbstractDescriptionType {
7343
+ /**
7344
+ * Constructs a DetailedDescriptionDataModel from XML element data.
7345
+ *
7346
+ * @param xml - The Doxygen XML parser instance for processing XML content
7347
+ * @param element - The XML element object containing the detailed
7348
+ * description data
7349
+ *
7350
+ * @remarks
7351
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7352
+ * identifying the element as 'detaileddescription' for comprehensive
7353
+ * content processing and documentation organisation.
7354
+ */
5687
7355
  constructor(xml, element) {
5688
7356
  super(xml, element, 'detaileddescription');
5689
7357
  }
5690
7358
  }
5691
7359
  /**
7360
+ * Data model for in-body description elements within documentation.
7361
+ *
7362
+ * @remarks
7363
+ * Represents in-body description elements that provide documentation
7364
+ * content embedded within source code bodies. This implementation
7365
+ * processes Doxygen's inbodydescription elements for documentation
7366
+ * that appears inline within code implementations.
7367
+ *
5692
7368
  * @public
5693
7369
  */
5694
7370
  export class InbodyDescriptionDataModel extends AbstractDescriptionType {
7371
+ /**
7372
+ * Constructs an InbodyDescriptionDataModel from XML element data.
7373
+ *
7374
+ * @param xml - The Doxygen XML parser instance for processing XML content
7375
+ * @param element - The XML element object containing the in-body
7376
+ * description data
7377
+ *
7378
+ * @remarks
7379
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7380
+ * identifying the element as 'inbodydescription' for inline documentation
7381
+ * content processing within code implementations.
7382
+ */
5695
7383
  constructor(xml, element) {
5696
7384
  super(xml, element, 'inbodydescription');
5697
7385
  }
5698
7386
  }
5699
7387
  /**
7388
+ * Data model for general description elements within documentation.
7389
+ *
7390
+ * @remarks
7391
+ * Represents general description elements that provide standard documentation
7392
+ * content for entities. This implementation processes Doxygen's description
7393
+ * elements, which contain descriptive content including paragraphs and
7394
+ * other documentation structures for general-purpose descriptions.
7395
+ *
5700
7396
  * @public
5701
7397
  */
5702
7398
  export class DescriptionDataModel extends AbstractDescriptionType {
7399
+ /**
7400
+ * Constructs a DescriptionDataModel from XML element data.
7401
+ *
7402
+ * @param xml - The Doxygen XML parser instance for processing XML content
7403
+ * @param element - The XML element object containing the description data
7404
+ *
7405
+ * @remarks
7406
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7407
+ * identifying the element as 'description' for general-purpose description
7408
+ * content processing and documentation organisation.
7409
+ */
5703
7410
  constructor(xml, element) {
5704
7411
  super(xml, element, 'description');
5705
7412
  }
5706
7413
  }
7414
+ /**
7415
+ * Data model for cross-reference description elements within documentation.
7416
+ *
7417
+ * @remarks
7418
+ * Represents cross-reference description elements that provide descriptive
7419
+ * content for cross-references and related sections. This implementation
7420
+ * processes Doxygen's xrefdescription elements for documentation content
7421
+ * associated with cross-reference sections and related material.
7422
+ *
7423
+ * @public
7424
+ */
5707
7425
  export class XrefDescriptionDataModel extends AbstractDescriptionType {
7426
+ /**
7427
+ * Constructs an XrefDescriptionDataModel from XML element data.
7428
+ *
7429
+ * @param xml - The Doxygen XML parser instance for processing XML content
7430
+ * @param element - The XML element object containing the cross-reference
7431
+ * description data
7432
+ *
7433
+ * @remarks
7434
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7435
+ * identifying the element as 'xrefdescription' for cross-reference section
7436
+ * content processing and related documentation organisation.
7437
+ */
5708
7438
  constructor(xml, element) {
5709
7439
  super(xml, element, 'xrefdescription');
5710
7440
  }
5711
7441
  }
7442
+ /**
7443
+ * Data model for parameter description elements within documentation.
7444
+ *
7445
+ * @remarks
7446
+ * Represents parameter description elements that provide descriptive content
7447
+ * for function and method parameters. This implementation processes Doxygen's
7448
+ * parameterdescription elements for parameter documentation within parameter
7449
+ * lists and function descriptions.
7450
+ *
7451
+ * @public
7452
+ */
5712
7453
  export class ParameterDescriptionDataModel extends AbstractDescriptionType {
7454
+ /**
7455
+ * Constructs a ParameterDescriptionDataModel from XML element data.
7456
+ *
7457
+ * @param xml - The Doxygen XML parser instance for processing XML content
7458
+ * @param element - The XML element object containing the parameter
7459
+ * description data
7460
+ *
7461
+ * @remarks
7462
+ * This constructor delegates to the parent AbstractDescriptionType whilst
7463
+ * identifying the element as 'parameterdescription' for parameter-specific
7464
+ * documentation content processing within function documentation.
7465
+ */
5713
7466
  constructor(xml, element) {
5714
7467
  super(xml, element, 'parameterdescription');
5715
7468
  }
@@ -5730,84 +7483,431 @@ export class ParameterDescriptionDataModel extends AbstractDescriptionType {
5730
7483
  // <xsd:element name="sect6" type="docSect6Type" minOccurs="0" maxOccurs="unbounded" />
5731
7484
  // <xsd:element name="title" type="docTitleType" minOccurs="0" />
5732
7485
  // <xsd:element name="term" type="docTitleType" />
7486
+ /**
7487
+ * Data model for internal documentation section elements.
7488
+ *
7489
+ * @remarks
7490
+ * Represents internal documentation sections that contain content marked
7491
+ * as internal or implementation-specific within documentation. This
7492
+ * implementation processes Doxygen's internal elements for organising
7493
+ * content that is typically hidden from public documentation views
7494
+ * but retained for developer reference.
7495
+ *
7496
+ * @public
7497
+ */
5733
7498
  export class InternalDataModel extends AbstractDocInternalType {
7499
+ /**
7500
+ * Constructs an InternalDataModel from XML element data.
7501
+ *
7502
+ * @param xml - The Doxygen XML parser instance for processing XML content
7503
+ * @param element - The XML element object containing the internal section
7504
+ * data
7505
+ *
7506
+ * @remarks
7507
+ * This constructor delegates to the parent AbstractDocInternalType to
7508
+ * handle internal section processing whilst identifying the element as
7509
+ * 'internal' for proper content organisation and visibility control.
7510
+ */
5734
7511
  constructor(xml, element) {
5735
7512
  super(xml, element, 'internal');
5736
7513
  }
5737
7514
  }
7515
+ /**
7516
+ * Data model for first-level internal documentation section elements.
7517
+ *
7518
+ * @remarks
7519
+ * Represents internal documentation sections at the first hierarchical level
7520
+ * within section structures. This implementation processes Doxygen's internal
7521
+ * elements that appear within first-level sections, providing organised
7522
+ * internal content that is typically excluded from public documentation.
7523
+ *
7524
+ * @public
7525
+ */
5738
7526
  export class InternalS1DataModel extends AbstractDocInternalS1Type {
7527
+ /**
7528
+ * Constructs an InternalS1DataModel from XML element data.
7529
+ *
7530
+ * @param xml - The Doxygen XML parser instance for processing XML content
7531
+ * @param element - The XML element object containing the internal S1
7532
+ * section data
7533
+ *
7534
+ * @remarks
7535
+ * This constructor delegates to the parent AbstractDocInternalS1Type whilst
7536
+ * identifying the element as 'internal' for first-level internal content.
7537
+ */
5739
7538
  constructor(xml, element) {
5740
7539
  super(xml, element, 'internal');
5741
7540
  }
5742
7541
  }
7542
+ /**
7543
+ * Data model for second-level internal documentation section elements.
7544
+ *
7545
+ * @remarks
7546
+ * Represents internal documentation sections at the second hierarchical level
7547
+ * within section structures. This implementation processes internal content
7548
+ * that appears within second-level sections for detailed internal documentation
7549
+ * organisation.
7550
+ *
7551
+ * @public
7552
+ */
5743
7553
  export class InternalS2DataModel extends AbstractDocInternalS2Type {
7554
+ /**
7555
+ * Constructs an InternalS2DataModel from XML element data.
7556
+ *
7557
+ * @param xml - The Doxygen XML parser instance for processing XML content
7558
+ * @param element - The XML element object containing the internal S2
7559
+ * section data
7560
+ *
7561
+ * @remarks
7562
+ * This constructor delegates to the parent AbstractDocInternalS2Type whilst
7563
+ * identifying the element as 'internal' for second-level internal content.
7564
+ */
5744
7565
  constructor(xml, element) {
5745
7566
  super(xml, element, 'internal');
5746
7567
  }
5747
7568
  }
7569
+ /**
7570
+ * Data model for third-level internal documentation section elements.
7571
+ *
7572
+ * @remarks
7573
+ * Represents internal documentation sections at the third hierarchical level
7574
+ * for detailed internal content organisation within deeply nested section
7575
+ * structures.
7576
+ *
7577
+ * @public
7578
+ */
5748
7579
  export class InternalS3DataModel extends AbstractDocInternalS3Type {
7580
+ /**
7581
+ * Constructs an InternalS3DataModel from XML element data.
7582
+ *
7583
+ * @param xml - The Doxygen XML parser instance for processing XML content
7584
+ * @param element - The XML element object containing the internal S3
7585
+ * section data
7586
+ *
7587
+ * @remarks
7588
+ * This constructor delegates to the parent AbstractDocInternalS3Type whilst
7589
+ * identifying the element as 'internal' for third-level internal content.
7590
+ */
5749
7591
  constructor(xml, element) {
5750
7592
  super(xml, element, 'internal');
5751
7593
  }
5752
7594
  }
7595
+ /**
7596
+ * Data model for fourth-level internal documentation section elements.
7597
+ *
7598
+ * @remarks
7599
+ * Represents internal documentation sections at the fourth hierarchical level
7600
+ * for very detailed internal content organisation within deeply nested
7601
+ * documentation structures.
7602
+ *
7603
+ * @public
7604
+ */
5753
7605
  export class InternalS4DataModel extends AbstractDocInternalS4Type {
7606
+ /**
7607
+ * Constructs an InternalS4DataModel from XML element data.
7608
+ *
7609
+ * @param xml - The Doxygen XML parser instance for processing XML content
7610
+ * @param element - The XML element object containing the internal S4
7611
+ * section data
7612
+ *
7613
+ * @remarks
7614
+ * This constructor delegates to the parent AbstractDocInternalS4Type whilst
7615
+ * identifying the element as 'internal' for fourth-level internal content.
7616
+ */
5754
7617
  constructor(xml, element) {
5755
7618
  super(xml, element, 'internal');
5756
7619
  }
5757
7620
  }
7621
+ /**
7622
+ * Data model for fifth-level internal documentation section elements.
7623
+ *
7624
+ * @remarks
7625
+ * Represents internal documentation sections at the fifth hierarchical level
7626
+ * for extremely detailed internal content organisation within complex
7627
+ * documentation hierarchies.
7628
+ *
7629
+ * @public
7630
+ */
5758
7631
  export class InternalS5DataModel extends AbstractDocInternalS5Type {
7632
+ /**
7633
+ * Constructs an InternalS5DataModel from XML element data.
7634
+ *
7635
+ * @param xml - The Doxygen XML parser instance for processing XML content
7636
+ * @param element - The XML element object containing the internal S5
7637
+ * section data
7638
+ *
7639
+ * @remarks
7640
+ * This constructor delegates to the parent AbstractDocInternalS5Type whilst
7641
+ * identifying the element as 'internal' for fifth-level internal content.
7642
+ */
5759
7643
  constructor(xml, element) {
5760
7644
  super(xml, element, 'internal');
5761
7645
  }
5762
7646
  }
7647
+ /**
7648
+ * Data model for sixth-level internal documentation section elements.
7649
+ *
7650
+ * @remarks
7651
+ * Represents internal documentation sections at the deepest hierarchical level
7652
+ * supported by the schema for comprehensive internal content organisation
7653
+ * within complex documentation structures.
7654
+ *
7655
+ * @public
7656
+ */
5763
7657
  export class InternalS6DataModel extends AbstractDocInternalS6Type {
7658
+ /**
7659
+ * Constructs an InternalS6DataModel from XML element data.
7660
+ *
7661
+ * @param xml - The Doxygen XML parser instance for processing XML content
7662
+ * @param element - The XML element object containing the internal S6
7663
+ * section data
7664
+ *
7665
+ * @remarks
7666
+ * This constructor delegates to the parent AbstractDocInternalS6Type whilst
7667
+ * identifying the element as 'internal' for sixth-level internal content.
7668
+ */
5764
7669
  constructor(xml, element) {
5765
7670
  super(xml, element, 'internal');
5766
7671
  }
5767
7672
  }
7673
+ /**
7674
+ * Data model for first-level section elements within documentation.
7675
+ *
7676
+ * @remarks
7677
+ * Represents level-1 sections that form the primary organisational structure
7678
+ * within documentation descriptions. This implementation processes Doxygen's
7679
+ * sect1 elements, which contain titles, paragraphs, internal sections, and
7680
+ * nested level-2 sections, providing the foundation for hierarchical
7681
+ * documentation organisation.
7682
+ *
7683
+ * @public
7684
+ */
5768
7685
  export class Sect1DataModel extends AbstractDocSect1Type {
7686
+ /**
7687
+ * Constructs a Sect1DataModel from XML element data.
7688
+ *
7689
+ * @param xml - The Doxygen XML parser instance for processing XML content
7690
+ * @param element - The XML element object containing the sect1 data
7691
+ *
7692
+ * @remarks
7693
+ * This constructor delegates to the parent AbstractDocSect1Type to handle
7694
+ * the standard first-level section processing whilst specifically
7695
+ * identifying the element as a 'sect1' type for proper XML schema compliance.
7696
+ */
5769
7697
  constructor(xml, element) {
5770
7698
  super(xml, element, 'sect1');
5771
7699
  }
5772
7700
  }
7701
+ /**
7702
+ * Data model for second-level section elements within documentation.
7703
+ *
7704
+ * @remarks
7705
+ * Represents level-2 sections that provide additional organisational depth
7706
+ * within first-level sections. This implementation processes Doxygen's
7707
+ * sect2 elements, which contain titles, paragraphs, internal sections, and
7708
+ * nested level-3 sections, enabling detailed content structuring within
7709
+ * the documentation hierarchy.
7710
+ *
7711
+ * @public
7712
+ */
5773
7713
  export class Sect2DataModel extends AbstractDocSect2Type {
7714
+ /**
7715
+ * Constructs a Sect2DataModel from XML element data.
7716
+ *
7717
+ * @param xml - The Doxygen XML parser instance for processing XML content
7718
+ * @param element - The XML element object containing the sect2 data
7719
+ *
7720
+ * @remarks
7721
+ * This constructor delegates to the parent AbstractDocSect2Type to handle
7722
+ * the standard second-level section processing whilst specifically
7723
+ * identifying the element as a 'sect2' type for proper XML schema compliance.
7724
+ */
5774
7725
  constructor(xml, element) {
5775
7726
  super(xml, element, 'sect2');
5776
7727
  }
5777
7728
  }
7729
+ /**
7730
+ * Data model for third-level section elements within documentation.
7731
+ *
7732
+ * @remarks
7733
+ * Represents level-3 sections that provide detailed subsection organisation
7734
+ * within second-level sections. This implementation processes Doxygen's
7735
+ * sect3 elements for granular content structuring.
7736
+ *
7737
+ * @public
7738
+ */
5778
7739
  export class Sect3DataModel extends AbstractDocSect3Type {
7740
+ /**
7741
+ * Constructs a Sect3DataModel from XML element data.
7742
+ *
7743
+ * @param xml - The Doxygen XML parser instance for processing XML content
7744
+ * @param element - The XML element object containing the sect3 data
7745
+ *
7746
+ * @remarks
7747
+ * This constructor delegates to the parent AbstractDocSect3Type to handle
7748
+ * third-level section processing whilst identifying the element as 'sect3'.
7749
+ */
5779
7750
  constructor(xml, element) {
5780
7751
  super(xml, element, 'sect3');
5781
7752
  }
5782
7753
  }
7754
+ /**
7755
+ * Data model for fourth-level section elements within documentation.
7756
+ *
7757
+ * @remarks
7758
+ * Represents level-4 sections for deep hierarchical content organisation.
7759
+ * This implementation processes Doxygen's sect4 elements within the
7760
+ * documentation structure hierarchy.
7761
+ *
7762
+ * @public
7763
+ */
5783
7764
  export class Sect4DataModel extends AbstractDocSect4Type {
7765
+ /**
7766
+ * Constructs a Sect4DataModel from XML element data.
7767
+ *
7768
+ * @param xml - The Doxygen XML parser instance for processing XML content
7769
+ * @param element - The XML element object containing the sect4 data
7770
+ *
7771
+ * @remarks
7772
+ * This constructor delegates to the parent AbstractDocSect4Type whilst
7773
+ * identifying the element as 'sect4' for schema compliance.
7774
+ */
5784
7775
  constructor(xml, element) {
5785
7776
  super(xml, element, 'sect4');
5786
7777
  }
5787
7778
  }
7779
+ /**
7780
+ * Data model for fifth-level section elements within documentation.
7781
+ *
7782
+ * @remarks
7783
+ * Represents level-5 sections for very detailed content organisation.
7784
+ * This implementation processes Doxygen's sect5 elements within deeply
7785
+ * nested documentation structures.
7786
+ *
7787
+ * @public
7788
+ */
5788
7789
  export class Sect5DataModel extends AbstractDocSect5Type {
7790
+ /**
7791
+ * Constructs a Sect5DataModel from XML element data.
7792
+ *
7793
+ * @param xml - The Doxygen XML parser instance for processing XML content
7794
+ * @param element - The XML element object containing the sect5 data
7795
+ *
7796
+ * @remarks
7797
+ * This constructor delegates to the parent AbstractDocSect5Type whilst
7798
+ * identifying the element as 'sect5' for schema compliance.
7799
+ */
5789
7800
  constructor(xml, element) {
5790
7801
  super(xml, element, 'sect5');
5791
7802
  }
5792
7803
  }
7804
+ /**
7805
+ * Data model for sixth-level section elements within documentation.
7806
+ *
7807
+ * @remarks
7808
+ * Represents the deepest level of section organisation supported by the
7809
+ * Doxygen schema. This implementation processes Doxygen's sect6 elements
7810
+ * for maximum hierarchical depth in documentation structures.
7811
+ *
7812
+ * @public
7813
+ */
5793
7814
  export class Sect6DataModel extends AbstractDocSect6Type {
7815
+ /**
7816
+ * Constructs a Sect6DataModel from XML element data.
7817
+ *
7818
+ * @param xml - The Doxygen XML parser instance for processing XML content
7819
+ * @param element - The XML element object containing the sect6 data
7820
+ *
7821
+ * @remarks
7822
+ * This constructor delegates to the parent AbstractDocSect6Type whilst
7823
+ * identifying the element as 'sect6' for schema compliance.
7824
+ */
5794
7825
  constructor(xml, element) {
5795
7826
  super(xml, element, 'sect6');
5796
7827
  }
5797
7828
  }
7829
+ /**
7830
+ * Data model for title elements within documentation structures.
7831
+ *
7832
+ * @remarks
7833
+ * Represents title elements that provide descriptive headings for sections,
7834
+ * tables, figures, and other documentation components. This implementation
7835
+ * processes Doxygen's title elements, which support rich formatting and
7836
+ * mixed content to create informative and properly styled headings.
7837
+ *
7838
+ * @public
7839
+ */
5798
7840
  export class TitleDataModel extends AbstractDocTitleType {
7841
+ /**
7842
+ * Constructs a TitleDataModel from XML element data.
7843
+ *
7844
+ * @param xml - The Doxygen XML parser instance for processing XML content
7845
+ * @param element - The XML element object containing the title data
7846
+ *
7847
+ * @remarks
7848
+ * This constructor delegates to the parent AbstractDocTitleType to handle
7849
+ * title processing whilst identifying the element as 'title' for proper
7850
+ * XML schema compliance.
7851
+ */
5799
7852
  constructor(xml, element) {
5800
7853
  super(xml, element, 'title');
5801
7854
  }
5802
7855
  }
7856
+ /**
7857
+ * Data model for term elements within definition lists.
7858
+ *
7859
+ * @remarks
7860
+ * Represents term elements that provide the definition term within variable
7861
+ * lists and definition structures. This implementation processes Doxygen's
7862
+ * term elements, which support formatted content for creating clear and
7863
+ * descriptive definition terms.
7864
+ *
7865
+ * @public
7866
+ */
5803
7867
  export class TermDataModel extends AbstractDocTitleType {
7868
+ /**
7869
+ * Constructs a TermDataModel from XML element data.
7870
+ *
7871
+ * @param xml - The Doxygen XML parser instance for processing XML content
7872
+ * @param element - The XML element object containing the term data
7873
+ *
7874
+ * @remarks
7875
+ * This constructor delegates to the parent AbstractDocTitleType to handle
7876
+ * term processing whilst identifying the element as 'term' for proper
7877
+ * XML schema compliance and definition list semantics.
7878
+ */
5804
7879
  constructor(xml, element) {
5805
7880
  super(xml, element, 'term');
5806
7881
  }
5807
7882
  }
5808
7883
  // ----------------------------------------------------------------------------
5809
7884
  // <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
7885
+ /**
7886
+ * Data model for paragraph elements within documentation content.
7887
+ *
7888
+ * @remarks
7889
+ * Represents paragraph elements that form the fundamental content blocks
7890
+ * within documentation structures. This implementation processes Doxygen's
7891
+ * para elements, which contain rich mixed content including text, formatting,
7892
+ * cross-references, lists, tables, and other documentation elements.
7893
+ *
7894
+ * Paragraphs serve as the primary containers for narrative content within
7895
+ * descriptions, sections, and other documentation components.
7896
+ *
7897
+ * @public
7898
+ */
5810
7899
  export class ParaDataModel extends AbstractDocParaType {
7900
+ /**
7901
+ * Constructs a ParaDataModel from XML element data.
7902
+ *
7903
+ * @param xml - The Doxygen XML parser instance for processing XML content
7904
+ * @param element - The XML element object containing the paragraph data
7905
+ *
7906
+ * @remarks
7907
+ * This constructor delegates to the parent AbstractDocParaType to handle
7908
+ * comprehensive paragraph content processing whilst identifying the element
7909
+ * as 'para' for proper XML schema compliance and content organisation.
7910
+ */
5811
7911
  constructor(xml, element) {
5812
7912
  super(xml, element, 'para');
5813
7913
  }
@@ -5817,87 +7917,430 @@ export class ParaDataModel extends AbstractDocParaType {
5817
7917
  // <xsd:element name="underline" type="docMarkupType" />
5818
7918
  // <xsd:element name="emphasis" type="docMarkupType" />
5819
7919
  // <xsd:element name="computeroutput" type="docMarkupType" />
7920
+ /**
7921
+ * Data model for bold text formatting within documentation content.
7922
+ *
7923
+ * @remarks
7924
+ * Represents bold markup elements that provide emphasis formatting for
7925
+ * text content within documentation. This implementation processes Doxygen's
7926
+ * bold elements, which can contain mixed content including text and other
7927
+ * inline formatting elements to create properly emphasised content.
7928
+ *
7929
+ * @public
7930
+ */
5820
7931
  export class BoldDataModel extends AbstractDocMarkupType {
7932
+ /**
7933
+ * Constructs a BoldDataModel from XML element data.
7934
+ *
7935
+ * @param xml - The Doxygen XML parser instance for processing XML content
7936
+ * @param element - The XML element object containing the bold markup data
7937
+ *
7938
+ * @remarks
7939
+ * This constructor delegates to the parent AbstractDocMarkupType to handle
7940
+ * markup processing whilst identifying the element as 'bold' for proper
7941
+ * XML schema compliance and text formatting.
7942
+ */
5821
7943
  constructor(xml, element) {
5822
7944
  super(xml, element, 'bold');
5823
7945
  }
5824
7946
  }
7947
+ /**
7948
+ * Data model for strikethrough text formatting within documentation content.
7949
+ *
7950
+ * @remarks
7951
+ * Represents strikethrough markup elements that provide strike-through
7952
+ * formatting for text content. This implementation processes Doxygen's
7953
+ * 's' elements for creating struck-through text within documentation.
7954
+ *
7955
+ * @public
7956
+ */
5825
7957
  export class SDataModel extends AbstractDocMarkupType {
7958
+ /**
7959
+ * Constructs an SDataModel from XML element data.
7960
+ *
7961
+ * @param xml - The Doxygen XML parser instance for processing XML content
7962
+ * @param element - The XML element object containing the strikethrough
7963
+ * markup data
7964
+ *
7965
+ * @remarks
7966
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
7967
+ * identifying the element as 's' for proper strikethrough formatting.
7968
+ */
5826
7969
  constructor(xml, element) {
5827
7970
  super(xml, element, 's');
5828
7971
  }
5829
7972
  }
7973
+ /**
7974
+ * Data model for strike-through text formatting within documentation content.
7975
+ *
7976
+ * @remarks
7977
+ * Represents strike markup elements that provide explicit strike-through
7978
+ * formatting for text content. This implementation processes Doxygen's
7979
+ * strike elements for deprecated or crossed-out text within documentation.
7980
+ *
7981
+ * @public
7982
+ */
5830
7983
  export class StrikeDataModel extends AbstractDocMarkupType {
7984
+ /**
7985
+ * Constructs a StrikeDataModel from XML element data.
7986
+ *
7987
+ * @param xml - The Doxygen XML parser instance for processing XML content
7988
+ * @param element - The XML element object containing the strike markup data
7989
+ *
7990
+ * @remarks
7991
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
7992
+ * identifying the element as 'strike' for explicit strike-through formatting.
7993
+ */
5831
7994
  constructor(xml, element) {
5832
7995
  super(xml, element, 'strike');
5833
7996
  }
5834
7997
  }
7998
+ /**
7999
+ * Data model for underlined text formatting within documentation content.
8000
+ *
8001
+ * @remarks
8002
+ * Represents underline markup elements that provide underline formatting
8003
+ * for text content within documentation. This implementation processes
8004
+ * Doxygen's underline elements for creating underlined text emphasis.
8005
+ *
8006
+ * @public
8007
+ */
5835
8008
  export class UnderlineDataModel extends AbstractDocMarkupType {
8009
+ /**
8010
+ * Constructs an UnderlineDataModel from XML element data.
8011
+ *
8012
+ * @param xml - The Doxygen XML parser instance for processing XML content
8013
+ * @param element - The XML element object containing the underline markup
8014
+ * data
8015
+ *
8016
+ * @remarks
8017
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8018
+ * identifying the element as 'underline' for proper underline formatting.
8019
+ */
5836
8020
  constructor(xml, element) {
5837
8021
  super(xml, element, 'underline');
5838
8022
  }
5839
8023
  }
8024
+ /**
8025
+ * Data model for emphasised text formatting within documentation content.
8026
+ *
8027
+ * @remarks
8028
+ * Represents emphasis markup elements that provide italicised formatting
8029
+ * for text content within documentation. This implementation processes
8030
+ * Doxygen's emphasis elements for creating emphasised text, typically
8031
+ * rendered in italics to provide subtle content highlighting.
8032
+ *
8033
+ * @public
8034
+ */
5840
8035
  export class EmphasisDataModel extends AbstractDocMarkupType {
8036
+ /**
8037
+ * Constructs an EmphasisDataModel from XML element data.
8038
+ *
8039
+ * @param xml - The Doxygen XML parser instance for processing XML content
8040
+ * @param element - The XML element object containing the emphasis markup data
8041
+ *
8042
+ * @remarks
8043
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8044
+ * identifying the element as 'emphasis' for proper italicised formatting.
8045
+ */
5841
8046
  constructor(xml, element) {
5842
8047
  super(xml, element, 'emphasis');
5843
8048
  }
5844
8049
  }
8050
+ /**
8051
+ * Data model for computer output text formatting within documentation content.
8052
+ *
8053
+ * @remarks
8054
+ * Represents computer output markup elements that provide monospace formatting
8055
+ * for code, filenames, and computer-generated text within documentation.
8056
+ * This implementation processes Doxygen's computeroutput elements for
8057
+ * displaying code fragments and technical terms in monospace font.
8058
+ *
8059
+ * @public
8060
+ */
5845
8061
  export class ComputerOutputDataModel extends AbstractDocMarkupType {
8062
+ /**
8063
+ * Constructs a ComputerOutputDataModel from XML element data.
8064
+ *
8065
+ * @param xml - The Doxygen XML parser instance for processing XML content
8066
+ * @param element - The XML element object containing the computer output
8067
+ * markup data
8068
+ *
8069
+ * @remarks
8070
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8071
+ * identifying the element as 'computeroutput' for monospace formatting.
8072
+ */
5846
8073
  constructor(xml, element) {
5847
8074
  super(xml, element, 'computeroutput');
5848
8075
  }
5849
8076
  }
8077
+ /**
8078
+ * Data model for subscript text formatting within documentation content.
8079
+ *
8080
+ * @remarks
8081
+ * Represents subscript markup elements that provide subscript formatting
8082
+ * for mathematical expressions and chemical formulae within documentation.
8083
+ * This implementation processes Doxygen's subscript elements for proper
8084
+ * scientific notation display.
8085
+ *
8086
+ * @public
8087
+ */
5850
8088
  export class SubscriptDataModel extends AbstractDocMarkupType {
8089
+ /**
8090
+ * Constructs a SubscriptDataModel from XML element data.
8091
+ *
8092
+ * @param xml - The Doxygen XML parser instance for processing XML content
8093
+ * @param element - The XML element object containing the subscript markup
8094
+ * data
8095
+ *
8096
+ * @remarks
8097
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8098
+ * identifying the element as 'subscript' for proper subscript formatting.
8099
+ */
5851
8100
  constructor(xml, element) {
5852
8101
  super(xml, element, 'subscript');
5853
8102
  }
5854
8103
  }
8104
+ /**
8105
+ * Data model for superscript text formatting within documentation content.
8106
+ *
8107
+ * @remarks
8108
+ * Represents superscript markup elements that provide superscript formatting
8109
+ * for mathematical expressions, footnotes, and ordinal numbers within
8110
+ * documentation. This implementation processes Doxygen's superscript elements
8111
+ * for proper scientific and mathematical notation display.
8112
+ *
8113
+ * @public
8114
+ */
5855
8115
  export class SuperscriptDataModel extends AbstractDocMarkupType {
8116
+ /**
8117
+ * Constructs a SuperscriptDataModel from XML element data.
8118
+ *
8119
+ * @param xml - The Doxygen XML parser instance for processing XML content
8120
+ * @param element - The XML element object containing the superscript
8121
+ * markup data
8122
+ *
8123
+ * @remarks
8124
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8125
+ * identifying the element as 'superscript' for proper superscript formatting.
8126
+ */
5856
8127
  constructor(xml, element) {
5857
8128
  super(xml, element, 'superscript');
5858
8129
  }
5859
8130
  }
8131
+ /**
8132
+ * Data model for centred text formatting within documentation content.
8133
+ *
8134
+ * @remarks
8135
+ * Represents centre alignment markup elements that provide centred formatting
8136
+ * for text content within documentation. This implementation processes
8137
+ * Doxygen's center elements for creating centred text blocks and headings.
8138
+ *
8139
+ * @public
8140
+ */
5860
8141
  export class CenterDataModel extends AbstractDocMarkupType {
8142
+ /**
8143
+ * Constructs a CenterDataModel from XML element data.
8144
+ *
8145
+ * @param xml - The Doxygen XML parser instance for processing XML content
8146
+ * @param element - The XML element object containing the centre markup data
8147
+ *
8148
+ * @remarks
8149
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8150
+ * identifying the element as 'center' for proper centred alignment.
8151
+ */
5861
8152
  constructor(xml, element) {
5862
8153
  super(xml, element, 'center');
5863
8154
  }
5864
8155
  }
8156
+ /**
8157
+ * Data model for small text formatting within documentation content.
8158
+ *
8159
+ * @remarks
8160
+ * Represents small text markup elements that provide reduced font size
8161
+ * formatting for fine print, footnotes, and secondary information within
8162
+ * documentation. This implementation processes Doxygen's small elements
8163
+ * for creating properly sized text content.
8164
+ *
8165
+ * @public
8166
+ */
5865
8167
  export class SmallDataModel extends AbstractDocMarkupType {
8168
+ /**
8169
+ * Constructs a SmallDataModel from XML element data.
8170
+ *
8171
+ * @param xml - The Doxygen XML parser instance for processing XML content
8172
+ * @param element - The XML element object containing the small text
8173
+ * markup data
8174
+ *
8175
+ * @remarks
8176
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8177
+ * identifying the element as 'small' for reduced font size formatting.
8178
+ */
5866
8179
  constructor(xml, element) {
5867
8180
  super(xml, element, 'small');
5868
8181
  }
5869
8182
  }
8183
+ /**
8184
+ * Data model for citation text formatting within documentation content.
8185
+ *
8186
+ * @remarks
8187
+ * Represents citation markup elements that provide proper formatting for
8188
+ * bibliographic references and citations within documentation. This
8189
+ * implementation processes Doxygen's cite elements for creating properly
8190
+ * formatted citation references.
8191
+ *
8192
+ * @public
8193
+ */
5870
8194
  export class CiteDataModel extends AbstractDocMarkupType {
8195
+ /**
8196
+ * Constructs a CiteDataModel from XML element data.
8197
+ *
8198
+ * @param xml - The Doxygen XML parser instance for processing XML content
8199
+ * @param element - The XML element object containing the citation markup data
8200
+ *
8201
+ * @remarks
8202
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8203
+ * identifying the element as 'cite' for proper citation formatting.
8204
+ */
5871
8205
  constructor(xml, element) {
5872
8206
  super(xml, element, 'cite');
5873
8207
  }
5874
8208
  }
8209
+ /**
8210
+ * Data model for deleted text formatting within documentation content.
8211
+ *
8212
+ * @remarks
8213
+ * Represents deleted text markup elements that indicate content removal
8214
+ * or deprecation within documentation. This implementation processes
8215
+ * Doxygen's del elements for marking text as deleted or removed.
8216
+ *
8217
+ * @public
8218
+ */
5875
8219
  export class DelDataModel extends AbstractDocMarkupType {
8220
+ /**
8221
+ * Constructs a DelDataModel from XML element data.
8222
+ *
8223
+ * @param xml - The Doxygen XML parser instance for processing XML content
8224
+ * @param element - The XML element object containing the deleted text
8225
+ * markup data
8226
+ *
8227
+ * @remarks
8228
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8229
+ * identifying the element as 'del' for deleted text formatting.
8230
+ */
5876
8231
  constructor(xml, element) {
5877
8232
  super(xml, element, 'del');
5878
8233
  }
5879
8234
  }
8235
+ /**
8236
+ * Data model for inserted text formatting within documentation content.
8237
+ *
8238
+ * @remarks
8239
+ * Represents inserted text markup elements that indicate content addition
8240
+ * or new material within documentation. This implementation processes
8241
+ * Doxygen's ins elements for marking text as newly inserted or added.
8242
+ *
8243
+ * @public
8244
+ */
5880
8245
  export class InsDataModel extends AbstractDocMarkupType {
8246
+ /**
8247
+ * Constructs an InsDataModel from XML element data.
8248
+ *
8249
+ * @param xml - The Doxygen XML parser instance for processing XML content
8250
+ * @param element - The XML element object containing the inserted text
8251
+ * markup data
8252
+ *
8253
+ * @remarks
8254
+ * This constructor delegates to the parent AbstractDocMarkupType whilst
8255
+ * identifying the element as 'ins' for inserted text formatting.
8256
+ */
5881
8257
  constructor(xml, element) {
5882
8258
  super(xml, element, 'ins');
5883
8259
  }
5884
8260
  }
5885
8261
  // ----------------------------------------------------------------------------
5886
8262
  // <xsd:element name="simplesect" type="docSimpleSectType" />
8263
+ /**
8264
+ * Data model for simple section elements within documentation.
8265
+ *
8266
+ * @remarks
8267
+ * Represents simple sections that provide structured content organisation
8268
+ * with specific section types such as 'note', 'warning', 'see', 'return',
8269
+ * and others. This implementation processes Doxygen's simplesect elements,
8270
+ * which contain typed content blocks for common documentation patterns
8271
+ * like notes, warnings, and cross-references.
8272
+ *
8273
+ * @public
8274
+ */
5887
8275
  export class SimpleSectDataModel extends AbstractDocSimpleSectType {
8276
+ /**
8277
+ * Constructs a SimpleSectDataModel from XML element data.
8278
+ *
8279
+ * @param xml - The Doxygen XML parser instance for processing XML content
8280
+ * @param element - The XML element object containing the simplesect data
8281
+ *
8282
+ * @remarks
8283
+ * This constructor delegates to the parent AbstractDocSimpleSectType to
8284
+ * handle simple section processing whilst identifying the element as
8285
+ * 'simplesect' for proper XML schema compliance and section type handling.
8286
+ */
5888
8287
  constructor(xml, element) {
5889
8288
  super(xml, element, 'simplesect');
5890
8289
  }
5891
8290
  }
5892
8291
  // ----------------------------------------------------------------------------
5893
8292
  // <xsd:element name="itemizedlist" type="docListType" />
8293
+ /**
8294
+ * Data model for itemised list elements within documentation content.
8295
+ *
8296
+ * @remarks
8297
+ * Represents itemised (bulleted) list elements that provide unordered list
8298
+ * structures within documentation. This implementation processes Doxygen's
8299
+ * itemizedlist elements, which contain list items for creating bulleted
8300
+ * lists with various marker styles and nested list support.
8301
+ *
8302
+ * @public
8303
+ */
5894
8304
  export class ItemizedListDataModel extends AbstractDocListType {
8305
+ /**
8306
+ * Constructs an ItemizedListDataModel from XML element data.
8307
+ *
8308
+ * @param xml - The Doxygen XML parser instance for processing XML content
8309
+ * @param element - The XML element object containing the itemised list data
8310
+ *
8311
+ * @remarks
8312
+ * This constructor delegates to the parent AbstractDocListType to handle
8313
+ * list processing whilst identifying the element as 'itemizedlist' for
8314
+ * proper bulleted list formatting and structure.
8315
+ */
5895
8316
  constructor(xml, element) {
5896
8317
  super(xml, element, 'itemizedlist');
5897
8318
  }
5898
8319
  }
5899
8320
  // <xsd:element name="orderedlist" type="docListType" />
8321
+ /**
8322
+ * Data model for ordered list elements within documentation content.
8323
+ *
8324
+ * @remarks
8325
+ * Represents ordered (numbered) list elements that provide sequential list
8326
+ * structures within documentation. This implementation processes Doxygen's
8327
+ * orderedlist elements, which contain list items for creating numbered
8328
+ * lists with various numbering styles and nested list support.
8329
+ *
8330
+ * @public
8331
+ */
5900
8332
  export class OrderedListDataModel extends AbstractDocListType {
8333
+ /**
8334
+ * Constructs an OrderedListDataModel from XML element data.
8335
+ *
8336
+ * @param xml - The Doxygen XML parser instance for processing XML content
8337
+ * @param element - The XML element object containing the ordered list data
8338
+ *
8339
+ * @remarks
8340
+ * This constructor delegates to the parent AbstractDocListType to handle
8341
+ * list processing whilst identifying the element as 'orderedlist' for
8342
+ * proper numbered list formatting and structure.
8343
+ */
5901
8344
  constructor(xml, element) {
5902
8345
  super(xml, element, 'orderedlist');
5903
8346
  }
@@ -5905,30 +8348,143 @@ export class OrderedListDataModel extends AbstractDocListType {
5905
8348
  // ----------------------------------------------------------------------------
5906
8349
  // <xsd:element name="linebreak" type="docEmptyType" />
5907
8350
  // <xsd:element name="hruler" type="docEmptyType" />
8351
+ /**
8352
+ * Data model for line break elements within documentation content.
8353
+ *
8354
+ * @remarks
8355
+ * Represents line break elements that provide explicit line breaks within
8356
+ * documentation text. This implementation processes Doxygen's linebreak
8357
+ * elements for controlling line spacing and text flow within content blocks.
8358
+ *
8359
+ * @public
8360
+ */
5908
8361
  export class LineBreakDataModel extends AbstractDocEmptyType {
8362
+ /**
8363
+ * Constructs a LineBreakDataModel from XML element data.
8364
+ *
8365
+ * @param xml - The Doxygen XML parser instance for processing XML content
8366
+ * @param element - The XML element object containing the line break data
8367
+ *
8368
+ * @remarks
8369
+ * This constructor delegates to the parent AbstractDocEmptyType whilst
8370
+ * identifying the element as 'linebreak' for proper line break handling.
8371
+ */
5909
8372
  constructor(xml, element) {
5910
8373
  super(xml, element, 'linebreak');
5911
8374
  }
5912
8375
  }
8376
+ /**
8377
+ * Data model for horizontal ruler elements within documentation content.
8378
+ *
8379
+ * @remarks
8380
+ * Represents horizontal ruler elements that provide visual separation
8381
+ * between content sections. This implementation processes Doxygen's
8382
+ * hruler elements for creating horizontal dividing lines within documentation.
8383
+ *
8384
+ * @public
8385
+ */
5913
8386
  export class HrulerDataModel extends AbstractDocEmptyType {
8387
+ /**
8388
+ * Constructs an HrulerDataModel from XML element data.
8389
+ *
8390
+ * @param xml - The Doxygen XML parser instance for processing XML content
8391
+ * @param element - The XML element object containing the horizontal ruler
8392
+ * data
8393
+ *
8394
+ * @remarks
8395
+ * This constructor delegates to the parent AbstractDocEmptyType whilst
8396
+ * identifying the element as 'hruler' for proper horizontal line formatting.
8397
+ */
5914
8398
  constructor(xml, element) {
5915
8399
  super(xml, element, 'hruler');
5916
8400
  }
5917
8401
  }
8402
+ /**
8403
+ * Data model for non-breakable space elements within documentation content.
8404
+ *
8405
+ * @remarks
8406
+ * Represents non-breakable space elements that provide control over text
8407
+ * wrapping and spacing within documentation. This implementation processes
8408
+ * Doxygen's nonbreakablespace elements for maintaining text cohesion
8409
+ * across line breaks.
8410
+ *
8411
+ * @public
8412
+ */
5918
8413
  export class NonBreakableSpaceDataModel extends AbstractDocEmptyType {
8414
+ /**
8415
+ * Constructs a NonBreakableSpaceDataModel from XML element data.
8416
+ *
8417
+ * @param xml - The Doxygen XML parser instance for processing XML content
8418
+ * @param element - The XML element object containing the non-breakable
8419
+ * space data
8420
+ *
8421
+ * @remarks
8422
+ * This constructor delegates to the parent AbstractDocEmptyType whilst
8423
+ * identifying the element as 'nonbreakablespace' for proper space handling.
8424
+ */
5919
8425
  constructor(xml, element) {
5920
8426
  super(xml, element, 'nonbreakablespace');
5921
8427
  }
5922
8428
  }
5923
8429
  // Not yet used, present just to remind its presence.
5924
8430
  // <xsd:element name="para" type="docEmptyType" />
8431
+ /**
8432
+ * Data model for empty paragraph elements within documentation content.
8433
+ *
8434
+ * @remarks
8435
+ * Represents empty paragraph elements used as placeholders or structural
8436
+ * markers within documentation. This implementation processes Doxygen's
8437
+ * empty para elements, which serve as document structure indicators
8438
+ * without containing content.
8439
+ *
8440
+ * @public
8441
+ */
5925
8442
  export class ParaEmptyDataModel extends AbstractDocEmptyType {
8443
+ /**
8444
+ * Constructs a ParaEmptyDataModel from XML element data.
8445
+ *
8446
+ * @param xml - The Doxygen XML parser instance for processing XML content
8447
+ * @param element - The XML element object containing the empty paragraph data
8448
+ *
8449
+ * @remarks
8450
+ * This constructor delegates to the parent AbstractDocEmptyType whilst
8451
+ * identifying the element as 'para' for empty paragraph structure handling.
8452
+ */
5926
8453
  constructor(xml, element) {
5927
8454
  super(xml, element, 'para');
5928
8455
  }
5929
8456
  }
5930
8457
  // ----------------------------------------------------------------------------
8458
+ /**
8459
+ * Abstract base class for verbatim text elements within documentation content.
8460
+ *
8461
+ * @remarks
8462
+ * Implements processing for verbatim content elements that preserve exact
8463
+ * formatting and whitespace within documentation. This class handles
8464
+ * elements that contain literal text content, such as code blocks and
8465
+ * preformatted text, whilst maintaining their original formatting and
8466
+ * character sequences.
8467
+ *
8468
+ * The implementation processes both textual content and structured markup
8469
+ * elements that may appear within verbatim contexts, ensuring proper
8470
+ * preservation of the intended display format.
8471
+ *
8472
+ * @public
8473
+ */
5931
8474
  export class AbstractVerbatimType extends AbstractDataModelBase {
8475
+ /**
8476
+ * Constructs an AbstractVerbatimType instance from XML element data.
8477
+ *
8478
+ * @param xml - The Doxygen XML parser instance for processing XML content
8479
+ * @param element - The XML element object containing the verbatim data
8480
+ * @param elementName - The name of the XML element being processed
8481
+ *
8482
+ * @remarks
8483
+ * This constructor processes verbatim elements by extracting both textual
8484
+ * content and any embedded markup elements. The parser maintains proper
8485
+ * content order whilst preserving the original formatting and whitespace
8486
+ * characteristics of the verbatim content.
8487
+ */
5932
8488
  constructor(xml, element, elementName) {
5933
8489
  super(elementName);
5934
8490
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5955,13 +8511,64 @@ export class AbstractVerbatimType extends AbstractDataModelBase {
5955
8511
  }
5956
8512
  // WARNING: not text only, ref encountered in Doxygen reference site.
5957
8513
  // <xsd:element name="verbatim" type="xsd:string" />
8514
+ /**
8515
+ * Data model for verbatim text elements within documentation content.
8516
+ *
8517
+ * @remarks
8518
+ * Represents verbatim text elements that preserve exact formatting and
8519
+ * whitespace for code blocks, examples, and literal text within documentation.
8520
+ * This implementation processes Doxygen's verbatim elements, which maintain
8521
+ * precise character sequences and formatting whilst potentially containing
8522
+ * cross-references and other markup elements.
8523
+ *
8524
+ * @public
8525
+ */
5958
8526
  export class VerbatimDataModel extends AbstractVerbatimType {
8527
+ /**
8528
+ * Constructs a VerbatimDataModel from XML element data.
8529
+ *
8530
+ * @param xml - The Doxygen XML parser instance for processing XML content
8531
+ * @param element - The XML element object containing the verbatim data
8532
+ *
8533
+ * @remarks
8534
+ * This constructor delegates to the parent AbstractVerbatimType to handle
8535
+ * verbatim content processing whilst identifying the element as 'verbatim'
8536
+ * for proper literal text preservation and formatting.
8537
+ */
5959
8538
  constructor(xml, element) {
5960
8539
  super(xml, element, 'verbatim');
5961
8540
  }
5962
8541
  }
5963
8542
  // ----------------------------------------------------------------------------
8543
+ /**
8544
+ * Abstract base class for preformatted content elements within documentation.
8545
+ *
8546
+ * @remarks
8547
+ * Implements processing for preformatted content elements that maintain
8548
+ * specific formatting while supporting embedded markup elements. This class
8549
+ * handles elements that preserve whitespace and formatting whilst allowing
8550
+ * for structured content including cross-references and formatting markup.
8551
+ *
8552
+ * The implementation processes both textual content and document command
8553
+ * group elements that may appear within preformatted contexts, ensuring
8554
+ * proper content organisation and formatting preservation.
8555
+ *
8556
+ * @public
8557
+ */
5964
8558
  export class AbstractPreformattedType extends AbstractDataModelBase {
8559
+ /**
8560
+ * Constructs an AbstractPreformattedType instance from XML element data.
8561
+ *
8562
+ * @param xml - The Doxygen XML parser instance for processing XML content
8563
+ * @param element - The XML element object containing the preformatted data
8564
+ * @param elementName - The name of the XML element being processed
8565
+ *
8566
+ * @remarks
8567
+ * This constructor processes preformatted elements by extracting both
8568
+ * textual content and structured command group elements. The parser
8569
+ * maintains proper content order whilst preserving formatting characteristics
8570
+ * and enabling embedded markup within preformatted contexts.
8571
+ */
5965
8572
  constructor(xml, element, elementName) {
5966
8573
  super(elementName);
5967
8574
  // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
@@ -5986,7 +8593,30 @@ export class AbstractPreformattedType extends AbstractDataModelBase {
5986
8593
  }
5987
8594
  }
5988
8595
  // <xsd:element name="preformatted" type="docMarkupType" />
8596
+ /**
8597
+ * Data model for preformatted content elements within documentation.
8598
+ *
8599
+ * @remarks
8600
+ * Represents preformatted content elements that preserve formatting while
8601
+ * supporting embedded markup elements. This implementation processes
8602
+ * Doxygen's preformatted elements, which maintain whitespace and formatting
8603
+ * whilst allowing for structured content including cross-references and
8604
+ * other documentation markup.
8605
+ *
8606
+ * @public
8607
+ */
5989
8608
  export class PreformattedDataModel extends AbstractPreformattedType {
8609
+ /**
8610
+ * Constructs a PreformattedDataModel from XML element data.
8611
+ *
8612
+ * @param xml - The Doxygen XML parser instance for processing XML content
8613
+ * @param element - The XML element object containing the preformatted data
8614
+ *
8615
+ * @remarks
8616
+ * This constructor delegates to the parent AbstractPreformattedType to
8617
+ * handle preformatted content processing whilst identifying the element
8618
+ * as 'preformatted' for proper formatting preservation and markup support.
8619
+ */
5990
8620
  constructor(xml, element) {
5991
8621
  super(xml, element, 'preformatted');
5992
8622
  }