docbook 0.1.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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +5 -0
  3. data/CLAUDE.md +19 -0
  4. data/CODE_OF_CONDUCT.md +10 -0
  5. data/README.adoc +335 -0
  6. data/Rakefile +12 -0
  7. data/docs/.lycheeignore +33 -0
  8. data/docs/Gemfile +10 -0
  9. data/docs/INDEX.adoc +67 -0
  10. data/docs/_config.yml +186 -0
  11. data/docs/advanced/element-classes.adoc +185 -0
  12. data/docs/advanced/frontend-customization.adoc +193 -0
  13. data/docs/advanced/index.adoc +14 -0
  14. data/docs/advanced/templates.adoc +123 -0
  15. data/docs/features/element-coverage.adoc +373 -0
  16. data/docs/features/html-output/data-model.adoc +285 -0
  17. data/docs/features/html-output/directory-mode.adoc +180 -0
  18. data/docs/features/html-output/index.adoc +90 -0
  19. data/docs/features/html-output/single-file-mode.adoc +125 -0
  20. data/docs/features/index-generation.adoc +197 -0
  21. data/docs/features/index.adoc +63 -0
  22. data/docs/features/numbering.adoc +183 -0
  23. data/docs/features/toc-generation.adoc +150 -0
  24. data/docs/features/xinclude/fragid-schemes.adoc +287 -0
  25. data/docs/features/xinclude/index.adoc +119 -0
  26. data/docs/features/xinclude/text-includes.adoc +123 -0
  27. data/docs/features/xinclude/xml-includes.adoc +167 -0
  28. data/docs/getting-started/index.adoc +50 -0
  29. data/docs/getting-started/installation.adoc +113 -0
  30. data/docs/getting-started/quick-start.adoc +161 -0
  31. data/docs/guides/converting-article.adoc +188 -0
  32. data/docs/guides/converting-book.adoc +192 -0
  33. data/docs/guides/index.adoc +12 -0
  34. data/docs/guides/roundtrip-testing.adoc +129 -0
  35. data/docs/interfaces/cli/format-command.adoc +109 -0
  36. data/docs/interfaces/cli/index.adoc +73 -0
  37. data/docs/interfaces/cli/roundtrip-command.adoc +125 -0
  38. data/docs/interfaces/cli/to-html-command.adoc +178 -0
  39. data/docs/interfaces/cli/validate-command.adoc +104 -0
  40. data/docs/interfaces/index.adoc +101 -0
  41. data/docs/interfaces/ruby-api/html-output.adoc +186 -0
  42. data/docs/interfaces/ruby-api/index.adoc +111 -0
  43. data/docs/interfaces/ruby-api/parsing.adoc +202 -0
  44. data/docs/interfaces/ruby-api/xinclude.adoc +162 -0
  45. data/docs/interfaces/ruby-api/xref-resolution.adoc +156 -0
  46. data/docs/lychee.toml +42 -0
  47. data/docs/reference/cli-options.adoc +155 -0
  48. data/docs/reference/content-block-types.adoc +243 -0
  49. data/docs/reference/glossary.adoc +119 -0
  50. data/docs/reference/index.adoc +12 -0
  51. data/docs/reference/supported-elements.adoc +749 -0
  52. data/docs/understanding/architecture.adoc +145 -0
  53. data/docs/understanding/content-pipeline.adoc +102 -0
  54. data/docs/understanding/data-models.adoc +156 -0
  55. data/docs/understanding/index.adoc +34 -0
  56. data/exe/docbook +7 -0
  57. data/frontend/dist/app.css +1 -0
  58. data/frontend/dist/app.iife.js +24 -0
  59. data/frontend/package-lock.json +1445 -0
  60. data/frontend/package.json +22 -0
  61. data/frontend/src/App.vue +230 -0
  62. data/frontend/src/app.ts +8 -0
  63. data/frontend/src/components/AppSidebar.vue +116 -0
  64. data/frontend/src/components/AppendixSection.vue +39 -0
  65. data/frontend/src/components/BlockRenderer.vue +358 -0
  66. data/frontend/src/components/ChapterSection.vue +32 -0
  67. data/frontend/src/components/ContentRenderer.vue +13 -0
  68. data/frontend/src/components/EbookContainer.vue +147 -0
  69. data/frontend/src/components/EbookTopBar.vue +116 -0
  70. data/frontend/src/components/PartSection.vue +44 -0
  71. data/frontend/src/components/ReferenceEntry.vue +80 -0
  72. data/frontend/src/components/SearchModal.vue +286 -0
  73. data/frontend/src/components/SectionContent.vue +31 -0
  74. data/frontend/src/components/SettingsPanel.vue +236 -0
  75. data/frontend/src/components/TocTreeItem.vue +135 -0
  76. data/frontend/src/composables/useEbookStore.ts +191 -0
  77. data/frontend/src/composables/useSearch.ts +249 -0
  78. data/frontend/src/env.d.ts +7 -0
  79. data/frontend/src/stores/documentStore.ts +221 -0
  80. data/frontend/src/stores/uiStore.ts +98 -0
  81. data/frontend/src/styles.css +253 -0
  82. data/frontend/tsconfig.json +24 -0
  83. data/frontend/tsconfig.node.json +11 -0
  84. data/frontend/vite.config.ts +30 -0
  85. data/lib/docbook/cli.rb +123 -0
  86. data/lib/docbook/document.rb +67 -0
  87. data/lib/docbook/elements/abbrev.rb +16 -0
  88. data/lib/docbook/elements/acknowledgements.rb +22 -0
  89. data/lib/docbook/elements/address.rb +18 -0
  90. data/lib/docbook/elements/alt.rb +16 -0
  91. data/lib/docbook/elements/annotation.rb +18 -0
  92. data/lib/docbook/elements/appendix.rb +34 -0
  93. data/lib/docbook/elements/article.rb +31 -0
  94. data/lib/docbook/elements/att.rb +15 -0
  95. data/lib/docbook/elements/attribution.rb +20 -0
  96. data/lib/docbook/elements/audioobject.rb +18 -0
  97. data/lib/docbook/elements/author.rb +18 -0
  98. data/lib/docbook/elements/bibliography.rb +24 -0
  99. data/lib/docbook/elements/bibliomixed.rb +40 -0
  100. data/lib/docbook/elements/biblioref.rb +20 -0
  101. data/lib/docbook/elements/blockquote.rb +26 -0
  102. data/lib/docbook/elements/book.rb +36 -0
  103. data/lib/docbook/elements/buildtarget.rb +16 -0
  104. data/lib/docbook/elements/callout.rb +22 -0
  105. data/lib/docbook/elements/calloutlist.rb +22 -0
  106. data/lib/docbook/elements/caution.rb +30 -0
  107. data/lib/docbook/elements/chapter.rb +62 -0
  108. data/lib/docbook/elements/citation.rb +16 -0
  109. data/lib/docbook/elements/citerefentry.rb +26 -0
  110. data/lib/docbook/elements/citetitle.rb +20 -0
  111. data/lib/docbook/elements/classname.rb +16 -0
  112. data/lib/docbook/elements/code.rb +16 -0
  113. data/lib/docbook/elements/colophon.rb +22 -0
  114. data/lib/docbook/elements/computeroutput.rb +18 -0
  115. data/lib/docbook/elements/copyright.rb +17 -0
  116. data/lib/docbook/elements/danger.rb +28 -0
  117. data/lib/docbook/elements/date.rb +16 -0
  118. data/lib/docbook/elements/dedication.rb +22 -0
  119. data/lib/docbook/elements/dir.rb +16 -0
  120. data/lib/docbook/elements/emphasis.rb +18 -0
  121. data/lib/docbook/elements/entry.rb +30 -0
  122. data/lib/docbook/elements/entrytbl.rb +22 -0
  123. data/lib/docbook/elements/equation.rb +26 -0
  124. data/lib/docbook/elements/example.rb +30 -0
  125. data/lib/docbook/elements/fieldsynopsis.rb +21 -0
  126. data/lib/docbook/elements/figure.rb +28 -0
  127. data/lib/docbook/elements/filename.rb +16 -0
  128. data/lib/docbook/elements/firstname.rb +16 -0
  129. data/lib/docbook/elements/firstterm.rb +18 -0
  130. data/lib/docbook/elements/footnote.rb +22 -0
  131. data/lib/docbook/elements/footnoteref.rb +21 -0
  132. data/lib/docbook/elements/foreignphrase.rb +18 -0
  133. data/lib/docbook/elements/formalpara.rb +20 -0
  134. data/lib/docbook/elements/function.rb +16 -0
  135. data/lib/docbook/elements/glossary.rb +24 -0
  136. data/lib/docbook/elements/glossdef.rb +18 -0
  137. data/lib/docbook/elements/glossentry.rb +26 -0
  138. data/lib/docbook/elements/glosssee.rb +18 -0
  139. data/lib/docbook/elements/glossseealso.rb +18 -0
  140. data/lib/docbook/elements/glossterm.rb +18 -0
  141. data/lib/docbook/elements/holder.rb +16 -0
  142. data/lib/docbook/elements/honorific.rb +16 -0
  143. data/lib/docbook/elements/imagedata.rb +29 -0
  144. data/lib/docbook/elements/imageobject.rb +22 -0
  145. data/lib/docbook/elements/important.rb +30 -0
  146. data/lib/docbook/elements/index.rb +26 -0
  147. data/lib/docbook/elements/indexdiv.rb +22 -0
  148. data/lib/docbook/elements/indexentry.rb +22 -0
  149. data/lib/docbook/elements/indexterm.rb +34 -0
  150. data/lib/docbook/elements/info.rb +25 -0
  151. data/lib/docbook/elements/informalexample.rb +24 -0
  152. data/lib/docbook/elements/informalfigure.rb +20 -0
  153. data/lib/docbook/elements/inlinemediaobject.rb +22 -0
  154. data/lib/docbook/elements/itemizedlist.rb +21 -0
  155. data/lib/docbook/elements/legalnotice.rb +22 -0
  156. data/lib/docbook/elements/link.rb +26 -0
  157. data/lib/docbook/elements/listitem.rb +32 -0
  158. data/lib/docbook/elements/literal.rb +16 -0
  159. data/lib/docbook/elements/literallayout.rb +22 -0
  160. data/lib/docbook/elements/mediaobject.rb +26 -0
  161. data/lib/docbook/elements/msg.rb +20 -0
  162. data/lib/docbook/elements/msgexplan.rb +22 -0
  163. data/lib/docbook/elements/msgset.rb +22 -0
  164. data/lib/docbook/elements/note.rb +30 -0
  165. data/lib/docbook/elements/orderedlist.rb +23 -0
  166. data/lib/docbook/elements/orgname.rb +16 -0
  167. data/lib/docbook/elements/para.rb +61 -0
  168. data/lib/docbook/elements/paragraph_like.rb +18 -0
  169. data/lib/docbook/elements/parameter.rb +16 -0
  170. data/lib/docbook/elements/part.rb +38 -0
  171. data/lib/docbook/elements/personname.rb +22 -0
  172. data/lib/docbook/elements/phrase.rb +20 -0
  173. data/lib/docbook/elements/preface.rb +58 -0
  174. data/lib/docbook/elements/primary.rb +16 -0
  175. data/lib/docbook/elements/procedure.rb +24 -0
  176. data/lib/docbook/elements/productname.rb +18 -0
  177. data/lib/docbook/elements/productnumber.rb +16 -0
  178. data/lib/docbook/elements/programlisting.rb +28 -0
  179. data/lib/docbook/elements/property.rb +16 -0
  180. data/lib/docbook/elements/pubdate.rb +16 -0
  181. data/lib/docbook/elements/publishername.rb +16 -0
  182. data/lib/docbook/elements/quotation.rb +24 -0
  183. data/lib/docbook/elements/quote.rb +18 -0
  184. data/lib/docbook/elements/refentry.rb +32 -0
  185. data/lib/docbook/elements/refentrytitle.rb +16 -0
  186. data/lib/docbook/elements/reference.rb +26 -0
  187. data/lib/docbook/elements/refmeta.rb +29 -0
  188. data/lib/docbook/elements/refmiscinfo.rb +16 -0
  189. data/lib/docbook/elements/refname.rb +16 -0
  190. data/lib/docbook/elements/refnamediv.rb +22 -0
  191. data/lib/docbook/elements/refpurpose.rb +16 -0
  192. data/lib/docbook/elements/refsect1.rb +22 -0
  193. data/lib/docbook/elements/refsect2.rb +22 -0
  194. data/lib/docbook/elements/refsect3.rb +22 -0
  195. data/lib/docbook/elements/refsection.rb +32 -0
  196. data/lib/docbook/elements/releaseinfo.rb +16 -0
  197. data/lib/docbook/elements/remark.rb +20 -0
  198. data/lib/docbook/elements/replaceable.rb +16 -0
  199. data/lib/docbook/elements/row.rb +15 -0
  200. data/lib/docbook/elements/screen.rb +28 -0
  201. data/lib/docbook/elements/secondary.rb +16 -0
  202. data/lib/docbook/elements/sect1.rb +26 -0
  203. data/lib/docbook/elements/sect2.rb +24 -0
  204. data/lib/docbook/elements/sect3.rb +24 -0
  205. data/lib/docbook/elements/sect4.rb +24 -0
  206. data/lib/docbook/elements/sect5.rb +22 -0
  207. data/lib/docbook/elements/section.rb +66 -0
  208. data/lib/docbook/elements/see.rb +16 -0
  209. data/lib/docbook/elements/seealso.rb +18 -0
  210. data/lib/docbook/elements/set.rb +26 -0
  211. data/lib/docbook/elements/setindex.rb +24 -0
  212. data/lib/docbook/elements/sidebar.rb +22 -0
  213. data/lib/docbook/elements/simplesect.rb +32 -0
  214. data/lib/docbook/elements/step.rb +26 -0
  215. data/lib/docbook/elements/substeps.rb +18 -0
  216. data/lib/docbook/elements/subtitle.rb +16 -0
  217. data/lib/docbook/elements/surname.rb +16 -0
  218. data/lib/docbook/elements/table.rb +24 -0
  219. data/lib/docbook/elements/tag.rb +20 -0
  220. data/lib/docbook/elements/tbody.rb +15 -0
  221. data/lib/docbook/elements/term.rb +37 -0
  222. data/lib/docbook/elements/tertiary.rb +16 -0
  223. data/lib/docbook/elements/textobject.rb +18 -0
  224. data/lib/docbook/elements/tfoot.rb +15 -0
  225. data/lib/docbook/elements/tgroup.rb +21 -0
  226. data/lib/docbook/elements/thead.rb +15 -0
  227. data/lib/docbook/elements/tip.rb +30 -0
  228. data/lib/docbook/elements/title.rb +16 -0
  229. data/lib/docbook/elements/toc.rb +24 -0
  230. data/lib/docbook/elements/tocdiv.rb +22 -0
  231. data/lib/docbook/elements/tocentry.rb +20 -0
  232. data/lib/docbook/elements/topic.rb +26 -0
  233. data/lib/docbook/elements/type.rb +16 -0
  234. data/lib/docbook/elements/uri.rb +16 -0
  235. data/lib/docbook/elements/userinput.rb +18 -0
  236. data/lib/docbook/elements/variable.rb +16 -0
  237. data/lib/docbook/elements/variablelist.rb +19 -0
  238. data/lib/docbook/elements/varlistentry.rb +17 -0
  239. data/lib/docbook/elements/version.rb +16 -0
  240. data/lib/docbook/elements/videoobject.rb +18 -0
  241. data/lib/docbook/elements/warning.rb +30 -0
  242. data/lib/docbook/elements/xref.rb +18 -0
  243. data/lib/docbook/elements/year.rb +16 -0
  244. data/lib/docbook/elements.rb +204 -0
  245. data/lib/docbook/models/document_metadata.rb +30 -0
  246. data/lib/docbook/models/document_root.rb +33 -0
  247. data/lib/docbook/models/index_entry.rb +28 -0
  248. data/lib/docbook/models/reading_position.rb +22 -0
  249. data/lib/docbook/models/section_number.rb +18 -0
  250. data/lib/docbook/models/section_root.rb +29 -0
  251. data/lib/docbook/models/toc_node.rb +24 -0
  252. data/lib/docbook/models.rb +16 -0
  253. data/lib/docbook/output/data.rb +196 -0
  254. data/lib/docbook/output/html.rb +1450 -0
  255. data/lib/docbook/output/index_generator.rb +281 -0
  256. data/lib/docbook/output.rb +8 -0
  257. data/lib/docbook/services/document_builder.rb +258 -0
  258. data/lib/docbook/services/element_to_hash.rb +287 -0
  259. data/lib/docbook/services/index_generator.rb +134 -0
  260. data/lib/docbook/services/numbering_service.rb +186 -0
  261. data/lib/docbook/services/toc_generator.rb +138 -0
  262. data/lib/docbook/services.rb +14 -0
  263. data/lib/docbook/templates/document.html.liquid +20 -0
  264. data/lib/docbook/templates/partials/_head.liquid +39 -0
  265. data/lib/docbook/templates/partials/_scripts.liquid +10 -0
  266. data/lib/docbook/version.rb +5 -0
  267. data/lib/docbook/xinclude_resolver.rb +217 -0
  268. data/lib/docbook/xref_resolver.rb +78 -0
  269. data/lib/docbook.rb +17 -0
  270. data/sig/docbook.rbs +4 -0
  271. metadata +385 -0
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class EntryTbl < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :cols, :string
9
+ attribute :colname, :string
10
+ attribute :spanname, :string
11
+
12
+ xml do
13
+ element "entrytbl"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "cols", to: :cols
17
+ map_attribute "colname", to: :colname
18
+ map_attribute "spanname", to: :spanname
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Equation < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :title, Title
11
+ attribute :para, Para, collection: true
12
+ attribute :mediaobject, MediaObject, collection: true
13
+
14
+ xml do
15
+ element "equation"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_attribute "role", to: :role
20
+ map_element "title", to: :title
21
+ map_element "para", to: :para
22
+ map_element "mediaobject", to: :mediaobject
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Example < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :label, :string
11
+ attribute :title, Title
12
+ attribute :para, Para, collection: true
13
+ attribute :programlisting, ProgramListing, collection: true
14
+ attribute :figure, Figure, collection: true
15
+
16
+ xml do
17
+ element "example"
18
+ mixed_content
19
+ map_content to: :content
20
+ map_attribute "xml:id", to: :xml_id
21
+ map_attribute "role", to: :role
22
+ map_attribute "label", to: :label
23
+ map_element "title", to: :title
24
+ map_element "para", to: :para
25
+ map_element "programlisting", to: :programlisting
26
+ map_element "figure", to: :figure
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class FieldSynopsis < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :type, :string
9
+ attribute :varname, :string
10
+ attribute :initializer, :string
11
+
12
+ xml do
13
+ element "fieldsynopsis"
14
+ map_content to: :content
15
+ map_element "type", to: :type
16
+ map_element "varname", to: :varname
17
+ map_element "initializer", to: :initializer
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Figure < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :title, Title
11
+ attribute :mediaobject, MediaObject, collection: true
12
+ attribute :programlisting, ProgramListing
13
+ attribute :screen, Screen
14
+
15
+ xml do
16
+ element "figure"
17
+ mixed_content
18
+ map_content to: :content
19
+ map_attribute "xml:id", to: :xml_id
20
+ map_attribute "role", to: :role
21
+ map_element "title", to: :title
22
+ map_element "mediaobject", to: :mediaobject
23
+ map_element "programlisting", to: :programlisting
24
+ map_element "screen", to: :screen
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Filename < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "filename"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class FirstName < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "firstname"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class FirstTerm < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :baseterm, :string
9
+
10
+ xml do
11
+ element "firstterm"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "baseterm", to: :baseterm
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Footnote < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :label, :string
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "footnote"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_attribute "label", to: :label
18
+ map_element "para", to: :para
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class FootnoteRef < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :endterm, :string
9
+ attribute :linkend, :string
10
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
11
+
12
+ xml do
13
+ element "footnoteref"
14
+ map_content to: :content
15
+ map_attribute "endterm", to: :endterm
16
+ map_attribute "linkend", to: :linkend
17
+ map_attribute "xml:id", to: :xml_id
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ForeignPhrase < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+
10
+ xml do
11
+ element "foreignphrase"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "role", to: :role
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class FormalPara < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :title, Title
9
+ attribute :para, Para
10
+
11
+ xml do
12
+ element "formalpara"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_element "title", to: :title
16
+ map_element "para", to: :para
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Function < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "function"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Glossary < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :title, Title
11
+ attribute :glossentry, GlossEntry, collection: true
12
+
13
+ xml do
14
+ element "glossary"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_attribute "xml:id", to: :xml_id
18
+ map_attribute "role", to: :role
19
+ map_element "title", to: :title
20
+ map_element "glossentry", to: :glossentry
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class GlossDef < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :para, Para, collection: true
9
+
10
+ xml do
11
+ element "glossdef"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_element "para", to: :para
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class GlossEntry < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :glossterm, Glossterm
10
+ attribute :glossdef, GlossDef
11
+ attribute :glosssee, GlossSee, collection: true
12
+ attribute :glossseealso, GlossSeeAlso, collection: true
13
+
14
+ xml do
15
+ element "glossentry"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_element "glossterm", to: :glossterm
20
+ map_element "glossdef", to: :glossdef
21
+ map_element "glosssee", to: :glosssee
22
+ map_element "glossseealso", to: :glossseealso
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class GlossSee < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :otherterm, :string
9
+
10
+ xml do
11
+ element "glosssee"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "otherterm", to: :otherterm
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class GlossSeeAlso < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :otherterm, :string
9
+
10
+ xml do
11
+ element "glossseealso"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "otherterm", to: :otherterm
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Glossterm < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :baseform, :string
9
+
10
+ xml do
11
+ element "glossterm"
12
+ mixed_content
13
+ map_content to: :content
14
+ map_attribute "baseform", to: :baseform
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Holder < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "holder"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Honorific < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "honorific"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ImageData < Lutaml::Model::Serializable
7
+ attribute :fileref, :string
8
+ attribute :format, :string
9
+ attribute :width, :string
10
+ attribute :depth, :string
11
+ attribute :align, :string
12
+ attribute :scalefit, :string
13
+ attribute :contentwidth, :string
14
+ attribute :contentdepth, :string
15
+
16
+ xml do
17
+ element "imagedata"
18
+ map_attribute "fileref", to: :fileref
19
+ map_attribute "format", to: :format
20
+ map_attribute "width", to: :width
21
+ map_attribute "depth", to: :depth
22
+ map_attribute "align", to: :align
23
+ map_attribute "scalefit", to: :scalefit
24
+ map_attribute "contentwidth", to: :contentwidth
25
+ map_attribute "contentdepth", to: :contentdepth
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ImageObject < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :imagedata, ImageData
10
+ attribute :alt, Alt
11
+
12
+ xml do
13
+ element "imageobject"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "imagedata", to: :imagedata
18
+ map_element "alt", to: :alt
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Important < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :title, Title
11
+ attribute :para, Para, collection: true
12
+ attribute :programlisting, ProgramListing, collection: true
13
+ attribute :screen, Screen, collection: true
14
+ attribute :literallayout, LiteralLayout, collection: true
15
+
16
+ xml do
17
+ element "important"
18
+ mixed_content
19
+ map_content to: :content
20
+ map_attribute "xml:id", to: :xml_id
21
+ map_attribute "role", to: :role
22
+ map_element "title", to: :title
23
+ map_element "para", to: :para
24
+ map_element "programlisting", to: :programlisting
25
+ map_element "screen", to: :screen
26
+ map_element "literallayout", to: :literallayout
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Index < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :type, :string
10
+ attribute :title, Title
11
+ attribute :indexdiv, IndexDiv, collection: true
12
+ attribute :indexentry, IndexEntry, collection: true
13
+
14
+ xml do
15
+ element "index"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_attribute "type", to: :type
20
+ map_element "title", to: :title
21
+ map_element "indexdiv", to: :indexdiv
22
+ map_element "indexentry", to: :indexentry
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class IndexDiv < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :indexentry, IndexEntry, collection: true
11
+
12
+ xml do
13
+ element "indexdiv"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "title", to: :title
18
+ map_element "indexentry", to: :indexentry
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class IndexEntry < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :primaryie, :string
10
+ attribute :secondaryie, :string
11
+
12
+ xml do
13
+ element "indexentry"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "primaryie", to: :primaryie
18
+ map_element "secondaryie", to: :secondaryie
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class IndexTerm < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :zone, :string
10
+ attribute :type, :string
11
+ attribute :class_value, :string
12
+ attribute :primary, Primary, collection: true
13
+ attribute :secondary, Secondary, collection: true
14
+ attribute :tertiary, Tertiary, collection: true
15
+ attribute :see, See, collection: true
16
+ attribute :see_also, SeeAlso, collection: true
17
+
18
+ xml do
19
+ element "indexterm"
20
+ mixed_content
21
+ map_content to: :content
22
+ map_attribute "xml:id", to: :xml_id
23
+ map_attribute "zone", to: :zone
24
+ map_attribute "type", to: :type
25
+ map_attribute "class", to: :class_value
26
+ map_element "primary", to: :primary
27
+ map_element "secondary", to: :secondary
28
+ map_element "tertiary", to: :tertiary
29
+ map_element "see", to: :see
30
+ map_element "seealso", to: :see_also
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Info < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :title, Title
9
+ attribute :doc_date, Docbook::Elements::Date
10
+ attribute :author, Author, collection: true
11
+ attribute :productname, ProductName, collection: true
12
+
13
+ xml do
14
+ element "info"
15
+ mixed_content
16
+
17
+ map_content to: :content
18
+ map_element "title", to: :title
19
+ map_element "date", to: :doc_date
20
+ map_element "author", to: :author
21
+ map_element "productname", to: :productname
22
+ end
23
+ end
24
+ end
25
+ end