@xpack/doxygen2docusaurus 2.0.0 → 2.2.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 (365) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -1
  3. package/bin/doxygen2docusaurus.js +5 -5
  4. package/dist/cli/main.d.ts +0 -14
  5. package/dist/cli/main.d.ts.map +1 -1
  6. package/dist/cli/main.js +0 -34
  7. package/dist/cli/main.js.map +1 -1
  8. package/dist/docusaurus/cli-options.d.ts +3 -292
  9. package/dist/docusaurus/cli-options.d.ts.map +1 -1
  10. package/dist/docusaurus/cli-options.js +6 -290
  11. package/dist/docusaurus/cli-options.js.map +1 -1
  12. package/dist/docusaurus/generator.d.ts +0 -172
  13. package/dist/docusaurus/generator.d.ts.map +1 -1
  14. package/dist/docusaurus/generator.js +20 -280
  15. package/dist/docusaurus/generator.js.map +1 -1
  16. package/dist/docusaurus/renderers/conceptparts.d.ts +9 -0
  17. package/dist/docusaurus/renderers/conceptparts.d.ts.map +1 -0
  18. package/dist/docusaurus/renderers/conceptparts.js +21 -0
  19. package/dist/docusaurus/renderers/conceptparts.js.map +1 -0
  20. package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
  21. package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
  22. package/dist/docusaurus/renderers/descriptiontype.js +11 -555
  23. package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
  24. package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
  25. package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
  26. package/dist/docusaurus/renderers/docinternalstype.js +0 -156
  27. package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
  28. package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
  29. package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
  30. package/dist/docusaurus/renderers/doclisttype.js +0 -42
  31. package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
  32. package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
  33. package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
  34. package/dist/docusaurus/renderers/doctabletype.js +1 -113
  35. package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
  36. package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
  37. package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
  38. package/dist/docusaurus/renderers/doctitletype.js +0 -42
  39. package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
  40. package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
  41. package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
  42. package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
  43. package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
  44. package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
  45. package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
  46. package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
  47. package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
  48. package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
  49. package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
  50. package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
  51. package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
  52. package/dist/docusaurus/renderers/inctype.d.ts +0 -23
  53. package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
  54. package/dist/docusaurus/renderers/inctype.js +0 -41
  55. package/dist/docusaurus/renderers/inctype.js.map +1 -1
  56. package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
  57. package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
  58. package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
  59. package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
  60. package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
  61. package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
  62. package/dist/docusaurus/renderers/listingtype.js +1 -88
  63. package/dist/docusaurus/renderers/listingtype.js.map +1 -1
  64. package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
  65. package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
  66. package/dist/docusaurus/renderers/paramtype.js +2 -51
  67. package/dist/docusaurus/renderers/paramtype.js.map +1 -1
  68. package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
  69. package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
  70. package/dist/docusaurus/renderers/referencetype.js +0 -38
  71. package/dist/docusaurus/renderers/referencetype.js.map +1 -1
  72. package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
  73. package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
  74. package/dist/docusaurus/renderers/reftexttype.js +0 -38
  75. package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
  76. package/dist/docusaurus/renderers/reftype.d.ts +0 -22
  77. package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
  78. package/dist/docusaurus/renderers/reftype.js +0 -38
  79. package/dist/docusaurus/renderers/reftype.js.map +1 -1
  80. package/dist/docusaurus/renderers/renderers.d.ts +0 -151
  81. package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
  82. package/dist/docusaurus/renderers/renderers.js +15 -186
  83. package/dist/docusaurus/renderers/renderers.js.map +1 -1
  84. package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
  85. package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
  86. package/dist/docusaurus/renderers/substringtype.js +0 -39
  87. package/dist/docusaurus/renderers/substringtype.js.map +1 -1
  88. package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
  89. package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
  90. package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
  91. package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
  92. package/dist/docusaurus/types.d.ts +0 -110
  93. package/dist/docusaurus/types.d.ts.map +1 -1
  94. package/dist/docusaurus/types.js +0 -11
  95. package/dist/docusaurus/types.js.map +1 -1
  96. package/dist/docusaurus/utils.d.ts +0 -214
  97. package/dist/docusaurus/utils.d.ts.map +1 -1
  98. package/dist/docusaurus/utils.js +0 -296
  99. package/dist/docusaurus/utils.js.map +1 -1
  100. package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
  101. package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
  102. package/dist/docusaurus/view-model/classes-vm.js +9 -225
  103. package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
  104. package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
  105. package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
  106. package/dist/docusaurus/view-model/collection-base.js +11 -101
  107. package/dist/docusaurus/view-model/collection-base.js.map +1 -1
  108. package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
  109. package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
  110. package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
  111. package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
  112. package/dist/docusaurus/view-model/concepts-vm.d.ts +27 -0
  113. package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
  114. package/dist/docusaurus/view-model/concepts-vm.js +337 -0
  115. package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
  116. package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
  117. package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
  118. package/dist/docusaurus/view-model/description-anchors.js +0 -71
  119. package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
  120. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
  121. package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
  122. package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
  123. package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
  124. package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
  125. package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
  126. package/dist/docusaurus/view-model/groups-vm.js +2 -223
  127. package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
  128. package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
  129. package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
  130. package/dist/docusaurus/view-model/members-vm.js +17 -702
  131. package/dist/docusaurus/view-model/members-vm.js.map +1 -1
  132. package/dist/docusaurus/view-model/namespaces-vm.d.ts +5 -199
  133. package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
  134. package/dist/docusaurus/view-model/namespaces-vm.js +85 -284
  135. package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
  136. package/dist/docusaurus/view-model/options.d.ts +0 -43
  137. package/dist/docusaurus/view-model/options.d.ts.map +1 -1
  138. package/dist/docusaurus/view-model/options.js +0 -57
  139. package/dist/docusaurus/view-model/options.js.map +1 -1
  140. package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
  141. package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
  142. package/dist/docusaurus/view-model/pages-vm.js +39 -162
  143. package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
  144. package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
  145. package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
  146. package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
  147. package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
  148. package/dist/docusaurus/view-model/view-model.d.ts +0 -125
  149. package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
  150. package/dist/docusaurus/view-model/view-model.js +20 -182
  151. package/dist/docusaurus/view-model/view-model.js.map +1 -1
  152. package/dist/docusaurus/workspace.d.ts +1 -126
  153. package/dist/docusaurus/workspace.d.ts.map +1 -1
  154. package/dist/docusaurus/workspace.js +8 -221
  155. package/dist/docusaurus/workspace.js.map +1 -1
  156. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +7 -492
  157. package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
  158. package/dist/doxygen/data-model/compounds/compounddef-dm.js +28 -672
  159. package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
  160. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
  161. package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
  162. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
  163. package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
  164. package/dist/doxygen/data-model/compounds/concepts-dm.d.ts +23 -0
  165. package/dist/doxygen/data-model/compounds/concepts-dm.d.ts.map +1 -0
  166. package/dist/doxygen/data-model/compounds/concepts-dm.js +94 -0
  167. package/dist/doxygen/data-model/compounds/concepts-dm.js.map +1 -0
  168. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
  169. package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
  170. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
  171. package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
  172. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
  173. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
  174. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
  175. package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
  176. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
  177. package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
  178. package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
  179. package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
  180. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
  181. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
  182. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
  183. package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
  184. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
  185. package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
  186. package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
  187. package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
  188. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
  189. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
  190. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
  191. package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
  192. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
  193. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
  194. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
  195. package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
  196. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
  197. package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
  198. package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
  199. package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
  200. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
  201. package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
  202. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
  203. package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
  204. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
  205. package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
  206. package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
  207. package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
  208. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
  209. package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
  210. package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
  211. package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
  212. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
  213. package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
  214. package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
  215. package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
  216. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
  217. package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
  218. package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
  219. package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
  220. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
  221. package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
  222. package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
  223. package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
  224. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
  225. package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
  226. package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
  227. package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
  228. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
  229. package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
  230. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
  231. package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
  232. package/dist/doxygen/data-model/compounds/requirements-dm.d.ts +2 -0
  233. package/dist/doxygen/data-model/compounds/requirements-dm.d.ts.map +1 -0
  234. package/dist/doxygen/data-model/compounds/requirements-dm.js +2 -0
  235. package/dist/doxygen/data-model/compounds/requirements-dm.js.map +1 -0
  236. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
  237. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
  238. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
  239. package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
  240. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
  241. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
  242. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
  243. package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
  244. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
  245. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
  246. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
  247. package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
  248. package/dist/doxygen/data-model/data-model.d.ts +0 -149
  249. package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
  250. package/dist/doxygen/data-model/data-model.js +8 -200
  251. package/dist/doxygen/data-model/data-model.js.map +1 -1
  252. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
  253. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
  254. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
  255. package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
  256. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
  257. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
  258. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
  259. package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
  260. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
  261. package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
  262. package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
  263. package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
  264. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
  265. package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
  266. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
  267. package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
  268. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
  269. package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
  270. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
  271. package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
  272. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
  273. package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
  274. package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
  275. package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
  276. package/dist/doxygen/data-model/types.d.ts +0 -104
  277. package/dist/doxygen/data-model/types.d.ts.map +1 -1
  278. package/dist/doxygen/data-model/types.js +0 -52
  279. package/dist/doxygen/data-model/types.js.map +1 -1
  280. package/dist/index.d.ts +5 -16
  281. package/dist/index.d.ts.map +1 -1
  282. package/dist/index.js +5 -42
  283. package/dist/index.js.map +1 -1
  284. package/package.json +49 -52
  285. package/src/cli/main.ts +122 -0
  286. package/src/docusaurus/cli-options.ts +560 -0
  287. package/src/docusaurus/generator.ts +788 -0
  288. package/src/docusaurus/renderers/conceptparts.ts +119 -0
  289. package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
  290. package/src/docusaurus/renderers/docinternalstype.ts +354 -0
  291. package/src/docusaurus/renderers/doclisttype.ts +134 -0
  292. package/src/docusaurus/renderers/doctabletype.ts +220 -0
  293. package/src/docusaurus/renderers/doctitletype.ts +77 -0
  294. package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
  295. package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
  296. package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
  297. package/src/docusaurus/renderers/inctype.ts +75 -0
  298. package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
  299. package/src/docusaurus/renderers/listingtype.ts +235 -0
  300. package/src/docusaurus/renderers/paramtype.ts +116 -0
  301. package/src/docusaurus/renderers/referencetype.ts +83 -0
  302. package/src/docusaurus/renderers/reftexttype.ts +81 -0
  303. package/src/docusaurus/renderers/reftype.ts +77 -0
  304. package/src/docusaurus/renderers/renderers.ts +812 -0
  305. package/src/docusaurus/renderers/substringtype.ts +53 -0
  306. package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
  307. package/src/docusaurus/types.ts +187 -0
  308. package/src/docusaurus/utils.ts +409 -0
  309. package/src/docusaurus/view-model/README.md +12 -0
  310. package/src/docusaurus/view-model/classes-vm.ts +1088 -0
  311. package/src/docusaurus/view-model/collection-base.ts +352 -0
  312. package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
  313. package/src/docusaurus/view-model/concepts-vm.ts +749 -0
  314. package/src/docusaurus/view-model/description-anchors.ts +107 -0
  315. package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
  316. package/src/docusaurus/view-model/groups-vm.ts +548 -0
  317. package/src/docusaurus/view-model/members-vm.ts +1943 -0
  318. package/src/docusaurus/view-model/namespaces-vm.ts +1037 -0
  319. package/src/docusaurus/view-model/options.ts +95 -0
  320. package/src/docusaurus/view-model/pages-vm.ts +389 -0
  321. package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
  322. package/src/docusaurus/view-model/view-model.ts +513 -0
  323. package/src/docusaurus/workspace.ts +588 -0
  324. package/src/doxygen/data-model/README.md +13 -0
  325. package/src/doxygen/data-model/compounds/compounddef-dm.ts +1230 -0
  326. package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
  327. package/src/doxygen/data-model/compounds/concepts-dm.ts +362 -0
  328. package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10114 -0
  329. package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
  330. package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
  331. package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
  332. package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
  333. package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
  334. package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
  335. package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
  336. package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +881 -0
  337. package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
  338. package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
  339. package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
  340. package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
  341. package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
  342. package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
  343. package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
  344. package/src/doxygen/data-model/compounds/requirements-dm.ts +50 -0
  345. package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
  346. package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +564 -0
  347. package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
  348. package/src/doxygen/data-model/data-model.ts +378 -0
  349. package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
  350. package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
  351. package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
  352. package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
  353. package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
  354. package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
  355. package/src/doxygen/data-model/types.ts +175 -0
  356. package/src/doxygen/data-model/xsds/README.md +6 -0
  357. package/src/doxygen/data-model/xsds/compound.xsd +1788 -0
  358. package/src/doxygen/data-model/xsds/doxyfile.xsd +365 -0
  359. package/src/doxygen/data-model/xsds/index.xsd +74 -0
  360. package/src/doxygen/data-model/xsds/xml.xsd +23 -0
  361. package/src/index.ts +267 -0
  362. package/src/tsconfig.json +12 -0
  363. package/dist/doxygen2docusaurus.d.ts +0 -4774
  364. package/dist/tsconfig.tsbuildinfo +0 -1
  365. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,1230 @@
1
+ /*
2
+ * This file is part of the xPack project (http://xpack.github.io).
3
+ * Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose is hereby granted, under the terms of the MIT license.
7
+ *
8
+ * If a copy of the license was not distributed with this file, it can be
9
+ * obtained from https://opensource.org/licenses/mit.
10
+ */
11
+
12
+ // ----------------------------------------------------------------------------
13
+
14
+ import * as util from 'node:util'
15
+ import assert from 'node:assert'
16
+
17
+ import { IncludedByDataModel, IncludesDataModel } from './inctype-dm.js'
18
+ import {
19
+ BaseCompoundRefDataModel,
20
+ DerivedCompoundRefDataModel,
21
+ } from './compoundreftype-dm.js'
22
+ import { TemplateParamListDataModel } from './templateparamlisttype-dm.js'
23
+ import { SectionDefDataModel } from './sectiondeftype-dm.js'
24
+ import { ListOfAllMembersDataModel } from './listofallmemberstype-dm.js'
25
+ import {
26
+ AbstractStringType,
27
+ BriefDescriptionDataModel,
28
+ DetailedDescriptionDataModel,
29
+ ParaDataModel,
30
+ ProgramListingDataModel,
31
+ Sect5DataModel,
32
+ } from './descriptiontype-dm.js'
33
+ import {
34
+ InnerClassDataModel,
35
+ InnerConceptDataModel,
36
+ InnerDirDataModel,
37
+ InnerFileDataModel,
38
+ InnerGroupDataModel,
39
+ InnerNamespaceDataModel,
40
+ InnerPageDataModel,
41
+ } from './reftype-dm.js'
42
+ import { LocationDataModel } from './locationtype-dm.js'
43
+ import { AbstractDataModelBase } from '../types.js'
44
+ import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
45
+ import { TableOfContentsDataModel } from './tableofcontentstype-dm.js'
46
+ import {
47
+ InitializerDataModel,
48
+ RequiresClauseDataModel,
49
+ } from './linkedtexttype-dm.js'
50
+ import { ConceptPartsDataModel } from './concepts-dm.js'
51
+
52
+ // ----------------------------------------------------------------------------
53
+
54
+ /**
55
+ * Abstract template class for creating new data model objects.
56
+ *
57
+ * @remarks
58
+ * This template provides a standardised structure for implementing new
59
+ * data model types with common properties and processing patterns. It
60
+ * demonstrates the typical XML parsing approach used throughout the
61
+ * Doxygen data model implementation, including element and attribute
62
+ * processing workflows.
63
+ *
64
+ * @public
65
+ */
66
+ // Template, to be used for creating new objects.
67
+ export abstract class AbstractXyzType extends AbstractDataModelBase {
68
+ // If the object has a text.
69
+ text = ''
70
+
71
+ // Mandatory elements.
72
+ compoundName = ''
73
+ colsCount = NaN
74
+ elm12 = false
75
+ // elm13: BriefDescriptionDataModel
76
+
77
+ // Optional elements.
78
+ elm20?: string | undefined
79
+ elm21?: boolean | undefined
80
+ elm22?: number | undefined
81
+ briefDescription: BriefDescriptionDataModel | undefined
82
+ includes?: IncludesDataModel[] | undefined
83
+
84
+ // Mandatory attributes.
85
+ id = ''
86
+ rowsCount = NaN
87
+ thead = false
88
+
89
+ // Optional attributes.
90
+ language?: string | undefined
91
+ final?: boolean | undefined
92
+ lineno?: number | undefined
93
+ attr23?: string[] | undefined
94
+
95
+ // ------------------------------------------
96
+
97
+ // children: Array<string | ParaDataModel | Sect5DataModel> = []
98
+
99
+ /**
100
+ * Constructs a new template data model instance.
101
+ *
102
+ * @remarks
103
+ * Demonstrates the standard XML parsing workflow used throughout the
104
+ * data model implementation. This includes processing inner elements,
105
+ * handling mixed content with ordered children, and extracting attributes
106
+ * with appropriate type conversion and validation.
107
+ *
108
+ * @param xml - The XML parser instance for processing elements
109
+ * @param element - The XML element object to parse
110
+ * @param elementName - The name of the XML element being processed
111
+ */
112
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
113
+ super(elementName)
114
+
115
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
116
+
117
+ // ------------------------------------------------------------------------
118
+ // Process elements.
119
+
120
+ // If the object has only a text.
121
+ assert(xml.isInnerElementText(element, elementName))
122
+ this.text = xml.getInnerElementText(element, elementName)
123
+
124
+ // ------------------------------------------
125
+
126
+ // If the object has sub-elements.
127
+ const innerElements = xml.getInnerElements(element, elementName)
128
+ assert(innerElements.length > 0)
129
+
130
+ for (const innerElement of innerElements) {
131
+ if (xml.hasInnerText(innerElement)) {
132
+ // Ignore texts.
133
+ } else if (xml.isInnerElementText(innerElement, 'compoundname')) {
134
+ this.compoundName = xml.getInnerElementText(
135
+ innerElement,
136
+ 'compoundname'
137
+ )
138
+ } else if (xml.hasInnerElement(innerElement, 'briefdescription')) {
139
+ this.briefDescription = new BriefDescriptionDataModel(xml, innerElement)
140
+ } else if (xml.hasInnerElement(innerElement, 'includes')) {
141
+ // console.log(util.inspect(item))
142
+ this.includes ??= []
143
+ this.includes.push(new IncludesDataModel(xml, innerElement))
144
+ } else {
145
+ console.error(
146
+ `${elementName} element:`,
147
+ Object.keys(innerElement),
148
+ 'not implemented yet in',
149
+ this.constructor.name
150
+ )
151
+ }
152
+ }
153
+
154
+ // ------------------------------------------
155
+
156
+ // If the object has to keep trak of the order of mixed type children.
157
+ // const innerElements = xml.getInnerElements(element, elementName)
158
+ // assert(innerElements.length > 0)
159
+
160
+ this.children = []
161
+
162
+ for (const innerElement of innerElements) {
163
+ if (xml.hasInnerText(innerElement)) {
164
+ this.children.push(xml.getInnerText(innerElement))
165
+ } else if (xml.hasInnerElement(innerElement, 'para')) {
166
+ this.children.push(new ParaDataModel(xml, innerElement))
167
+ } else if (xml.hasInnerElement(innerElement, 'sect5')) {
168
+ this.children.push(new Sect5DataModel(xml, innerElement))
169
+ } else {
170
+ console.error(util.inspect(innerElement))
171
+ console.error(
172
+ `${elementName} element:`,
173
+ Object.keys(innerElement),
174
+ 'not implemented yet in',
175
+ this.constructor.name
176
+ )
177
+ }
178
+ }
179
+
180
+ // ------------------------------------------------------------------------
181
+ // Process attributes.
182
+
183
+ // If the object has no attributes.
184
+ assert(!xml.hasAttributes(element))
185
+
186
+ // ------------------------------------------
187
+
188
+ assert(xml.hasAttributes(element))
189
+
190
+ const attributesNames = xml.getAttributesNames(element)
191
+ // console.log(attributesNames)
192
+ for (const attributeName of attributesNames) {
193
+ // console.log(attributeName)
194
+ if (attributeName === '@_id') {
195
+ this.id = xml.getAttributeStringValue(element, '@_id')
196
+ } else if (attributeName === '@_rows') {
197
+ assert(isNaN(this.rowsCount))
198
+ this.rowsCount = xml.getAttributeNumberValue(element, '@_rows')
199
+ } else if (attributeName === '@_thead') {
200
+ this.thead = xml.getAttributeBooleanValue(element, '@_thead')
201
+ } else if (attributeName === '@_language') {
202
+ this.language = xml.getAttributeStringValue(element, '@_language')
203
+ } else if (attributeName === '@_final') {
204
+ this.final = xml.getAttributeBooleanValue(element, '@_final')
205
+ } else if (attributeName === '@_lineno') {
206
+ this.lineno = xml.getAttributeNumberValue(element, '@_lineno')
207
+ } else {
208
+ console.error(util.inspect(element, { compact: false, depth: 999 }))
209
+ console.error(
210
+ `${elementName} attribute:`,
211
+ attributeName,
212
+ 'not implemented yet in',
213
+ this.constructor.name
214
+ )
215
+ }
216
+ }
217
+
218
+ assert(this.id.length > 0)
219
+
220
+ // ------------------------------------------------------------------------
221
+
222
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
223
+ }
224
+ }
225
+
226
+ /**
227
+ * Concrete implementation of the template data model.
228
+ *
229
+ * @remarks
230
+ * Provides a specific implementation of the abstract template class,
231
+ * demonstrating how to create concrete data model objects for particular
232
+ * XML element types. This pattern is used throughout the data model
233
+ * for creating type-specific implementations.
234
+ *
235
+ * @public
236
+ */
237
+ export class XyzDataModel extends AbstractXyzType {
238
+ /**
239
+ * Constructs a new XyzDataModel instance.
240
+ *
241
+ * @remarks
242
+ * Creates a data model object for 'xyz' XML elements by delegating
243
+ * to the parent constructor with the appropriate element name.
244
+ *
245
+ * @param xml - The XML parser instance for processing elements
246
+ * @param element - The XML element object to parse
247
+ */
248
+ constructor(xml: DoxygenXmlParser, element: object) {
249
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
250
+ super(xml, element, 'xyz')
251
+ }
252
+ }
253
+
254
+ // ----------------------------------------------------------------------------
255
+
256
+ // <xsd:complexType name="compounddefType">
257
+ // <xsd:sequence>
258
+ // <xsd:element name="compoundname" type="xsd:string"/>
259
+ // <xsd:element name="title" type="xsd:string" minOccurs="0" />
260
+
261
+ // <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
262
+ // <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
263
+
264
+ // <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
265
+ // <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
266
+
267
+ // <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
268
+ // <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
269
+
270
+ // <xsd:element name="innermodule" type="refType" minOccurs="0" maxOccurs="unbounded" />
271
+ // <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
272
+ // <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
273
+ // <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
274
+ // <xsd:element name="innerconcept" type="refType" minOccurs="0" maxOccurs="unbounded" />
275
+ // <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
276
+ // <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
277
+ // <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
278
+
279
+ // <xsd:element name="qualifier" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
280
+
281
+ // <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
282
+ // <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
283
+ // <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
284
+ // <xsd:element name="requiresclause" type="linkedTextType" minOccurs="0" />
285
+ // <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
286
+
287
+ // <xsd:element name="conceptparts" type="conceptParts" minOccurs="0" />
288
+
289
+ // <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
290
+ // <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
291
+ // <xsd:element name="exports" type="exportsType" minOccurs="0" maxOccurs="1"/>
292
+ // <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
293
+ // <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
294
+ // <xsd:element name="programlisting" type="listingType" minOccurs="0" />
295
+
296
+ // <xsd:element name="satisfies" type="requirementRefsType" minOccurs="0" maxOccurs="1" />
297
+ // <xsd:element name="verifies" type="requirementRefsType" minOccurs="0" maxOccurs="1" />
298
+
299
+ // <xsd:element name="location" type="locationType" minOccurs="0" />
300
+ // <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
301
+
302
+ // <xsd:element name="requirementslist" type="requirementslistType" minOccurs="0" />
303
+ // </xsd:sequence>
304
+
305
+ // <xsd:attribute name="id" type="xsd:string" />
306
+ // <xsd:attribute name="kind" type="DoxCompoundKind" />
307
+ // <xsd:attribute name="language" type="DoxLanguage" use="optional"/>
308
+ // <xsd:attribute name="prot" type="DoxProtectionKind" />
309
+ // <xsd:attribute name="final" type="DoxBool" use="optional"/>
310
+ // <xsd:attribute name="inline" type="DoxBool" use="optional"/>
311
+ // <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
312
+ // <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
313
+ // </xsd:complexType>
314
+
315
+ // <xsd:simpleType name="DoxCompoundKind">
316
+ // <xsd:restriction base="xsd:string">
317
+ // <xsd:enumeration value="class" />
318
+ // <xsd:enumeration value="struct" />
319
+ // <xsd:enumeration value="union" />
320
+ // <xsd:enumeration value="interface" />
321
+ // <xsd:enumeration value="protocol" />
322
+ // <xsd:enumeration value="category" />
323
+ // <xsd:enumeration value="exception" />
324
+ // <xsd:enumeration value="service" />
325
+ // <xsd:enumeration value="singleton" />
326
+ // <xsd:enumeration value="module" />
327
+ // <xsd:enumeration value="type" />
328
+ // <xsd:enumeration value="file" />
329
+ // <xsd:enumeration value="namespace" />
330
+ // <xsd:enumeration value="group" />
331
+ // <xsd:enumeration value="page" />
332
+ // <xsd:enumeration value="example" />
333
+ // <xsd:enumeration value="dir" />
334
+ // <xsd:enumeration value="concept" />
335
+ // <xsd:enumeration value="requirement" />
336
+ // <xsd:enumeration value="requirements" />
337
+ // </xsd:restriction>
338
+ // </xsd:simpleType>
339
+
340
+ /**
341
+ * Abstract base class for Doxygen compound definition data models.
342
+ *
343
+ * @remarks
344
+ * Represents the core structure of compound definitions in Doxygen XML output,
345
+ * including classes, structures, files, namespaces, and other compound types.
346
+ * This class handles the complete XML schema for compound definitions with
347
+ * comprehensive element and attribute processing to capture all aspects of
348
+ * the documented code structures.
349
+ *
350
+ * @public
351
+ */
352
+ export abstract class AbstractCompoundDefType extends AbstractDataModelBase {
353
+ // Mandatory elements.
354
+
355
+ /**
356
+ * The name of the compound element.
357
+ *
358
+ * @remarks
359
+ * Contains the fully qualified name of the compound (class, namespace,
360
+ * file, etc.) as extracted from the 'compoundname' XML element. This
361
+ * represents the primary identifier for the compound in the documentation
362
+ * hierarchy and is mandatory for all compound types except namespaces.
363
+ */
364
+ compoundName = ''
365
+
366
+ // Optional elements.
367
+
368
+ /**
369
+ * Optional title for the compound.
370
+ *
371
+ * @remarks
372
+ * Provides a human-readable title for the compound that may differ from
373
+ * the compound name. This is typically used for pages and groups where
374
+ * a descriptive title is more appropriate than the technical identifier.
375
+ */
376
+ title?: string | undefined
377
+
378
+ /**
379
+ * Brief description of the compound.
380
+ *
381
+ * @remarks
382
+ * Contains a concise summary description of the compound extracted from
383
+ * the 'briefdescription' XML element. This provides a short overview
384
+ * suitable for listings and summary views of the documented entity.
385
+ */
386
+ briefDescription?: BriefDescriptionDataModel | undefined
387
+
388
+ /**
389
+ * Detailed description of the compound.
390
+ *
391
+ * @remarks
392
+ * Contains comprehensive documentation for the compound extracted from
393
+ * the 'detaileddescription' XML element. This includes full description
394
+ * text with formatting, examples, and other detailed documentation
395
+ * content.
396
+ */
397
+ detailedDescription?: DetailedDescriptionDataModel | undefined
398
+
399
+ /**
400
+ * Base compound references for inheritance relationships.
401
+ *
402
+ * @remarks
403
+ * Contains references to base classes or parent compounds from which
404
+ * this compound inherits. This property captures the inheritance
405
+ * hierarchy information extracted from 'basecompoundref' XML elements
406
+ * for object-oriented documentation structures.
407
+ */
408
+ baseCompoundRefs?: BaseCompoundRefDataModel[] | undefined
409
+
410
+ /**
411
+ * Derived compound references for inheritance relationships.
412
+ *
413
+ * @remarks
414
+ * Contains references to derived classes or child compounds that inherit
415
+ * from this compound. This property captures the inheritance hierarchy
416
+ * information extracted from 'derivedcompoundref' XML elements for
417
+ * complete inheritance documentation.
418
+ */
419
+ derivedCompoundRefs?: DerivedCompoundRefDataModel[] | undefined
420
+
421
+ /**
422
+ * Include file references for this compound.
423
+ *
424
+ * @remarks
425
+ * Contains information about header files or modules that this compound
426
+ * includes or depends upon. This property captures dependency
427
+ * relationships extracted from 'includes' XML elements, providing
428
+ * visibility into the file inclusion structure.
429
+ */
430
+ includes?: IncludesDataModel[] | undefined
431
+
432
+ /**
433
+ * Reverse include file references for this compound.
434
+ *
435
+ * @remarks
436
+ * Contains information about other files or compounds that include this
437
+ * compound. This property captures reverse dependency relationships
438
+ * extracted from 'includedby' XML elements, showing which entities
439
+ * depend on this compound.
440
+ */
441
+ includedBy?: IncludedByDataModel[] | undefined
442
+
443
+ /**
444
+ * Template parameter list for templated compounds.
445
+ *
446
+ * @remarks
447
+ * Contains the template parameter definitions for templated classes,
448
+ * functions, or other templated entities. This property captures
449
+ * template information extracted from 'templateparamlist' XML elements,
450
+ * providing details about generic programming constructs.
451
+ */
452
+ templateParamList?: TemplateParamListDataModel | undefined
453
+
454
+ /**
455
+ * Section definitions within the compound.
456
+ *
457
+ * @remarks
458
+ * Contains organised sections of members and documentation within the
459
+ * compound. This property captures structured content extracted from
460
+ * 'sectiondef' XML elements, providing hierarchical organisation of
461
+ * compound members by type and visibility.
462
+ */
463
+ sectionDefs?: SectionDefDataModel[] | undefined
464
+
465
+ /**
466
+ * Table of contents for the compound documentation.
467
+ *
468
+ * @remarks
469
+ * Contains the navigation structure for complex compound documentation.
470
+ * This property captures hierarchical content organisation extracted
471
+ * from 'tableofcontents' XML elements, providing structured navigation
472
+ * for large documentation entities.
473
+ */
474
+ tableOfContents?: TableOfContentsDataModel | undefined
475
+ // innerModules
476
+
477
+ /**
478
+ * Requires clause for constrained templates or concepts.
479
+ *
480
+ * @remarks
481
+ * Contains the `requires` clause expression for constrained templates
482
+ * or concept definitions. This property captures constraint information
483
+ * extracted from 'requiresclause' XML elements, representing C++
484
+ * template constraints and concept requirements in the documentation.
485
+ */
486
+ requiresClause?: RequiresClauseDataModel | undefined
487
+
488
+ /**
489
+ * Initializer expression for the compound.
490
+ *
491
+ * @remarks
492
+ * Contains the initializer expression associated with this compound,
493
+ * typically used for concept definitions that include a defining
494
+ * expression. This property captures initializer content extracted
495
+ * from 'initializer' XML elements in the Doxygen compound output.
496
+ */
497
+ initializer?: InitializerDataModel | undefined
498
+
499
+ /**
500
+ * Concept parts associated with the compound.
501
+ *
502
+ * @remarks
503
+ * Contains the structured `conceptparts` content emitted by Doxygen for
504
+ * concept definitions. This property captures the ordered mixture of code
505
+ * fragments and documentation fragments extracted from 'conceptparts'
506
+ * XML elements, preserving their original sequence for later rendering in
507
+ * the generated documentation.
508
+ */
509
+ conceptParts?: ConceptPartsDataModel | undefined
510
+
511
+ /**
512
+ * Inner folder references contained within this compound.
513
+ *
514
+ * @remarks
515
+ * Contains references to subdirectories or folders that are logically
516
+ * contained within this compound. This property captures hierarchical
517
+ * folder structure extracted from 'innerdir' XML elements, typically
518
+ * used for directory-based documentation organisation.
519
+ */
520
+ innerDirs?: InnerDirDataModel[] | undefined
521
+
522
+ /**
523
+ * Inner file references contained within this compound.
524
+ *
525
+ * @remarks
526
+ * Contains references to files that are logically contained within this
527
+ * compound. This property captures file relationships extracted from
528
+ * 'innerfile' XML elements, providing visibility into compound-to-file
529
+ * associations in the documentation structure.
530
+ */
531
+ innerFiles?: InnerFileDataModel[] | undefined
532
+
533
+ /**
534
+ * Inner class references contained within this compound.
535
+ *
536
+ * @remarks
537
+ * Contains references to classes, structures, or other class-like
538
+ * entities that are defined within this compound. This property captures
539
+ * nested type relationships extracted from 'innerclass' XML elements,
540
+ * supporting hierarchical type documentation.
541
+ */
542
+ innerClasses?: InnerClassDataModel[] | undefined
543
+
544
+ /**
545
+ * Inner concept references contained within this compound.
546
+ *
547
+ * @remarks
548
+ * Contains references to concepts that are defined within this compound.
549
+ * This property captures nested concept relationships extracted from
550
+ * 'innerconcept' XML elements, supporting hierarchical concept documentation.
551
+ */
552
+ innerConcepts?: InnerConceptDataModel[] | undefined
553
+
554
+ /**
555
+ * Inner namespace references contained within this compound.
556
+ *
557
+ * @remarks
558
+ * Contains references to namespaces that are nested within this compound.
559
+ * This property captures namespace hierarchy relationships extracted from
560
+ * 'innernamespace' XML elements, supporting multi-level namespace
561
+ * documentation organisation.
562
+ */
563
+ innerNamespaces?: InnerNamespaceDataModel[] | undefined
564
+
565
+ /**
566
+ * Inner page references contained within this compound.
567
+ *
568
+ * @remarks
569
+ * Contains references to documentation pages that are logically
570
+ * associated with this compound. This property captures page
571
+ * relationships extracted from 'innerpage' XML elements, supporting
572
+ * structured documentation navigation.
573
+ */
574
+ innerPages?: InnerPageDataModel[] | undefined
575
+
576
+ /**
577
+ * Inner group references contained within this compound.
578
+ *
579
+ * @remarks
580
+ * Contains references to documentation groups that are associated with
581
+ * this compound. This property captures group relationships extracted
582
+ * from 'innergroup' XML elements, supporting thematic organisation of
583
+ * related documentation elements.
584
+ */
585
+ innerGroups?: InnerGroupDataModel[] | undefined
586
+
587
+ /**
588
+ * Program listing or source code for the compound.
589
+ *
590
+ * @remarks
591
+ * Contains the actual source code implementation or listing for the
592
+ * compound when available. This property captures code content extracted
593
+ * from 'programlisting' XML elements, providing syntax-highlighted
594
+ * source code display in the documentation.
595
+ */
596
+ programListing?: ProgramListingDataModel | undefined
597
+
598
+ /**
599
+ * Location information for the compound definition.
600
+ *
601
+ * @remarks
602
+ * Contains file path, line number, and other location details for where
603
+ * the compound is defined in the source code. This property captures
604
+ * location metadata extracted from 'location' XML elements, enabling
605
+ * source code navigation and reference linking.
606
+ */
607
+ location?: LocationDataModel | undefined
608
+
609
+ /**
610
+ * Complete list of all members contained in the compound.
611
+ *
612
+ * @remarks
613
+ * Contains a comprehensive list of all members (methods, properties,
614
+ * etc.) that belong to this compound, including inherited members.
615
+ * This property captures member information extracted from
616
+ * 'listofallmembers' XML elements for complete API documentation.
617
+ */
618
+ listOfAllMembers?: ListOfAllMembersDataModel | undefined
619
+
620
+ // Mandatory attributes.
621
+
622
+ /**
623
+ * Unique identifier for the compound.
624
+ *
625
+ * @remarks
626
+ * Contains the unique ID assigned to this compound by Doxygen for
627
+ * cross-referencing and linking purposes. This identifier is mandatory
628
+ * and serves as the primary key for compound identification throughout
629
+ * the documentation system.
630
+ */
631
+ id = ''
632
+
633
+ /**
634
+ * The kind or type of compound.
635
+ *
636
+ * @remarks
637
+ * Specifies the compound type using DoxCompoundKind enumeration values
638
+ * such as 'class', 'struct', 'file', 'namespace', 'page', etc. This
639
+ * mandatory attribute determines how the compound should be processed
640
+ * and displayed in the documentation output.
641
+ */
642
+ kind = '' // DoxCompoundKind
643
+
644
+ // Optional attributes.
645
+
646
+ /**
647
+ * Programming language of the compound.
648
+ *
649
+ * @remarks
650
+ * Specifies the programming language using DoxLanguage enumeration
651
+ * values when the compound is language-specific. This optional attribute
652
+ * enables language-aware processing and appropriate syntax highlighting
653
+ * in the generated documentation.
654
+ */
655
+ language?: string | undefined // DoxLanguage
656
+ // WARNING: This attribute is not marked as optional, but is not present.
657
+
658
+ /**
659
+ * Protection level of the compound.
660
+ *
661
+ * @remarks
662
+ * Specifies the access protection level (public, private, protected)
663
+ * for the compound using DoxProtectionKind enumeration values. Note
664
+ * that whilst this attribute is not marked as optional in the XML
665
+ * schema, it may not be present in all compound definitions.
666
+ */
667
+ prot?: string | undefined
668
+
669
+ /**
670
+ * Indicates whether the compound is marked as final.
671
+ *
672
+ * @remarks
673
+ * Specifies that the compound cannot be inherited from or extended,
674
+ * typically used in object-oriented programming languages that support
675
+ * final classes or sealed types. This boolean attribute reflects the
676
+ * final modifier in the source code.
677
+ */
678
+ final?: boolean | undefined
679
+
680
+ /**
681
+ * Indicates whether the compound is inline.
682
+ *
683
+ * @remarks
684
+ * Specifies that the compound is defined inline, typically used for
685
+ * functions, methods, or other constructs that are implemented directly
686
+ * in header files. This boolean attribute reflects inline declarations
687
+ * in the source code.
688
+ */
689
+ inline?: boolean | undefined
690
+
691
+ /**
692
+ * Indicates whether the compound is sealed.
693
+ *
694
+ * @remarks
695
+ * Specifies that the compound is sealed and cannot be inherited from,
696
+ * similar to final but using different language-specific terminology.
697
+ * This boolean attribute reflects sealed modifiers found in languages
698
+ * like C# or other object-oriented programming environments.
699
+ */
700
+ sealed?: boolean | undefined
701
+
702
+ /**
703
+ * Indicates whether the compound is abstract.
704
+ *
705
+ * @remarks
706
+ * Specifies that the compound is abstract and cannot be instantiated
707
+ * directly, typically requiring concrete implementations of abstract
708
+ * methods or properties. This boolean attribute reflects abstract
709
+ * modifiers in object-oriented programming languages.
710
+ */
711
+ abstract?: boolean | undefined
712
+
713
+ // Not in xsd.
714
+ // parentId: string = ''
715
+ // permalink: string = ''
716
+
717
+ /**
718
+ * Constructs a new compound definition data model instance.
719
+ *
720
+ * @remarks
721
+ * Parses the complete XML structure for compound definitions, processing
722
+ * all elements and attributes according to the Doxygen XML schema. This
723
+ * includes handling optional and mandatory elements, complex nested
724
+ * structures, and comprehensive attribute validation to ensure data
725
+ * integrity throughout the parsing process.
726
+ *
727
+ * @param xml - The XML parser instance for processing elements
728
+ * @param element - The XML element object to parse
729
+ * @param elementName - The name of the XML element being processed
730
+ */
731
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
732
+ super(elementName)
733
+
734
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
735
+
736
+ // ------------------------------------------------------------------------
737
+ // Process elements.
738
+
739
+ // console.log(util.inspect(element, { compact: false, depth: 999 })
740
+ const innerElements = xml.getInnerElements(element, elementName)
741
+ assert(innerElements.length > 0)
742
+
743
+ for (const innerElement of innerElements) {
744
+ if (xml.hasInnerText(innerElement)) {
745
+ // Ignore texts.
746
+ } else if (xml.isInnerElementText(innerElement, 'compoundname')) {
747
+ this.compoundName = xml.getInnerElementText(
748
+ innerElement,
749
+ 'compoundname'
750
+ )
751
+ } else if (xml.isInnerElementText(innerElement, 'title')) {
752
+ this.title = xml.getInnerElementText(innerElement, 'title')
753
+ } else if (xml.hasInnerElement(innerElement, 'briefdescription')) {
754
+ this.briefDescription = new BriefDescriptionDataModel(xml, innerElement)
755
+ } else if (xml.hasInnerElement(innerElement, 'detaileddescription')) {
756
+ this.detailedDescription = new DetailedDescriptionDataModel(
757
+ xml,
758
+ innerElement
759
+ )
760
+ } else if (xml.hasInnerElement(innerElement, 'basecompoundref')) {
761
+ this.baseCompoundRefs ??= []
762
+ this.baseCompoundRefs.push(
763
+ new BaseCompoundRefDataModel(xml, innerElement)
764
+ )
765
+ } else if (xml.hasInnerElement(innerElement, 'derivedcompoundref')) {
766
+ this.derivedCompoundRefs ??= []
767
+ this.derivedCompoundRefs.push(
768
+ new DerivedCompoundRefDataModel(xml, innerElement)
769
+ )
770
+ } else if (xml.hasInnerElement(innerElement, 'includes')) {
771
+ // console.log(util.inspect(item))
772
+ this.includes ??= []
773
+ this.includes.push(new IncludesDataModel(xml, innerElement))
774
+ } else if (xml.hasInnerElement(innerElement, 'includedby')) {
775
+ // console.log(util.inspect(item))
776
+ this.includedBy ??= []
777
+ this.includedBy.push(new IncludedByDataModel(xml, innerElement))
778
+ } else if (xml.hasInnerElement(innerElement, 'incdepgraph')) {
779
+ // TODO: Ignored, not used for now.
780
+ } else if (xml.hasInnerElement(innerElement, 'invincdepgraph')) {
781
+ // TODO: Ignored, not used for now.
782
+ } else if (xml.hasInnerElement(innerElement, 'innerdir')) {
783
+ this.innerDirs ??= []
784
+ this.innerDirs.push(new InnerDirDataModel(xml, innerElement))
785
+ } else if (xml.hasInnerElement(innerElement, 'innerfile')) {
786
+ this.innerFiles ??= []
787
+ this.innerFiles.push(new InnerFileDataModel(xml, innerElement))
788
+ } else if (xml.hasInnerElement(innerElement, 'innerclass')) {
789
+ this.innerClasses ??= []
790
+ this.innerClasses.push(new InnerClassDataModel(xml, innerElement))
791
+ } else if (xml.hasInnerElement(innerElement, 'innerconcept')) {
792
+ this.innerConcepts ??= []
793
+ this.innerConcepts.push(new InnerConceptDataModel(xml, innerElement))
794
+ } else if (xml.hasInnerElement(innerElement, 'innernamespace')) {
795
+ this.innerNamespaces ??= []
796
+ this.innerNamespaces.push(
797
+ new InnerNamespaceDataModel(xml, innerElement)
798
+ )
799
+ } else if (xml.hasInnerElement(innerElement, 'innerpage')) {
800
+ this.innerPages ??= []
801
+ this.innerPages.push(new InnerPageDataModel(xml, innerElement))
802
+ } else if (xml.hasInnerElement(innerElement, 'innergroup')) {
803
+ this.innerGroups ??= []
804
+ this.innerGroups.push(new InnerGroupDataModel(xml, innerElement))
805
+ } else if (xml.hasInnerElement(innerElement, 'templateparamlist')) {
806
+ this.templateParamList = new TemplateParamListDataModel(
807
+ xml,
808
+ innerElement
809
+ )
810
+ } else if (xml.hasInnerElement(innerElement, 'sectiondef')) {
811
+ this.sectionDefs ??= []
812
+ this.sectionDefs.push(new SectionDefDataModel(xml, innerElement))
813
+ } else if (xml.hasInnerElement(innerElement, 'tableofcontents')) {
814
+ this.tableOfContents = new TableOfContentsDataModel(xml, innerElement)
815
+ } else if (xml.hasInnerElement(innerElement, 'requiresclause')) {
816
+ this.requiresClause = new RequiresClauseDataModel(xml, innerElement)
817
+ } else if (xml.hasInnerElement(innerElement, 'initializer')) {
818
+ this.initializer = new InitializerDataModel(xml, innerElement)
819
+ } else if (xml.hasInnerElement(innerElement, 'conceptparts')) {
820
+ this.conceptParts = new ConceptPartsDataModel(xml, innerElement)
821
+ } else if (xml.hasInnerElement(innerElement, 'inheritancegraph')) {
822
+ // TODO: Ignored, not used for now.
823
+ } else if (xml.hasInnerElement(innerElement, 'collaborationgraph')) {
824
+ // TODO: Ignored, not used for now.
825
+ } else if (xml.hasInnerElement(innerElement, 'programlisting')) {
826
+ assert(this.programListing === undefined)
827
+ this.programListing = new ProgramListingDataModel(xml, innerElement)
828
+ } else if (xml.hasInnerElement(innerElement, 'location')) {
829
+ this.location = new LocationDataModel(xml, innerElement)
830
+ } else if (xml.hasInnerElement(innerElement, 'listofallmembers')) {
831
+ this.listOfAllMembers = new ListOfAllMembersDataModel(xml, innerElement)
832
+ } else {
833
+ console.error(
834
+ `${elementName} element:`,
835
+ Object.keys(innerElement),
836
+ 'not implemented yet in',
837
+ this.constructor.name
838
+ )
839
+ }
840
+ }
841
+
842
+ // Moved down, depends on kind.
843
+ // assert(this.compoundName.length > 0)
844
+
845
+ // ------------------------------------------------------------------------
846
+ // Process attributes.
847
+
848
+ assert(xml.hasAttributes(element))
849
+
850
+ const attributesNames = xml.getAttributesNames(element)
851
+ // console.log(attributesNames)
852
+ for (const attributeName of attributesNames) {
853
+ // console.log(attributeName)
854
+ if (attributeName === '@_id') {
855
+ this.id = xml.getAttributeStringValue(element, '@_id')
856
+ } else if (attributeName === '@_kind') {
857
+ this.kind = xml.getAttributeStringValue(element, '@_kind')
858
+ } else if (attributeName === '@_language') {
859
+ this.language = xml.getAttributeStringValue(element, '@_language')
860
+ } else if (attributeName === '@_prot') {
861
+ this.prot = xml.getAttributeStringValue(element, '@_prot')
862
+ } else if (attributeName === '@_final') {
863
+ this.final = xml.getAttributeBooleanValue(element, '@_final')
864
+ } else if (attributeName === '@_inline') {
865
+ this.inline = xml.getAttributeBooleanValue(element, '@_inline')
866
+ } else if (attributeName === '@_sealed') {
867
+ this.sealed = xml.getAttributeBooleanValue(element, '@_sealed')
868
+ } else if (attributeName === '@_abstract') {
869
+ this.abstract = xml.getAttributeBooleanValue(element, '@_abstract')
870
+ } else {
871
+ console.error(util.inspect(element, { compact: false, depth: 999 }))
872
+ console.error(
873
+ `${elementName} attribute:`,
874
+ attributeName,
875
+ 'not implemented yet in',
876
+ this.constructor.name
877
+ )
878
+ }
879
+ }
880
+
881
+ assert(this.id.length > 0)
882
+ assert(this.kind.length > 0)
883
+
884
+ // WARNING: The attribute is not marked as optional, but is not present.
885
+ // assert(this.prot.length > 0)
886
+
887
+ if (this.kind !== 'namespace') {
888
+ assert(this.compoundName.length > 0)
889
+ }
890
+
891
+ // ------------------------------------------------------------------------
892
+
893
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
894
+ }
895
+ }
896
+
897
+ // ----------------------------------------------------------------------------
898
+
899
+ // <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
900
+
901
+ /**
902
+ * Concrete implementation of compound definition data model.
903
+ *
904
+ * @remarks
905
+ * Provides the primary data model implementation for Doxygen compound
906
+ * definitions, handling all types of compounds including classes, structures,
907
+ * files, namespaces, and pages. This class serves as the main entry point
908
+ * for processing compound definition XML elements in the Doxygen output.
909
+ *
910
+ * @public
911
+ */
912
+ export class CompoundDefDataModel extends AbstractCompoundDefType {
913
+ /**
914
+ * Constructs a new CompoundDefDataModel instance.
915
+ *
916
+ * @remarks
917
+ * Creates a data model object for 'compounddef' XML elements by delegating
918
+ * to the parent constructor with the appropriate element name. This
919
+ * represents the root element for all compound definitions in Doxygen XML
920
+ * output.
921
+ *
922
+ * @param xml - The XML parser instance for processing elements
923
+ * @param element - The XML element object to parse
924
+ */
925
+ constructor(xml: DoxygenXmlParser, element: object) {
926
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
927
+ super(xml, element, 'compounddef')
928
+ }
929
+ }
930
+
931
+ // ----------------------------------------------------------------------------
932
+
933
+ // <xsd:complexType name="docHtmlOnlyType">
934
+ // <xsd:simpleContent>
935
+ // <xsd:extension base="xsd:string">
936
+ // <xsd:attribute name="block" type="xsd:string" />
937
+ // </xsd:extension>
938
+ // </xsd:simpleContent>
939
+ // </xsd:complexType>
940
+
941
+ /**
942
+ * Abstract base class for HTML-only documentation content.
943
+ *
944
+ * @remarks
945
+ * Represents content that should only be rendered in HTML output formats,
946
+ * providing a mechanism for format-specific content inclusion in Doxygen
947
+ * documentation. This class handles the 'docHtmlOnlyType' XML schema
948
+ * structure with text content and optional block attributes.
949
+ *
950
+ * @public
951
+ */
952
+ export abstract class AbstractDocHtmlOnlyType extends AbstractDataModelBase {
953
+ text = ''
954
+
955
+ block?: string | undefined
956
+
957
+ /**
958
+ * Constructs a new HTML-only content data model instance.
959
+ *
960
+ * @remarks
961
+ * Parses HTML-only content elements from Doxygen XML output, extracting
962
+ * the text content and any optional block attributes. This content is
963
+ * intended for rendering only in HTML-based output formats whilst being
964
+ * excluded from other documentation formats.
965
+ *
966
+ * @param xml - The XML parser instance for processing elements
967
+ * @param element - The XML element object to parse
968
+ * @param elementName - The name of the XML element being processed
969
+ */
970
+ constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
971
+ super(elementName)
972
+
973
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
974
+
975
+ // ------------------------------------------------------------------------
976
+ // Process elements.
977
+
978
+ assert(xml.isInnerElementText(element, elementName))
979
+ this.text = xml.getInnerElementText(element, elementName)
980
+
981
+ // ------------------------------------------------------------------------
982
+ // Process attributes.
983
+
984
+ if (xml.hasAttributes(element)) {
985
+ const attributesNames = xml.getAttributesNames(element)
986
+ for (const attributeName of attributesNames) {
987
+ if (attributeName === '@_block') {
988
+ this.block = xml.getAttributeStringValue(element, '@_block')
989
+ } else {
990
+ console.error(util.inspect(element, { compact: false, depth: 999 }))
991
+ console.error(
992
+ `${elementName} attribute:`,
993
+ attributeName,
994
+ 'not implemented yet in',
995
+ this.constructor.name
996
+ )
997
+ }
998
+ }
999
+ }
1000
+
1001
+ // ------------------------------------------------------------------------
1002
+
1003
+ // console.log(util.inspect(this, { compact: false, depth: 999 }))
1004
+ }
1005
+ }
1006
+
1007
+ // ----------------------------------------------------------------------------
1008
+
1009
+ // <xsd:element name="htmlonly" type="docHtmlOnlyType" />
1010
+
1011
+ /**
1012
+ * Data model for HTML-only content elements.
1013
+ *
1014
+ * @remarks
1015
+ * Represents content that should only be included in HTML output formats,
1016
+ * typically used for web-specific markup or styling that is not appropriate
1017
+ * for other documentation formats. This implementation handles the 'htmlonly'
1018
+ * XML element from Doxygen output.
1019
+ *
1020
+ * @public
1021
+ */
1022
+ export class HtmlOnlyDataModel extends AbstractDocHtmlOnlyType {
1023
+ /**
1024
+ * Constructs a new HtmlOnlyDataModel instance.
1025
+ *
1026
+ * @remarks
1027
+ * Creates a data model object for 'htmlonly' XML elements, which contain
1028
+ * content specifically intended for HTML output rendering only.
1029
+ *
1030
+ * @param xml - The XML parser instance for processing elements
1031
+ * @param element - The XML element object to parse
1032
+ */
1033
+ constructor(xml: DoxygenXmlParser, element: object) {
1034
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1035
+ super(xml, element, 'htmlonly')
1036
+ }
1037
+ }
1038
+
1039
+ // Normally strings are properties, but these are unusual, so we keep them
1040
+ // as objects.
1041
+ // <xsd:element name="manonly" type="xsd:string" />
1042
+ // <xsd:element name="xmlonly" type="xsd:string" />
1043
+ // <xsd:element name="rtfonly" type="xsd:string" />
1044
+ // <xsd:element name="latexonly" type="xsd:string" />
1045
+ // <xsd:element name="docbookonly" type="xsd:string" />
1046
+
1047
+ /**
1048
+ * Data model for manual-only content elements.
1049
+ *
1050
+ * @remarks
1051
+ * Represents content that should only be included in manual page output
1052
+ * formats. This class handles string content specifically intended for
1053
+ * Unix manual page generation whilst excluding it from other documentation
1054
+ * formats.
1055
+ *
1056
+ * @public
1057
+ */
1058
+ export class ManOnlyDataModel extends AbstractStringType {
1059
+ /**
1060
+ * Constructs a new ManOnlyDataModel instance.
1061
+ *
1062
+ * @remarks
1063
+ * Creates a data model object for 'manonly' XML elements containing
1064
+ * content specifically intended for manual page output rendering.
1065
+ *
1066
+ * @param xml - The XML parser instance for processing elements
1067
+ * @param element - The XML element object to parse
1068
+ */
1069
+ constructor(xml: DoxygenXmlParser, element: object) {
1070
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1071
+ super(xml, element, 'manonly')
1072
+ }
1073
+ }
1074
+
1075
+ /**
1076
+ * Data model for XML-only content elements.
1077
+ *
1078
+ * @remarks
1079
+ * Represents content that should only be included in XML output formats.
1080
+ * This class handles string content specifically intended for XML-based
1081
+ * documentation generation whilst excluding it from other output formats.
1082
+ *
1083
+ * @public
1084
+ */
1085
+ export class XmlOnlyDataModel extends AbstractStringType {
1086
+ /**
1087
+ * Constructs a new XmlOnlyDataModel instance.
1088
+ *
1089
+ * @remarks
1090
+ * Creates a data model object for 'xmlonly' XML elements containing
1091
+ * content specifically intended for XML output rendering.
1092
+ *
1093
+ * @param xml - The XML parser instance for processing elements
1094
+ * @param element - The XML element object to parse
1095
+ */
1096
+ constructor(xml: DoxygenXmlParser, element: object) {
1097
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1098
+ super(xml, element, 'xmlonly')
1099
+ }
1100
+ }
1101
+
1102
+ /**
1103
+ * Data model for RTF-only content elements.
1104
+ *
1105
+ * @remarks
1106
+ * Represents content that should only be included in Rich Text Format (RTF)
1107
+ * output. This class handles string content specifically intended for RTF
1108
+ * document generation whilst excluding it from other documentation formats.
1109
+ *
1110
+ * @public
1111
+ */
1112
+ export class RtfOnlyDataModel extends AbstractStringType {
1113
+ /**
1114
+ * Constructs a new RtfOnlyDataModel instance.
1115
+ *
1116
+ * @remarks
1117
+ * Creates a data model object for 'rtfonly' XML elements containing
1118
+ * content specifically intended for RTF output rendering.
1119
+ *
1120
+ * @param xml - The XML parser instance for processing elements
1121
+ * @param element - The XML element object to parse
1122
+ */
1123
+ constructor(xml: DoxygenXmlParser, element: object) {
1124
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1125
+ super(xml, element, 'rtfonly')
1126
+ }
1127
+ }
1128
+
1129
+ /**
1130
+ * Data model for LaTeX-only content elements.
1131
+ *
1132
+ * @remarks
1133
+ * Represents content that should only be included in LaTeX output formats.
1134
+ * This class handles string content specifically intended for LaTeX document
1135
+ * generation whilst excluding it from other documentation formats.
1136
+ *
1137
+ * @public
1138
+ */
1139
+ export class LatexOnlyDataModel extends AbstractStringType {
1140
+ /**
1141
+ * Constructs a new LatexOnlyDataModel instance.
1142
+ *
1143
+ * @remarks
1144
+ * Creates a data model object for 'latexonly' XML elements containing
1145
+ * content specifically intended for LaTeX output rendering.
1146
+ *
1147
+ * @param xml - The XML parser instance for processing elements
1148
+ * @param element - The XML element object to parse
1149
+ */
1150
+ constructor(xml: DoxygenXmlParser, element: object) {
1151
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1152
+ super(xml, element, 'latexonly')
1153
+ }
1154
+ }
1155
+
1156
+ /**
1157
+ * Data model for DocBook-only content elements.
1158
+ *
1159
+ * @remarks
1160
+ * Represents content that should only be included in DocBook output formats.
1161
+ * This class handles string content specifically intended for DocBook XML
1162
+ * document generation whilst excluding it from other documentation formats.
1163
+ *
1164
+ * @public
1165
+ */
1166
+ export class DocBookOnlyDataModel extends AbstractStringType {
1167
+ /**
1168
+ * Constructs a new DocBookOnlyDataModel instance.
1169
+ *
1170
+ * @remarks
1171
+ * Creates a data model object for 'docbookonly' XML elements containing
1172
+ * content specifically intended for DocBook output rendering.
1173
+ *
1174
+ * @param xml - The XML parser instance for processing elements
1175
+ * @param element - The XML element object to parse
1176
+ */
1177
+ constructor(xml: DoxygenXmlParser, element: object) {
1178
+ // console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
1179
+ super(xml, element, 'docbookonly')
1180
+ }
1181
+ }
1182
+
1183
+ // ----------------------------------------------------------------------------
1184
+
1185
+ // <xsd:complexType name="docMermaidType" mixed="true">
1186
+ // <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
1187
+ // <xsd:attribute name="name" type="xsd:string" use="optional"/>
1188
+ // <xsd:attribute name="width" type="xsd:string" use="optional"/>
1189
+ // <xsd:attribute name="height" type="xsd:string" use="optional"/>
1190
+ // <xsd:attribute name="caption" type="xsd:string" use="optional"/>
1191
+ // </xsd:complexType>
1192
+
1193
+ // <xsd:complexType name="tableofcontentsNameType">
1194
+ // <xsd:sequence>
1195
+ // <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
1196
+ // </xsd:sequence>
1197
+ // </xsd:complexType>
1198
+
1199
+ // <xsd:simpleType name="DoxPlantumlEngine">
1200
+ // <xsd:restriction base="xsd:string">
1201
+ // <xsd:enumeration value="uml"/>
1202
+ // <xsd:enumeration value="bpm"/>
1203
+ // <xsd:enumeration value="wire"/>
1204
+ // <xsd:enumeration value="dot"/>
1205
+ // <xsd:enumeration value="ditaa"/>
1206
+ // <xsd:enumeration value="salt"/>
1207
+ // <xsd:enumeration value="math"/>
1208
+ // <xsd:enumeration value="latex"/>
1209
+ // <xsd:enumeration value="gantt"/>
1210
+ // <xsd:enumeration value="mindmap"/>
1211
+ // <xsd:enumeration value="wbs"/>
1212
+ // <xsd:enumeration value="yaml"/>
1213
+ // <xsd:enumeration value="creole"/>
1214
+ // <xsd:enumeration value="json"/>
1215
+ // <xsd:enumeration value="flow"/>
1216
+ // <xsd:enumeration value="board"/>
1217
+ // <xsd:enumeration value="git"/>
1218
+ // <xsd:enumeration value="hcl"/>
1219
+ // <xsd:enumeration value="regex"/>
1220
+ // <xsd:enumeration value="ebnf"/>
1221
+ // <xsd:enumeration value="files"/>
1222
+ // <xsd:enumeration value="chart"/>
1223
+ // <xsd:enumeration value="nwdiag"/>
1224
+ // <xsd:enumeration value="packetdiag"/>
1225
+ // <xsd:enumeration value="project"/>
1226
+ // <xsd:enumeration value="sprites"/>
1227
+ // </xsd:restriction>
1228
+ // </xsd:simpleType>
1229
+
1230
+ // ----------------------------------------------------------------------------