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,24 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class InformalExample < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :para, Para, collection: true
9
+ attribute :programlisting, ProgramListing, collection: true
10
+ attribute :screen, Screen, collection: true
11
+ attribute :literallayout, LiteralLayout, collection: true
12
+
13
+ xml do
14
+ element "informalexample"
15
+ mixed_content
16
+ map_content to: :content
17
+ map_element "para", to: :para
18
+ map_element "programlisting", to: :programlisting
19
+ map_element "screen", to: :screen
20
+ map_element "literallayout", to: :literallayout
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class InformalFigure < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :mediaobject, MediaObject, collection: true
10
+
11
+ xml do
12
+ element "informalfigure"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "xml:id", to: :xml_id
16
+ map_element "mediaobject", to: :mediaobject
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Inlinemediaobject < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :imageobject, ImageObject
9
+ attribute :textobject, TextObject
10
+ attribute :alt, Alt
11
+
12
+ xml do
13
+ element "inlinemediaobject"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_element "imageobject", to: :imageobject
17
+ map_element "textobject", to: :textobject
18
+ map_element "alt", to: :alt
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 ItemizedList < Lutaml::Model::Serializable
7
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
8
+ attribute :role, :string
9
+ attribute :mark, :string
10
+ attribute :listitem, ListItem, collection: true
11
+
12
+ xml do
13
+ element "itemizedlist"
14
+ map_attribute "xml:id", to: :xml_id
15
+ map_attribute "role", to: :role
16
+ map_attribute "mark", to: :mark
17
+ map_element "listitem", to: :listitem
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class LegalNotice < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :title, Title
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "legalnotice"
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 "para", to: :para
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 Link < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :linkend, :string
9
+ attribute :xlink_href, Lutaml::Xml::W3c::XlinkHrefType
10
+ attribute :xlink_type, Lutaml::Xml::W3c::XlinkTypeAttrType
11
+ attribute :xlink_role, Lutaml::Xml::W3c::XlinkRoleType
12
+ attribute :xlink_title, Lutaml::Xml::W3c::XlinkTitleType
13
+
14
+ xml do
15
+ element "link"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "linkend", to: :linkend
19
+ map_attribute "xlink:href", to: :xlink_href
20
+ map_attribute "xlink:type", to: :xlink_type
21
+ map_attribute "xlink:role", to: :xlink_role
22
+ map_attribute "xlink:title", to: :xlink_title
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class ListItem < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :para, Para, collection: true
10
+ attribute :simplesect, Simplesect, collection: true
11
+ attribute :programlisting, ProgramListing, collection: true
12
+ attribute :screen, Screen, collection: true
13
+ attribute :literallayout, LiteralLayout, collection: true
14
+ attribute :informalfigure, InformalFigure, collection: true
15
+ attribute :indexterm, IndexTerm, collection: true
16
+
17
+ xml do
18
+ element "listitem"
19
+ mixed_content
20
+ map_content to: :content
21
+ map_attribute "xml:id", to: :xml_id
22
+ map_element "para", to: :para
23
+ map_element "simplesect", to: :simplesect
24
+ map_element "programlisting", to: :programlisting
25
+ map_element "screen", to: :screen
26
+ map_element "literallayout", to: :literallayout
27
+ map_element "informalfigure", to: :informalfigure
28
+ map_element "indexterm", to: :indexterm
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Literal < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "literal"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class LiteralLayout < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :role, :string
10
+ attribute :width, :string
11
+
12
+ xml do
13
+ element "literallayout"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_attribute "role", to: :role
18
+ map_attribute "width", to: :width
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 MediaObject < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :imageobject, ImageObject, collection: true
10
+ attribute :textobject, TextObject, collection: true
11
+ attribute :audioobject, AudioObject, collection: true
12
+ attribute :videoobject, VideoObject, collection: true
13
+
14
+ xml do
15
+ element "mediaobject"
16
+ mixed_content
17
+ map_content to: :content
18
+ map_attribute "xml:id", to: :xml_id
19
+ map_element "imageobject", to: :imageobject
20
+ map_element "textobject", to: :textobject
21
+ map_element "audioobject", to: :audioobject
22
+ map_element "videoobject", to: :videoobject
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Msg < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :main, :string
10
+
11
+ xml do
12
+ element "msg"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "xml:id", to: :xml_id
16
+ map_attribute "main", to: :main
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Msgexplan < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :related, :string
10
+ attribute :para, Para, collection: true
11
+
12
+ xml do
13
+ element "msgexplan"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_attribute "related", to: :related
18
+ map_element "para", to: :para
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 MsgSet < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :msg, Msg, collection: true
10
+ attribute :msgexplan, Msgexplan, collection: true
11
+
12
+ xml do
13
+ element "msgset"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_attribute "xml:id", to: :xml_id
17
+ map_element "msg", to: :msg
18
+ map_element "msgexplan", to: :msgexplan
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 Note < 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 "note"
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,23 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class OrderedList < Lutaml::Model::Serializable
7
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
8
+ attribute :spacing, :string
9
+ attribute :numeration, :string
10
+ attribute :role, :string
11
+ attribute :listitem, ListItem, collection: true
12
+
13
+ xml do
14
+ element "orderedlist"
15
+ map_attribute "xml:id", to: :xml_id
16
+ map_attribute "spacing", to: :spacing
17
+ map_attribute "numeration", to: :numeration
18
+ map_attribute "role", to: :role
19
+ map_element "listitem", to: :listitem
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class OrgName < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "orgname"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Para < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+ attribute :productname, ProductName, collection: true
10
+ attribute :link, Link, collection: true
11
+ attribute :emphasis, Emphasis, collection: true
12
+ attribute :code, Code, collection: true
13
+ attribute :literal, Literal, collection: true
14
+ attribute :filename, Filename, collection: true
15
+ attribute :xref, Xref, collection: true
16
+ attribute :parameter, Parameter, collection: true
17
+ attribute :buildtarget, BuildTarget, collection: true
18
+ attribute :dir, Dir, collection: true
19
+ attribute :replaceable, Replaceable, collection: true
20
+ attribute :quote, Quote, collection: true
21
+ attribute :userinput, UserInput, collection: true
22
+ attribute :citetitle, Citetitle, collection: true
23
+ attribute :classname, ClassName, collection: true
24
+ attribute :screen, Screen, collection: true
25
+ attribute :tag, Tag, collection: true
26
+ attribute :att, Att, collection: true
27
+ attribute :biblioref, Biblioref, collection: true
28
+ attribute :inlinemediaobject, Inlinemediaobject, collection: true
29
+ attribute :indexterm, IndexTerm, collection: true
30
+
31
+ xml do
32
+ element "para"
33
+ mixed_content
34
+
35
+ map_content to: :content
36
+ map_attribute "role", to: :role
37
+ map_element "productname", to: :productname
38
+ map_element "link", to: :link
39
+ map_element "emphasis", to: :emphasis
40
+ map_element "code", to: :code
41
+ map_element "literal", to: :literal
42
+ map_element "filename", to: :filename
43
+ map_element "xref", to: :xref
44
+ map_element "parameter", to: :parameter
45
+ map_element "buildtarget", to: :buildtarget
46
+ map_element "dir", to: :dir
47
+ map_element "replaceable", to: :replaceable
48
+ map_element "quote", to: :quote
49
+ map_element "userinput", to: :userinput
50
+ map_element "citetitle", to: :citetitle
51
+ map_element "classname", to: :classname
52
+ map_element "screen", to: :screen
53
+ map_element "tag", to: :tag
54
+ map_element "att", to: :att
55
+ map_element "biblioref", to: :biblioref
56
+ map_element "inlinemediaobject", to: :inlinemediaobject
57
+ map_element "indexterm", to: :indexterm
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class SimPara < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+
10
+ xml do
11
+ element "simpara"
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,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Parameter < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "parameter"
11
+ mixed_content
12
+ map_content to: :content
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Part < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :version, :string
10
+ attribute :info, Info
11
+ attribute :title, Title
12
+ attribute :preface, Preface, collection: true
13
+ attribute :chapter, Chapter, collection: true
14
+ attribute :appendix, Appendix, collection: true
15
+ attribute :reference, Reference, collection: true
16
+ attribute :glossary, Glossary, collection: true
17
+ attribute :bibliography, Bibliography, collection: true
18
+ attribute :index, Index, collection: true
19
+
20
+ xml do
21
+ element "part"
22
+ mixed_content
23
+ map_content to: :content
24
+ map_attribute "xml:id", to: :xml_id
25
+ map_attribute "version", to: :version
26
+ map_element "info", to: :info
27
+ map_element "title", to: :title
28
+ map_element "preface", to: :preface
29
+ map_element "chapter", to: :chapter
30
+ map_element "appendix", to: :appendix
31
+ map_element "reference", to: :reference
32
+ map_element "glossary", to: :glossary
33
+ map_element "bibliography", to: :bibliography
34
+ map_element "index", to: :index
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class PersonName < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :firstname, FirstName
9
+ attribute :surname, Surname
10
+ attribute :honorific, Honorific
11
+
12
+ xml do
13
+ element "personname"
14
+ mixed_content
15
+ map_content to: :content
16
+ map_element "firstname", to: :firstname
17
+ map_element "surname", to: :surname
18
+ map_element "honorific", to: :honorific
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Phrase < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :role, :string
9
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
10
+
11
+ xml do
12
+ element "phrase"
13
+ mixed_content
14
+ map_content to: :content
15
+ map_attribute "role", to: :role
16
+ map_attribute "xml:id", to: :xml_id
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Preface < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :xml_id, Lutaml::Xml::W3c::XmlIdType
9
+ attribute :info, Info
10
+ attribute :title, Title
11
+ attribute :para, Para, collection: true
12
+ attribute :section, Section, collection: true
13
+ attribute :orderedlist, OrderedList, collection: true
14
+ attribute :itemizedlist, ItemizedList, collection: true
15
+ attribute :variablelist, VariableList, collection: true
16
+ attribute :note, Note, collection: true
17
+ attribute :warning, Warning, collection: true
18
+ attribute :caution, Caution, collection: true
19
+ attribute :important, Important, collection: true
20
+ attribute :tip, Tip, collection: true
21
+ attribute :danger, Danger, collection: true
22
+ attribute :figure, Figure, collection: true
23
+ attribute :example, Example, collection: true
24
+ attribute :blockquote, BlockQuote, collection: true
25
+ attribute :literallayout, LiteralLayout, collection: true
26
+ attribute :simplesect, Simplesect, collection: true
27
+ attribute :programlisting, ProgramListing, collection: true
28
+ attribute :screen, Screen, collection: true
29
+
30
+ xml do
31
+ element "preface"
32
+ mixed_content
33
+ map_content to: :content
34
+ map_attribute "xml:id", to: :xml_id
35
+ map_element "info", to: :info
36
+ map_element "title", to: :title
37
+ map_element "para", to: :para
38
+ map_element "section", to: :section
39
+ map_element "orderedlist", to: :orderedlist
40
+ map_element "itemizedlist", to: :itemizedlist
41
+ map_element "variablelist", to: :variablelist
42
+ map_element "note", to: :note
43
+ map_element "warning", to: :warning
44
+ map_element "caution", to: :caution
45
+ map_element "important", to: :important
46
+ map_element "tip", to: :tip
47
+ map_element "danger", to: :danger
48
+ map_element "figure", to: :figure
49
+ map_element "example", to: :example
50
+ map_element "blockquote", to: :blockquote
51
+ map_element "literallayout", to: :literallayout
52
+ map_element "simplesect", to: :simplesect
53
+ map_element "programlisting", to: :programlisting
54
+ map_element "screen", to: :screen
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Docbook
5
+ module Elements
6
+ class Primary < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+
9
+ xml do
10
+ element "primary"
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 Procedure < 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 :step, Step, collection: true
12
+
13
+ xml do
14
+ element "procedure"
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 "step", to: :step
21
+ end
22
+ end
23
+ end
24
+ end