html/generated/
dt.rs

1pub mod element {
2    /// The HTML `<dt>` element
3    ///
4    /// [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt)
5    #[doc(alias = "dt")]
6    #[non_exhaustive]
7    #[derive(PartialEq, Clone, Default)]
8    pub struct DescriptionTerm {
9        sys: html_sys::text::DescriptionTerm,
10        children: Vec<super::child::DescriptionTermChild>,
11    }
12    impl DescriptionTerm {
13        /// Create a new builder
14        pub fn builder() -> super::builder::DescriptionTermBuilder {
15            super::builder::DescriptionTermBuilder::new(Default::default())
16        }
17    }
18    impl DescriptionTerm {
19        /// Access the element's `data-*` properties
20        pub fn data_map(&self) -> &html_sys::DataMap {
21            &self.sys.data_map
22        }
23        /// Mutably access the element's `data-*` properties
24        pub fn data_map_mut(&mut self) -> &mut html_sys::DataMap {
25            &mut self.sys.data_map
26        }
27    }
28    impl DescriptionTerm {
29        /// Get the value of the `role` attribute
30        pub fn role(&self) -> std::option::Option<&str> {
31            self.sys.role.as_deref()
32        }
33        /// Set the value of the `role` attribute
34        pub fn set_role(
35            &mut self,
36            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
37        ) {
38            self.sys.role = value.map(|v| v.into());
39        }
40        /// Get the value of the `aria-atomic` attribute
41        pub fn aria_atomic(&self) -> bool {
42            self.sys.aria_atomic
43        }
44        /// Set the value of the `aria-atomic` attribute
45        pub fn set_aria_atomic(&mut self, value: bool) {
46            self.sys.aria_atomic = value;
47        }
48        /// Get the value of the `aria-braillelabel` attribute
49        pub fn aria_braille_label(&self) -> std::option::Option<&str> {
50            self.sys.aria_braille_label.as_deref()
51        }
52        /// Set the value of the `aria-braillelabel` attribute
53        pub fn set_aria_braille_label(
54            &mut self,
55            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
56        ) {
57            self.sys.aria_braille_label = value.map(|v| v.into());
58        }
59        /// Get the value of the `aria-brailleroledescription` attribute
60        pub fn aria_braille_role_description(&self) -> std::option::Option<&str> {
61            self.sys.aria_braille_role_description.as_deref()
62        }
63        /// Set the value of the `aria-brailleroledescription` attribute
64        pub fn set_aria_braille_role_description(
65            &mut self,
66            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
67        ) {
68            self.sys.aria_braille_role_description = value.map(|v| v.into());
69        }
70        /// Get the value of the `aria-busy` attribute
71        pub fn aria_busy(&self) -> bool {
72            self.sys.aria_busy
73        }
74        /// Set the value of the `aria-busy` attribute
75        pub fn set_aria_busy(&mut self, value: bool) {
76            self.sys.aria_busy = value;
77        }
78        /// Get the value of the `aria-controls` attribute
79        pub fn aria_controls_elements(&self) -> std::option::Option<&str> {
80            self.sys.aria_controls_elements.as_deref()
81        }
82        /// Set the value of the `aria-controls` attribute
83        pub fn set_aria_controls_elements(
84            &mut self,
85            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
86        ) {
87            self.sys.aria_controls_elements = value.map(|v| v.into());
88        }
89        /// Get the value of the `aria-current` attribute
90        pub fn aria_current(&self) -> std::option::Option<&str> {
91            self.sys.aria_current.as_deref()
92        }
93        /// Set the value of the `aria-current` attribute
94        pub fn set_aria_current(
95            &mut self,
96            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
97        ) {
98            self.sys.aria_current = value.map(|v| v.into());
99        }
100        /// Get the value of the `aria-describedby` attribute
101        pub fn aria_described_by_elements(&self) -> std::option::Option<&str> {
102            self.sys.aria_described_by_elements.as_deref()
103        }
104        /// Set the value of the `aria-describedby` attribute
105        pub fn set_aria_described_by_elements(
106            &mut self,
107            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
108        ) {
109            self.sys.aria_described_by_elements = value.map(|v| v.into());
110        }
111        /// Get the value of the `aria-description` attribute
112        pub fn aria_description(&self) -> std::option::Option<&str> {
113            self.sys.aria_description.as_deref()
114        }
115        /// Set the value of the `aria-description` attribute
116        pub fn set_aria_description(
117            &mut self,
118            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
119        ) {
120            self.sys.aria_description = value.map(|v| v.into());
121        }
122        /// Get the value of the `aria-details` attribute
123        pub fn aria_details_elements(&self) -> std::option::Option<&str> {
124            self.sys.aria_details_elements.as_deref()
125        }
126        /// Set the value of the `aria-details` attribute
127        pub fn set_aria_details_elements(
128            &mut self,
129            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
130        ) {
131            self.sys.aria_details_elements = value.map(|v| v.into());
132        }
133        /// Get the value of the `aria-disabled` attribute
134        pub fn aria_disabled(&self) -> bool {
135            self.sys.aria_disabled
136        }
137        /// Set the value of the `aria-disabled` attribute
138        pub fn set_aria_disabled(&mut self, value: bool) {
139            self.sys.aria_disabled = value;
140        }
141        /// Get the value of the `aria-dropeffect` attribute
142        pub fn aria_drop_effect(&self) -> std::option::Option<&str> {
143            self.sys.aria_drop_effect.as_deref()
144        }
145        /// Set the value of the `aria-dropeffect` attribute
146        pub fn set_aria_drop_effect(
147            &mut self,
148            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
149        ) {
150            self.sys.aria_drop_effect = value.map(|v| v.into());
151        }
152        /// Get the value of the `aria-errormessage` attribute
153        pub fn aria_error_message_elements(&self) -> std::option::Option<&str> {
154            self.sys.aria_error_message_elements.as_deref()
155        }
156        /// Set the value of the `aria-errormessage` attribute
157        pub fn set_aria_error_message_elements(
158            &mut self,
159            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
160        ) {
161            self.sys.aria_error_message_elements = value.map(|v| v.into());
162        }
163        /// Get the value of the `aria-flowto` attribute
164        pub fn aria_flow_to_elements(&self) -> std::option::Option<&str> {
165            self.sys.aria_flow_to_elements.as_deref()
166        }
167        /// Set the value of the `aria-flowto` attribute
168        pub fn set_aria_flow_to_elements(
169            &mut self,
170            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
171        ) {
172            self.sys.aria_flow_to_elements = value.map(|v| v.into());
173        }
174        /// Get the value of the `aria-grabbed` attribute
175        pub fn aria_grabbed(&self) -> bool {
176            self.sys.aria_grabbed
177        }
178        /// Set the value of the `aria-grabbed` attribute
179        pub fn set_aria_grabbed(&mut self, value: bool) {
180            self.sys.aria_grabbed = value;
181        }
182        /// Get the value of the `aria-haspopup` attribute
183        pub fn aria_has_popup(&self) -> std::option::Option<&str> {
184            self.sys.aria_has_popup.as_deref()
185        }
186        /// Set the value of the `aria-haspopup` attribute
187        pub fn set_aria_has_popup(
188            &mut self,
189            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
190        ) {
191            self.sys.aria_has_popup = value.map(|v| v.into());
192        }
193        /// Get the value of the `aria-hidden` attribute
194        pub fn aria_hidden(&self) -> bool {
195            self.sys.aria_hidden
196        }
197        /// Set the value of the `aria-hidden` attribute
198        pub fn set_aria_hidden(&mut self, value: bool) {
199            self.sys.aria_hidden = value;
200        }
201        /// Get the value of the `aria-invalid` attribute
202        pub fn aria_invalid(&self) -> std::option::Option<&str> {
203            self.sys.aria_invalid.as_deref()
204        }
205        /// Set the value of the `aria-invalid` attribute
206        pub fn set_aria_invalid(
207            &mut self,
208            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
209        ) {
210            self.sys.aria_invalid = value.map(|v| v.into());
211        }
212        /// Get the value of the `aria-keyshortcuts` attribute
213        pub fn aria_key_shortcuts(&self) -> std::option::Option<&str> {
214            self.sys.aria_key_shortcuts.as_deref()
215        }
216        /// Set the value of the `aria-keyshortcuts` attribute
217        pub fn set_aria_key_shortcuts(
218            &mut self,
219            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
220        ) {
221            self.sys.aria_key_shortcuts = value.map(|v| v.into());
222        }
223        /// Get the value of the `aria-label` attribute
224        pub fn aria_label(&self) -> std::option::Option<&str> {
225            self.sys.aria_label.as_deref()
226        }
227        /// Set the value of the `aria-label` attribute
228        pub fn set_aria_label(
229            &mut self,
230            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
231        ) {
232            self.sys.aria_label = value.map(|v| v.into());
233        }
234        /// Get the value of the `aria-labelledby` attribute
235        pub fn aria_labelled_by_elements(&self) -> std::option::Option<&str> {
236            self.sys.aria_labelled_by_elements.as_deref()
237        }
238        /// Set the value of the `aria-labelledby` attribute
239        pub fn set_aria_labelled_by_elements(
240            &mut self,
241            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
242        ) {
243            self.sys.aria_labelled_by_elements = value.map(|v| v.into());
244        }
245        /// Get the value of the `aria-live` attribute
246        pub fn aria_live(&self) -> std::option::Option<&str> {
247            self.sys.aria_live.as_deref()
248        }
249        /// Set the value of the `aria-live` attribute
250        pub fn set_aria_live(
251            &mut self,
252            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
253        ) {
254            self.sys.aria_live = value.map(|v| v.into());
255        }
256        /// Get the value of the `aria-owns` attribute
257        pub fn aria_owns_elements(&self) -> std::option::Option<&str> {
258            self.sys.aria_owns_elements.as_deref()
259        }
260        /// Set the value of the `aria-owns` attribute
261        pub fn set_aria_owns_elements(
262            &mut self,
263            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
264        ) {
265            self.sys.aria_owns_elements = value.map(|v| v.into());
266        }
267        /// Get the value of the `aria-posinset` attribute
268        pub fn aria_pos_in_set(&self) -> std::option::Option<i64> {
269            self.sys.aria_pos_in_set
270        }
271        /// Set the value of the `aria-posinset` attribute
272        pub fn set_aria_pos_in_set(&mut self, value: std::option::Option<i64>) {
273            self.sys.aria_pos_in_set = value;
274        }
275        /// Get the value of the `aria-relevant` attribute
276        pub fn aria_relevant(&self) -> std::option::Option<&str> {
277            self.sys.aria_relevant.as_deref()
278        }
279        /// Set the value of the `aria-relevant` attribute
280        pub fn set_aria_relevant(
281            &mut self,
282            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
283        ) {
284            self.sys.aria_relevant = value.map(|v| v.into());
285        }
286        /// Get the value of the `aria-roledescription` attribute
287        pub fn aria_role_description(&self) -> std::option::Option<&str> {
288            self.sys.aria_role_description.as_deref()
289        }
290        /// Set the value of the `aria-roledescription` attribute
291        pub fn set_aria_role_description(
292            &mut self,
293            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
294        ) {
295            self.sys.aria_role_description = value.map(|v| v.into());
296        }
297        /// Get the value of the `aria-setsize` attribute
298        pub fn aria_set_size(&self) -> std::option::Option<i64> {
299            self.sys.aria_set_size
300        }
301        /// Set the value of the `aria-setsize` attribute
302        pub fn set_aria_set_size(&mut self, value: std::option::Option<i64>) {
303            self.sys.aria_set_size = value;
304        }
305        /// Get the value of the `accesskey` attribute
306        pub fn access_key(&self) -> std::option::Option<&str> {
307            self.sys.access_key.as_deref()
308        }
309        /// Set the value of the `accesskey` attribute
310        pub fn set_access_key(
311            &mut self,
312            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
313        ) {
314            self.sys.access_key = value.map(|v| v.into());
315        }
316        /// Get the value of the `autocapitalize` attribute
317        pub fn auto_capitalize(&self) -> std::option::Option<&str> {
318            self.sys.auto_capitalize.as_deref()
319        }
320        /// Set the value of the `autocapitalize` attribute
321        pub fn set_auto_capitalize(
322            &mut self,
323            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
324        ) {
325            self.sys.auto_capitalize = value.map(|v| v.into());
326        }
327        /// Get the value of the `autofocus` attribute
328        pub fn autofocus(&self) -> bool {
329            self.sys.autofocus
330        }
331        /// Set the value of the `autofocus` attribute
332        pub fn set_autofocus(&mut self, value: bool) {
333            self.sys.autofocus = value;
334        }
335        /// Get the value of the `class` attribute
336        pub fn class(&self) -> std::option::Option<&str> {
337            self.sys.class.as_deref()
338        }
339        /// Set the value of the `class` attribute
340        pub fn set_class(
341            &mut self,
342            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
343        ) {
344            self.sys.class = value.map(|v| v.into());
345        }
346        /// Get the value of the `contenteditable` attribute
347        pub fn content_editable(&self) -> std::option::Option<&str> {
348            self.sys.content_editable.as_deref()
349        }
350        /// Set the value of the `contenteditable` attribute
351        pub fn set_content_editable(
352            &mut self,
353            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
354        ) {
355            self.sys.content_editable = value.map(|v| v.into());
356        }
357        /// Get the value of the `dir` attribute
358        pub fn direction(&self) -> std::option::Option<&str> {
359            self.sys.direction.as_deref()
360        }
361        /// Set the value of the `dir` attribute
362        pub fn set_direction(
363            &mut self,
364            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
365        ) {
366            self.sys.direction = value.map(|v| v.into());
367        }
368        /// Get the value of the `draggable` attribute
369        pub fn draggable(&self) -> bool {
370            self.sys.draggable
371        }
372        /// Set the value of the `draggable` attribute
373        pub fn set_draggable(&mut self, value: bool) {
374            self.sys.draggable = value;
375        }
376        /// Get the value of the `enterkeyhint` attribute
377        pub fn enter_key_hint(&self) -> std::option::Option<&str> {
378            self.sys.enter_key_hint.as_deref()
379        }
380        /// Set the value of the `enterkeyhint` attribute
381        pub fn set_enter_key_hint(
382            &mut self,
383            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
384        ) {
385            self.sys.enter_key_hint = value.map(|v| v.into());
386        }
387        /// Get the value of the `exportparts` attribute
388        pub fn export_parts(&self) -> std::option::Option<&str> {
389            self.sys.export_parts.as_deref()
390        }
391        /// Set the value of the `exportparts` attribute
392        pub fn set_export_parts(
393            &mut self,
394            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
395        ) {
396            self.sys.export_parts = value.map(|v| v.into());
397        }
398        /// Get the value of the `hidden` attribute
399        pub fn hidden(&self) -> std::option::Option<&str> {
400            self.sys.hidden.as_deref()
401        }
402        /// Set the value of the `hidden` attribute
403        pub fn set_hidden(
404            &mut self,
405            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
406        ) {
407            self.sys.hidden = value.map(|v| v.into());
408        }
409        /// Get the value of the `id` attribute
410        pub fn id(&self) -> std::option::Option<&str> {
411            self.sys.id.as_deref()
412        }
413        /// Set the value of the `id` attribute
414        pub fn set_id(
415            &mut self,
416            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
417        ) {
418            self.sys.id = value.map(|v| v.into());
419        }
420        /// Get the value of the `inert` attribute
421        pub fn inert(&self) -> bool {
422            self.sys.inert
423        }
424        /// Set the value of the `inert` attribute
425        pub fn set_inert(&mut self, value: bool) {
426            self.sys.inert = value;
427        }
428        /// Get the value of the `inputmode` attribute
429        pub fn input_mode(&self) -> std::option::Option<&str> {
430            self.sys.input_mode.as_deref()
431        }
432        /// Set the value of the `inputmode` attribute
433        pub fn set_input_mode(
434            &mut self,
435            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
436        ) {
437            self.sys.input_mode = value.map(|v| v.into());
438        }
439        /// Get the value of the `is` attribute
440        pub fn is_(&self) -> std::option::Option<&str> {
441            self.sys.is_.as_deref()
442        }
443        /// Set the value of the `is` attribute
444        pub fn set_is_(
445            &mut self,
446            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
447        ) {
448            self.sys.is_ = value.map(|v| v.into());
449        }
450        /// Get the value of the `itemid` attribute
451        pub fn item_id(&self) -> std::option::Option<&str> {
452            self.sys.item_id.as_deref()
453        }
454        /// Set the value of the `itemid` attribute
455        pub fn set_item_id(
456            &mut self,
457            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
458        ) {
459            self.sys.item_id = value.map(|v| v.into());
460        }
461        /// Get the value of the `itemprop` attribute
462        pub fn item_prop(&self) -> std::option::Option<&str> {
463            self.sys.item_prop.as_deref()
464        }
465        /// Set the value of the `itemprop` attribute
466        pub fn set_item_prop(
467            &mut self,
468            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
469        ) {
470            self.sys.item_prop = value.map(|v| v.into());
471        }
472        /// Get the value of the `itemref` attribute
473        pub fn item_ref(&self) -> std::option::Option<&str> {
474            self.sys.item_ref.as_deref()
475        }
476        /// Set the value of the `itemref` attribute
477        pub fn set_item_ref(
478            &mut self,
479            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
480        ) {
481            self.sys.item_ref = value.map(|v| v.into());
482        }
483        /// Get the value of the `itemscope` attribute
484        pub fn item_scope(&self) -> std::option::Option<&str> {
485            self.sys.item_scope.as_deref()
486        }
487        /// Set the value of the `itemscope` attribute
488        pub fn set_item_scope(
489            &mut self,
490            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
491        ) {
492            self.sys.item_scope = value.map(|v| v.into());
493        }
494        /// Get the value of the `itemtype` attribute
495        pub fn item_type(&self) -> std::option::Option<&str> {
496            self.sys.item_type.as_deref()
497        }
498        /// Set the value of the `itemtype` attribute
499        pub fn set_item_type(
500            &mut self,
501            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
502        ) {
503            self.sys.item_type = value.map(|v| v.into());
504        }
505        /// Get the value of the `lang` attribute
506        pub fn lang(&self) -> std::option::Option<&str> {
507            self.sys.lang.as_deref()
508        }
509        /// Set the value of the `lang` attribute
510        pub fn set_lang(
511            &mut self,
512            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
513        ) {
514            self.sys.lang = value.map(|v| v.into());
515        }
516        /// Get the value of the `nonce` attribute
517        pub fn nonce(&self) -> std::option::Option<&str> {
518            self.sys.nonce.as_deref()
519        }
520        /// Set the value of the `nonce` attribute
521        pub fn set_nonce(
522            &mut self,
523            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
524        ) {
525            self.sys.nonce = value.map(|v| v.into());
526        }
527        /// Get the value of the `part` attribute
528        pub fn part(&self) -> std::option::Option<&str> {
529            self.sys.part.as_deref()
530        }
531        /// Set the value of the `part` attribute
532        pub fn set_part(
533            &mut self,
534            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
535        ) {
536            self.sys.part = value.map(|v| v.into());
537        }
538        /// Get the value of the `slot` attribute
539        pub fn slot(&self) -> std::option::Option<&str> {
540            self.sys.slot.as_deref()
541        }
542        /// Set the value of the `slot` attribute
543        pub fn set_slot(
544            &mut self,
545            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
546        ) {
547            self.sys.slot = value.map(|v| v.into());
548        }
549        /// Get the value of the `spellcheck` attribute
550        pub fn spellcheck(&self) -> std::option::Option<&str> {
551            self.sys.spellcheck.as_deref()
552        }
553        /// Set the value of the `spellcheck` attribute
554        pub fn set_spellcheck(
555            &mut self,
556            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
557        ) {
558            self.sys.spellcheck = value.map(|v| v.into());
559        }
560        /// Get the value of the `style` attribute
561        pub fn style(&self) -> std::option::Option<&str> {
562            self.sys.style.as_deref()
563        }
564        /// Set the value of the `style` attribute
565        pub fn set_style(
566            &mut self,
567            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
568        ) {
569            self.sys.style = value.map(|v| v.into());
570        }
571        /// Get the value of the `tabindex` attribute
572        pub fn tab_index(&self) -> std::option::Option<i64> {
573            self.sys.tab_index
574        }
575        /// Set the value of the `tabindex` attribute
576        pub fn set_tab_index(&mut self, value: std::option::Option<i64>) {
577            self.sys.tab_index = value;
578        }
579        /// Get the value of the `title` attribute
580        pub fn title(&self) -> std::option::Option<&str> {
581            self.sys.title.as_deref()
582        }
583        /// Set the value of the `title` attribute
584        pub fn set_title(
585            &mut self,
586            value: std::option::Option<impl Into<std::borrow::Cow<'static, str>>>,
587        ) {
588            self.sys.title = value.map(|v| v.into());
589        }
590        /// Get the value of the `translate` attribute
591        pub fn translate(&self) -> bool {
592            self.sys.translate
593        }
594        /// Set the value of the `translate` attribute
595        pub fn set_translate(&mut self, value: bool) {
596            self.sys.translate = value;
597        }
598    }
599    impl DescriptionTerm {
600        /// Access the element's children
601        pub fn children(&self) -> &[super::child::DescriptionTermChild] {
602            self.children.as_ref()
603        }
604        /// Mutably access the element's children
605        pub fn children_mut(&mut self) -> &mut Vec<super::child::DescriptionTermChild> {
606            &mut self.children
607        }
608    }
609    impl crate::Render for DescriptionTerm {
610        fn render(
611            &self,
612            f: &mut std::fmt::Formatter<'_>,
613            depth: usize,
614        ) -> std::fmt::Result {
615            write!(f, "{:level$}", "", level = depth * 4)?;
616            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
617            if !self.children.is_empty() {
618                write!(f, "\n")?;
619            }
620            for el in &self.children {
621                crate::Render::render(&el, f, depth)?;
622                write!(f, "\n")?;
623            }
624            write!(f, "{:level$}", "", level = depth * 4)?;
625            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
626            Ok(())
627        }
628    }
629    impl std::fmt::Debug for DescriptionTerm {
630        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
631            crate::Render::render(self, f, 0)?;
632            Ok(())
633        }
634    }
635    impl std::fmt::Display for DescriptionTerm {
636        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
637            html_sys::RenderElement::write_opening_tag(&self.sys, f)?;
638            for el in &self.children {
639                write!(f, "{el}")?;
640            }
641            html_sys::RenderElement::write_closing_tag(&self.sys, f)?;
642            Ok(())
643        }
644    }
645    impl crate::HtmlElement for DescriptionTerm {}
646    impl std::convert::Into<html_sys::text::DescriptionTerm> for DescriptionTerm {
647        fn into(self) -> html_sys::text::DescriptionTerm {
648            self.sys
649        }
650    }
651    impl From<html_sys::text::DescriptionTerm> for DescriptionTerm {
652        fn from(sys: html_sys::text::DescriptionTerm) -> Self {
653            Self { sys, children: vec![] }
654        }
655    }
656}
657pub mod child {
658    /// The permitted child items for the `DescriptionTerm` element
659    #[derive(PartialEq, Clone)]
660    pub enum DescriptionTermChild {
661        /// The Abbreviation element
662        Abbreviation(crate::generated::all::Abbreviation),
663        /// The Address element
664        Address(crate::generated::all::Address),
665        /// The Anchor element
666        Anchor(crate::generated::all::Anchor),
667        /// The Article element
668        Article(crate::generated::all::Article),
669        /// The Aside element
670        Aside(crate::generated::all::Aside),
671        /// The Audio element
672        Audio(crate::generated::all::Audio),
673        /// The BidirectionalIsolate element
674        BidirectionalIsolate(crate::generated::all::BidirectionalIsolate),
675        /// The BidirectionalTextOverride element
676        BidirectionalTextOverride(crate::generated::all::BidirectionalTextOverride),
677        /// The BlockQuote element
678        BlockQuote(crate::generated::all::BlockQuote),
679        /// The Bold element
680        Bold(crate::generated::all::Bold),
681        /// The Button element
682        Button(crate::generated::all::Button),
683        /// The Canvas element
684        Canvas(crate::generated::all::Canvas),
685        /// The Cite element
686        Cite(crate::generated::all::Cite),
687        /// The Code element
688        Code(crate::generated::all::Code),
689        /// The Data element
690        Data(crate::generated::all::Data),
691        /// The DataList element
692        DataList(crate::generated::all::DataList),
693        /// The Definition element
694        Definition(crate::generated::all::Definition),
695        /// The DeletedText element
696        DeletedText(crate::generated::all::DeletedText),
697        /// The DescriptionList element
698        DescriptionList(crate::generated::all::DescriptionList),
699        /// The Details element
700        Details(crate::generated::all::Details),
701        /// The Dialog element
702        Dialog(crate::generated::all::Dialog),
703        /// The Division element
704        Division(crate::generated::all::Division),
705        /// The Embed element
706        Embed(crate::generated::all::Embed),
707        /// The Emphasis element
708        Emphasis(crate::generated::all::Emphasis),
709        /// The Fieldset element
710        Fieldset(crate::generated::all::Fieldset),
711        /// The Figure element
712        Figure(crate::generated::all::Figure),
713        /// The Footer element
714        Footer(crate::generated::all::Footer),
715        /// The Form element
716        Form(crate::generated::all::Form),
717        /// The Header element
718        Header(crate::generated::all::Header),
719        /// The Heading1 element
720        Heading1(crate::generated::all::Heading1),
721        /// The Heading2 element
722        Heading2(crate::generated::all::Heading2),
723        /// The Heading3 element
724        Heading3(crate::generated::all::Heading3),
725        /// The Heading4 element
726        Heading4(crate::generated::all::Heading4),
727        /// The Heading5 element
728        Heading5(crate::generated::all::Heading5),
729        /// The Heading6 element
730        Heading6(crate::generated::all::Heading6),
731        /// The HeadingGroup element
732        HeadingGroup(crate::generated::all::HeadingGroup),
733        /// The Iframe element
734        Iframe(crate::generated::all::Iframe),
735        /// The Image element
736        Image(crate::generated::all::Image),
737        /// The ImageMap element
738        ImageMap(crate::generated::all::ImageMap),
739        /// The ImageMapArea element
740        ImageMapArea(crate::generated::all::ImageMapArea),
741        /// The Input element
742        Input(crate::generated::all::Input),
743        /// The InsertedText element
744        InsertedText(crate::generated::all::InsertedText),
745        /// The Italic element
746        Italic(crate::generated::all::Italic),
747        /// The KeyboardInput element
748        KeyboardInput(crate::generated::all::KeyboardInput),
749        /// The Label element
750        Label(crate::generated::all::Label),
751        /// The LineBreak element
752        LineBreak(crate::generated::all::LineBreak),
753        /// The LineBreakOpportunity element
754        LineBreakOpportunity(crate::generated::all::LineBreakOpportunity),
755        /// The Link element
756        Link(crate::generated::all::Link),
757        /// The Main element
758        Main(crate::generated::all::Main),
759        /// The MarkText element
760        MarkText(crate::generated::all::MarkText),
761        /// The Menu element
762        Menu(crate::generated::all::Menu),
763        /// The Meta element
764        Meta(crate::generated::all::Meta),
765        /// The Meter element
766        Meter(crate::generated::all::Meter),
767        /// The Navigation element
768        Navigation(crate::generated::all::Navigation),
769        /// The NoScript element
770        NoScript(crate::generated::all::NoScript),
771        /// The Object element
772        Object(crate::generated::all::Object),
773        /// The OrderedList element
774        OrderedList(crate::generated::all::OrderedList),
775        /// The Output element
776        Output(crate::generated::all::Output),
777        /// The Paragraph element
778        Paragraph(crate::generated::all::Paragraph),
779        /// The Picture element
780        Picture(crate::generated::all::Picture),
781        /// The PreformattedText element
782        PreformattedText(crate::generated::all::PreformattedText),
783        /// The Progress element
784        Progress(crate::generated::all::Progress),
785        /// The Quotation element
786        Quotation(crate::generated::all::Quotation),
787        /// The RubyAnnotation element
788        RubyAnnotation(crate::generated::all::RubyAnnotation),
789        /// The SampleOutput element
790        SampleOutput(crate::generated::all::SampleOutput),
791        /// The Script element
792        Script(crate::generated::all::Script),
793        /// The Search element
794        Search(crate::generated::all::Search),
795        /// The Section element
796        Section(crate::generated::all::Section),
797        /// The Select element
798        Select(crate::generated::all::Select),
799        /// The SideComment element
800        SideComment(crate::generated::all::SideComment),
801        /// The Slot element
802        Slot(crate::generated::all::Slot),
803        /// The Span element
804        Span(crate::generated::all::Span),
805        /// The StrikeThrough element
806        StrikeThrough(crate::generated::all::StrikeThrough),
807        /// The Strong element
808        Strong(crate::generated::all::Strong),
809        /// The SubScript element
810        SubScript(crate::generated::all::SubScript),
811        /// The SuperScript element
812        SuperScript(crate::generated::all::SuperScript),
813        /// The Table element
814        Table(crate::generated::all::Table),
815        /// The Template element
816        Template(crate::generated::all::Template),
817        /// The Text element
818        Text(std::borrow::Cow<'static, str>),
819        /// The TextArea element
820        TextArea(crate::generated::all::TextArea),
821        /// The ThematicBreak element
822        ThematicBreak(crate::generated::all::ThematicBreak),
823        /// The Time element
824        Time(crate::generated::all::Time),
825        /// The Underline element
826        Underline(crate::generated::all::Underline),
827        /// The UnorderedList element
828        UnorderedList(crate::generated::all::UnorderedList),
829        /// The Variable element
830        Variable(crate::generated::all::Variable),
831        /// The Video element
832        Video(crate::generated::all::Video),
833    }
834    impl std::convert::From<crate::generated::all::Abbreviation>
835    for DescriptionTermChild {
836        fn from(value: crate::generated::all::Abbreviation) -> Self {
837            Self::Abbreviation(value)
838        }
839    }
840    impl std::convert::From<crate::generated::all::Address> for DescriptionTermChild {
841        fn from(value: crate::generated::all::Address) -> Self {
842            Self::Address(value)
843        }
844    }
845    impl std::convert::From<crate::generated::all::Anchor> for DescriptionTermChild {
846        fn from(value: crate::generated::all::Anchor) -> Self {
847            Self::Anchor(value)
848        }
849    }
850    impl std::convert::From<crate::generated::all::Article> for DescriptionTermChild {
851        fn from(value: crate::generated::all::Article) -> Self {
852            Self::Article(value)
853        }
854    }
855    impl std::convert::From<crate::generated::all::Aside> for DescriptionTermChild {
856        fn from(value: crate::generated::all::Aside) -> Self {
857            Self::Aside(value)
858        }
859    }
860    impl std::convert::From<crate::generated::all::Audio> for DescriptionTermChild {
861        fn from(value: crate::generated::all::Audio) -> Self {
862            Self::Audio(value)
863        }
864    }
865    impl std::convert::From<crate::generated::all::BidirectionalIsolate>
866    for DescriptionTermChild {
867        fn from(value: crate::generated::all::BidirectionalIsolate) -> Self {
868            Self::BidirectionalIsolate(value)
869        }
870    }
871    impl std::convert::From<crate::generated::all::BidirectionalTextOverride>
872    for DescriptionTermChild {
873        fn from(value: crate::generated::all::BidirectionalTextOverride) -> Self {
874            Self::BidirectionalTextOverride(value)
875        }
876    }
877    impl std::convert::From<crate::generated::all::BlockQuote> for DescriptionTermChild {
878        fn from(value: crate::generated::all::BlockQuote) -> Self {
879            Self::BlockQuote(value)
880        }
881    }
882    impl std::convert::From<crate::generated::all::Bold> for DescriptionTermChild {
883        fn from(value: crate::generated::all::Bold) -> Self {
884            Self::Bold(value)
885        }
886    }
887    impl std::convert::From<crate::generated::all::Button> for DescriptionTermChild {
888        fn from(value: crate::generated::all::Button) -> Self {
889            Self::Button(value)
890        }
891    }
892    impl std::convert::From<crate::generated::all::Canvas> for DescriptionTermChild {
893        fn from(value: crate::generated::all::Canvas) -> Self {
894            Self::Canvas(value)
895        }
896    }
897    impl std::convert::From<crate::generated::all::Cite> for DescriptionTermChild {
898        fn from(value: crate::generated::all::Cite) -> Self {
899            Self::Cite(value)
900        }
901    }
902    impl std::convert::From<crate::generated::all::Code> for DescriptionTermChild {
903        fn from(value: crate::generated::all::Code) -> Self {
904            Self::Code(value)
905        }
906    }
907    impl std::convert::From<crate::generated::all::Data> for DescriptionTermChild {
908        fn from(value: crate::generated::all::Data) -> Self {
909            Self::Data(value)
910        }
911    }
912    impl std::convert::From<crate::generated::all::DataList> for DescriptionTermChild {
913        fn from(value: crate::generated::all::DataList) -> Self {
914            Self::DataList(value)
915        }
916    }
917    impl std::convert::From<crate::generated::all::Definition> for DescriptionTermChild {
918        fn from(value: crate::generated::all::Definition) -> Self {
919            Self::Definition(value)
920        }
921    }
922    impl std::convert::From<crate::generated::all::DeletedText>
923    for DescriptionTermChild {
924        fn from(value: crate::generated::all::DeletedText) -> Self {
925            Self::DeletedText(value)
926        }
927    }
928    impl std::convert::From<crate::generated::all::DescriptionList>
929    for DescriptionTermChild {
930        fn from(value: crate::generated::all::DescriptionList) -> Self {
931            Self::DescriptionList(value)
932        }
933    }
934    impl std::convert::From<crate::generated::all::Details> for DescriptionTermChild {
935        fn from(value: crate::generated::all::Details) -> Self {
936            Self::Details(value)
937        }
938    }
939    impl std::convert::From<crate::generated::all::Dialog> for DescriptionTermChild {
940        fn from(value: crate::generated::all::Dialog) -> Self {
941            Self::Dialog(value)
942        }
943    }
944    impl std::convert::From<crate::generated::all::Division> for DescriptionTermChild {
945        fn from(value: crate::generated::all::Division) -> Self {
946            Self::Division(value)
947        }
948    }
949    impl std::convert::From<crate::generated::all::Embed> for DescriptionTermChild {
950        fn from(value: crate::generated::all::Embed) -> Self {
951            Self::Embed(value)
952        }
953    }
954    impl std::convert::From<crate::generated::all::Emphasis> for DescriptionTermChild {
955        fn from(value: crate::generated::all::Emphasis) -> Self {
956            Self::Emphasis(value)
957        }
958    }
959    impl std::convert::From<crate::generated::all::Fieldset> for DescriptionTermChild {
960        fn from(value: crate::generated::all::Fieldset) -> Self {
961            Self::Fieldset(value)
962        }
963    }
964    impl std::convert::From<crate::generated::all::Figure> for DescriptionTermChild {
965        fn from(value: crate::generated::all::Figure) -> Self {
966            Self::Figure(value)
967        }
968    }
969    impl std::convert::From<crate::generated::all::Footer> for DescriptionTermChild {
970        fn from(value: crate::generated::all::Footer) -> Self {
971            Self::Footer(value)
972        }
973    }
974    impl std::convert::From<crate::generated::all::Form> for DescriptionTermChild {
975        fn from(value: crate::generated::all::Form) -> Self {
976            Self::Form(value)
977        }
978    }
979    impl std::convert::From<crate::generated::all::Header> for DescriptionTermChild {
980        fn from(value: crate::generated::all::Header) -> Self {
981            Self::Header(value)
982        }
983    }
984    impl std::convert::From<crate::generated::all::Heading1> for DescriptionTermChild {
985        fn from(value: crate::generated::all::Heading1) -> Self {
986            Self::Heading1(value)
987        }
988    }
989    impl std::convert::From<crate::generated::all::Heading2> for DescriptionTermChild {
990        fn from(value: crate::generated::all::Heading2) -> Self {
991            Self::Heading2(value)
992        }
993    }
994    impl std::convert::From<crate::generated::all::Heading3> for DescriptionTermChild {
995        fn from(value: crate::generated::all::Heading3) -> Self {
996            Self::Heading3(value)
997        }
998    }
999    impl std::convert::From<crate::generated::all::Heading4> for DescriptionTermChild {
1000        fn from(value: crate::generated::all::Heading4) -> Self {
1001            Self::Heading4(value)
1002        }
1003    }
1004    impl std::convert::From<crate::generated::all::Heading5> for DescriptionTermChild {
1005        fn from(value: crate::generated::all::Heading5) -> Self {
1006            Self::Heading5(value)
1007        }
1008    }
1009    impl std::convert::From<crate::generated::all::Heading6> for DescriptionTermChild {
1010        fn from(value: crate::generated::all::Heading6) -> Self {
1011            Self::Heading6(value)
1012        }
1013    }
1014    impl std::convert::From<crate::generated::all::HeadingGroup>
1015    for DescriptionTermChild {
1016        fn from(value: crate::generated::all::HeadingGroup) -> Self {
1017            Self::HeadingGroup(value)
1018        }
1019    }
1020    impl std::convert::From<crate::generated::all::Iframe> for DescriptionTermChild {
1021        fn from(value: crate::generated::all::Iframe) -> Self {
1022            Self::Iframe(value)
1023        }
1024    }
1025    impl std::convert::From<crate::generated::all::Image> for DescriptionTermChild {
1026        fn from(value: crate::generated::all::Image) -> Self {
1027            Self::Image(value)
1028        }
1029    }
1030    impl std::convert::From<crate::generated::all::ImageMap> for DescriptionTermChild {
1031        fn from(value: crate::generated::all::ImageMap) -> Self {
1032            Self::ImageMap(value)
1033        }
1034    }
1035    impl std::convert::From<crate::generated::all::ImageMapArea>
1036    for DescriptionTermChild {
1037        fn from(value: crate::generated::all::ImageMapArea) -> Self {
1038            Self::ImageMapArea(value)
1039        }
1040    }
1041    impl std::convert::From<crate::generated::all::Input> for DescriptionTermChild {
1042        fn from(value: crate::generated::all::Input) -> Self {
1043            Self::Input(value)
1044        }
1045    }
1046    impl std::convert::From<crate::generated::all::InsertedText>
1047    for DescriptionTermChild {
1048        fn from(value: crate::generated::all::InsertedText) -> Self {
1049            Self::InsertedText(value)
1050        }
1051    }
1052    impl std::convert::From<crate::generated::all::Italic> for DescriptionTermChild {
1053        fn from(value: crate::generated::all::Italic) -> Self {
1054            Self::Italic(value)
1055        }
1056    }
1057    impl std::convert::From<crate::generated::all::KeyboardInput>
1058    for DescriptionTermChild {
1059        fn from(value: crate::generated::all::KeyboardInput) -> Self {
1060            Self::KeyboardInput(value)
1061        }
1062    }
1063    impl std::convert::From<crate::generated::all::Label> for DescriptionTermChild {
1064        fn from(value: crate::generated::all::Label) -> Self {
1065            Self::Label(value)
1066        }
1067    }
1068    impl std::convert::From<crate::generated::all::LineBreak> for DescriptionTermChild {
1069        fn from(value: crate::generated::all::LineBreak) -> Self {
1070            Self::LineBreak(value)
1071        }
1072    }
1073    impl std::convert::From<crate::generated::all::LineBreakOpportunity>
1074    for DescriptionTermChild {
1075        fn from(value: crate::generated::all::LineBreakOpportunity) -> Self {
1076            Self::LineBreakOpportunity(value)
1077        }
1078    }
1079    impl std::convert::From<crate::generated::all::Link> for DescriptionTermChild {
1080        fn from(value: crate::generated::all::Link) -> Self {
1081            Self::Link(value)
1082        }
1083    }
1084    impl std::convert::From<crate::generated::all::Main> for DescriptionTermChild {
1085        fn from(value: crate::generated::all::Main) -> Self {
1086            Self::Main(value)
1087        }
1088    }
1089    impl std::convert::From<crate::generated::all::MarkText> for DescriptionTermChild {
1090        fn from(value: crate::generated::all::MarkText) -> Self {
1091            Self::MarkText(value)
1092        }
1093    }
1094    impl std::convert::From<crate::generated::all::Menu> for DescriptionTermChild {
1095        fn from(value: crate::generated::all::Menu) -> Self {
1096            Self::Menu(value)
1097        }
1098    }
1099    impl std::convert::From<crate::generated::all::Meta> for DescriptionTermChild {
1100        fn from(value: crate::generated::all::Meta) -> Self {
1101            Self::Meta(value)
1102        }
1103    }
1104    impl std::convert::From<crate::generated::all::Meter> for DescriptionTermChild {
1105        fn from(value: crate::generated::all::Meter) -> Self {
1106            Self::Meter(value)
1107        }
1108    }
1109    impl std::convert::From<crate::generated::all::Navigation> for DescriptionTermChild {
1110        fn from(value: crate::generated::all::Navigation) -> Self {
1111            Self::Navigation(value)
1112        }
1113    }
1114    impl std::convert::From<crate::generated::all::NoScript> for DescriptionTermChild {
1115        fn from(value: crate::generated::all::NoScript) -> Self {
1116            Self::NoScript(value)
1117        }
1118    }
1119    impl std::convert::From<crate::generated::all::Object> for DescriptionTermChild {
1120        fn from(value: crate::generated::all::Object) -> Self {
1121            Self::Object(value)
1122        }
1123    }
1124    impl std::convert::From<crate::generated::all::OrderedList>
1125    for DescriptionTermChild {
1126        fn from(value: crate::generated::all::OrderedList) -> Self {
1127            Self::OrderedList(value)
1128        }
1129    }
1130    impl std::convert::From<crate::generated::all::Output> for DescriptionTermChild {
1131        fn from(value: crate::generated::all::Output) -> Self {
1132            Self::Output(value)
1133        }
1134    }
1135    impl std::convert::From<crate::generated::all::Paragraph> for DescriptionTermChild {
1136        fn from(value: crate::generated::all::Paragraph) -> Self {
1137            Self::Paragraph(value)
1138        }
1139    }
1140    impl std::convert::From<crate::generated::all::Picture> for DescriptionTermChild {
1141        fn from(value: crate::generated::all::Picture) -> Self {
1142            Self::Picture(value)
1143        }
1144    }
1145    impl std::convert::From<crate::generated::all::PreformattedText>
1146    for DescriptionTermChild {
1147        fn from(value: crate::generated::all::PreformattedText) -> Self {
1148            Self::PreformattedText(value)
1149        }
1150    }
1151    impl std::convert::From<crate::generated::all::Progress> for DescriptionTermChild {
1152        fn from(value: crate::generated::all::Progress) -> Self {
1153            Self::Progress(value)
1154        }
1155    }
1156    impl std::convert::From<crate::generated::all::Quotation> for DescriptionTermChild {
1157        fn from(value: crate::generated::all::Quotation) -> Self {
1158            Self::Quotation(value)
1159        }
1160    }
1161    impl std::convert::From<crate::generated::all::RubyAnnotation>
1162    for DescriptionTermChild {
1163        fn from(value: crate::generated::all::RubyAnnotation) -> Self {
1164            Self::RubyAnnotation(value)
1165        }
1166    }
1167    impl std::convert::From<crate::generated::all::SampleOutput>
1168    for DescriptionTermChild {
1169        fn from(value: crate::generated::all::SampleOutput) -> Self {
1170            Self::SampleOutput(value)
1171        }
1172    }
1173    impl std::convert::From<crate::generated::all::Script> for DescriptionTermChild {
1174        fn from(value: crate::generated::all::Script) -> Self {
1175            Self::Script(value)
1176        }
1177    }
1178    impl std::convert::From<crate::generated::all::Search> for DescriptionTermChild {
1179        fn from(value: crate::generated::all::Search) -> Self {
1180            Self::Search(value)
1181        }
1182    }
1183    impl std::convert::From<crate::generated::all::Section> for DescriptionTermChild {
1184        fn from(value: crate::generated::all::Section) -> Self {
1185            Self::Section(value)
1186        }
1187    }
1188    impl std::convert::From<crate::generated::all::Select> for DescriptionTermChild {
1189        fn from(value: crate::generated::all::Select) -> Self {
1190            Self::Select(value)
1191        }
1192    }
1193    impl std::convert::From<crate::generated::all::SideComment>
1194    for DescriptionTermChild {
1195        fn from(value: crate::generated::all::SideComment) -> Self {
1196            Self::SideComment(value)
1197        }
1198    }
1199    impl std::convert::From<crate::generated::all::Slot> for DescriptionTermChild {
1200        fn from(value: crate::generated::all::Slot) -> Self {
1201            Self::Slot(value)
1202        }
1203    }
1204    impl std::convert::From<crate::generated::all::Span> for DescriptionTermChild {
1205        fn from(value: crate::generated::all::Span) -> Self {
1206            Self::Span(value)
1207        }
1208    }
1209    impl std::convert::From<crate::generated::all::StrikeThrough>
1210    for DescriptionTermChild {
1211        fn from(value: crate::generated::all::StrikeThrough) -> Self {
1212            Self::StrikeThrough(value)
1213        }
1214    }
1215    impl std::convert::From<crate::generated::all::Strong> for DescriptionTermChild {
1216        fn from(value: crate::generated::all::Strong) -> Self {
1217            Self::Strong(value)
1218        }
1219    }
1220    impl std::convert::From<crate::generated::all::SubScript> for DescriptionTermChild {
1221        fn from(value: crate::generated::all::SubScript) -> Self {
1222            Self::SubScript(value)
1223        }
1224    }
1225    impl std::convert::From<crate::generated::all::SuperScript>
1226    for DescriptionTermChild {
1227        fn from(value: crate::generated::all::SuperScript) -> Self {
1228            Self::SuperScript(value)
1229        }
1230    }
1231    impl std::convert::From<crate::generated::all::Table> for DescriptionTermChild {
1232        fn from(value: crate::generated::all::Table) -> Self {
1233            Self::Table(value)
1234        }
1235    }
1236    impl std::convert::From<crate::generated::all::Template> for DescriptionTermChild {
1237        fn from(value: crate::generated::all::Template) -> Self {
1238            Self::Template(value)
1239        }
1240    }
1241    impl std::convert::From<std::borrow::Cow<'static, str>> for DescriptionTermChild {
1242        fn from(value: std::borrow::Cow<'static, str>) -> Self {
1243            Self::Text(value)
1244        }
1245    }
1246    impl std::convert::From<&'static str> for DescriptionTermChild {
1247        fn from(value: &'static str) -> Self {
1248            Self::Text(value.into())
1249        }
1250    }
1251    impl std::convert::From<String> for DescriptionTermChild {
1252        fn from(value: String) -> Self {
1253            Self::Text(value.into())
1254        }
1255    }
1256    impl std::convert::From<crate::generated::all::TextArea> for DescriptionTermChild {
1257        fn from(value: crate::generated::all::TextArea) -> Self {
1258            Self::TextArea(value)
1259        }
1260    }
1261    impl std::convert::From<crate::generated::all::ThematicBreak>
1262    for DescriptionTermChild {
1263        fn from(value: crate::generated::all::ThematicBreak) -> Self {
1264            Self::ThematicBreak(value)
1265        }
1266    }
1267    impl std::convert::From<crate::generated::all::Time> for DescriptionTermChild {
1268        fn from(value: crate::generated::all::Time) -> Self {
1269            Self::Time(value)
1270        }
1271    }
1272    impl std::convert::From<crate::generated::all::Underline> for DescriptionTermChild {
1273        fn from(value: crate::generated::all::Underline) -> Self {
1274            Self::Underline(value)
1275        }
1276    }
1277    impl std::convert::From<crate::generated::all::UnorderedList>
1278    for DescriptionTermChild {
1279        fn from(value: crate::generated::all::UnorderedList) -> Self {
1280            Self::UnorderedList(value)
1281        }
1282    }
1283    impl std::convert::From<crate::generated::all::Variable> for DescriptionTermChild {
1284        fn from(value: crate::generated::all::Variable) -> Self {
1285            Self::Variable(value)
1286        }
1287    }
1288    impl std::convert::From<crate::generated::all::Video> for DescriptionTermChild {
1289        fn from(value: crate::generated::all::Video) -> Self {
1290            Self::Video(value)
1291        }
1292    }
1293    impl crate::Render for DescriptionTermChild {
1294        fn render(
1295            &self,
1296            f: &mut std::fmt::Formatter<'_>,
1297            depth: usize,
1298        ) -> std::fmt::Result {
1299            match self {
1300                Self::Abbreviation(el) => crate::Render::render(el, f, depth + 1),
1301                Self::Address(el) => crate::Render::render(el, f, depth + 1),
1302                Self::Anchor(el) => crate::Render::render(el, f, depth + 1),
1303                Self::Article(el) => crate::Render::render(el, f, depth + 1),
1304                Self::Aside(el) => crate::Render::render(el, f, depth + 1),
1305                Self::Audio(el) => crate::Render::render(el, f, depth + 1),
1306                Self::BidirectionalIsolate(el) => crate::Render::render(el, f, depth + 1),
1307                Self::BidirectionalTextOverride(el) => {
1308                    crate::Render::render(el, f, depth + 1)
1309                }
1310                Self::BlockQuote(el) => crate::Render::render(el, f, depth + 1),
1311                Self::Bold(el) => crate::Render::render(el, f, depth + 1),
1312                Self::Button(el) => crate::Render::render(el, f, depth + 1),
1313                Self::Canvas(el) => crate::Render::render(el, f, depth + 1),
1314                Self::Cite(el) => crate::Render::render(el, f, depth + 1),
1315                Self::Code(el) => crate::Render::render(el, f, depth + 1),
1316                Self::Data(el) => crate::Render::render(el, f, depth + 1),
1317                Self::DataList(el) => crate::Render::render(el, f, depth + 1),
1318                Self::Definition(el) => crate::Render::render(el, f, depth + 1),
1319                Self::DeletedText(el) => crate::Render::render(el, f, depth + 1),
1320                Self::DescriptionList(el) => crate::Render::render(el, f, depth + 1),
1321                Self::Details(el) => crate::Render::render(el, f, depth + 1),
1322                Self::Dialog(el) => crate::Render::render(el, f, depth + 1),
1323                Self::Division(el) => crate::Render::render(el, f, depth + 1),
1324                Self::Embed(el) => crate::Render::render(el, f, depth + 1),
1325                Self::Emphasis(el) => crate::Render::render(el, f, depth + 1),
1326                Self::Fieldset(el) => crate::Render::render(el, f, depth + 1),
1327                Self::Figure(el) => crate::Render::render(el, f, depth + 1),
1328                Self::Footer(el) => crate::Render::render(el, f, depth + 1),
1329                Self::Form(el) => crate::Render::render(el, f, depth + 1),
1330                Self::Header(el) => crate::Render::render(el, f, depth + 1),
1331                Self::Heading1(el) => crate::Render::render(el, f, depth + 1),
1332                Self::Heading2(el) => crate::Render::render(el, f, depth + 1),
1333                Self::Heading3(el) => crate::Render::render(el, f, depth + 1),
1334                Self::Heading4(el) => crate::Render::render(el, f, depth + 1),
1335                Self::Heading5(el) => crate::Render::render(el, f, depth + 1),
1336                Self::Heading6(el) => crate::Render::render(el, f, depth + 1),
1337                Self::HeadingGroup(el) => crate::Render::render(el, f, depth + 1),
1338                Self::Iframe(el) => crate::Render::render(el, f, depth + 1),
1339                Self::Image(el) => crate::Render::render(el, f, depth + 1),
1340                Self::ImageMap(el) => crate::Render::render(el, f, depth + 1),
1341                Self::ImageMapArea(el) => crate::Render::render(el, f, depth + 1),
1342                Self::Input(el) => crate::Render::render(el, f, depth + 1),
1343                Self::InsertedText(el) => crate::Render::render(el, f, depth + 1),
1344                Self::Italic(el) => crate::Render::render(el, f, depth + 1),
1345                Self::KeyboardInput(el) => crate::Render::render(el, f, depth + 1),
1346                Self::Label(el) => crate::Render::render(el, f, depth + 1),
1347                Self::LineBreak(el) => crate::Render::render(el, f, depth + 1),
1348                Self::LineBreakOpportunity(el) => crate::Render::render(el, f, depth + 1),
1349                Self::Link(el) => crate::Render::render(el, f, depth + 1),
1350                Self::Main(el) => crate::Render::render(el, f, depth + 1),
1351                Self::MarkText(el) => crate::Render::render(el, f, depth + 1),
1352                Self::Menu(el) => crate::Render::render(el, f, depth + 1),
1353                Self::Meta(el) => crate::Render::render(el, f, depth + 1),
1354                Self::Meter(el) => crate::Render::render(el, f, depth + 1),
1355                Self::Navigation(el) => crate::Render::render(el, f, depth + 1),
1356                Self::NoScript(el) => crate::Render::render(el, f, depth + 1),
1357                Self::Object(el) => crate::Render::render(el, f, depth + 1),
1358                Self::OrderedList(el) => crate::Render::render(el, f, depth + 1),
1359                Self::Output(el) => crate::Render::render(el, f, depth + 1),
1360                Self::Paragraph(el) => crate::Render::render(el, f, depth + 1),
1361                Self::Picture(el) => crate::Render::render(el, f, depth + 1),
1362                Self::PreformattedText(el) => crate::Render::render(el, f, depth + 1),
1363                Self::Progress(el) => crate::Render::render(el, f, depth + 1),
1364                Self::Quotation(el) => crate::Render::render(el, f, depth + 1),
1365                Self::RubyAnnotation(el) => crate::Render::render(el, f, depth + 1),
1366                Self::SampleOutput(el) => crate::Render::render(el, f, depth + 1),
1367                Self::Script(el) => crate::Render::render(el, f, depth + 1),
1368                Self::Search(el) => crate::Render::render(el, f, depth + 1),
1369                Self::Section(el) => crate::Render::render(el, f, depth + 1),
1370                Self::Select(el) => crate::Render::render(el, f, depth + 1),
1371                Self::SideComment(el) => crate::Render::render(el, f, depth + 1),
1372                Self::Slot(el) => crate::Render::render(el, f, depth + 1),
1373                Self::Span(el) => crate::Render::render(el, f, depth + 1),
1374                Self::StrikeThrough(el) => crate::Render::render(el, f, depth + 1),
1375                Self::Strong(el) => crate::Render::render(el, f, depth + 1),
1376                Self::SubScript(el) => crate::Render::render(el, f, depth + 1),
1377                Self::SuperScript(el) => crate::Render::render(el, f, depth + 1),
1378                Self::Table(el) => crate::Render::render(el, f, depth + 1),
1379                Self::Template(el) => crate::Render::render(el, f, depth + 1),
1380                Self::Text(el) => crate::Render::render(el, f, depth + 1),
1381                Self::TextArea(el) => crate::Render::render(el, f, depth + 1),
1382                Self::ThematicBreak(el) => crate::Render::render(el, f, depth + 1),
1383                Self::Time(el) => crate::Render::render(el, f, depth + 1),
1384                Self::Underline(el) => crate::Render::render(el, f, depth + 1),
1385                Self::UnorderedList(el) => crate::Render::render(el, f, depth + 1),
1386                Self::Variable(el) => crate::Render::render(el, f, depth + 1),
1387                Self::Video(el) => crate::Render::render(el, f, depth + 1),
1388            }
1389        }
1390    }
1391    impl std::fmt::Debug for DescriptionTermChild {
1392        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1393            crate::Render::render(self, f, 0)?;
1394            Ok(())
1395        }
1396    }
1397    impl std::fmt::Display for DescriptionTermChild {
1398        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1399            match self {
1400                Self::Abbreviation(el) => write!(f, "{el}"),
1401                Self::Address(el) => write!(f, "{el}"),
1402                Self::Anchor(el) => write!(f, "{el}"),
1403                Self::Article(el) => write!(f, "{el}"),
1404                Self::Aside(el) => write!(f, "{el}"),
1405                Self::Audio(el) => write!(f, "{el}"),
1406                Self::BidirectionalIsolate(el) => write!(f, "{el}"),
1407                Self::BidirectionalTextOverride(el) => write!(f, "{el}"),
1408                Self::BlockQuote(el) => write!(f, "{el}"),
1409                Self::Bold(el) => write!(f, "{el}"),
1410                Self::Button(el) => write!(f, "{el}"),
1411                Self::Canvas(el) => write!(f, "{el}"),
1412                Self::Cite(el) => write!(f, "{el}"),
1413                Self::Code(el) => write!(f, "{el}"),
1414                Self::Data(el) => write!(f, "{el}"),
1415                Self::DataList(el) => write!(f, "{el}"),
1416                Self::Definition(el) => write!(f, "{el}"),
1417                Self::DeletedText(el) => write!(f, "{el}"),
1418                Self::DescriptionList(el) => write!(f, "{el}"),
1419                Self::Details(el) => write!(f, "{el}"),
1420                Self::Dialog(el) => write!(f, "{el}"),
1421                Self::Division(el) => write!(f, "{el}"),
1422                Self::Embed(el) => write!(f, "{el}"),
1423                Self::Emphasis(el) => write!(f, "{el}"),
1424                Self::Fieldset(el) => write!(f, "{el}"),
1425                Self::Figure(el) => write!(f, "{el}"),
1426                Self::Footer(el) => write!(f, "{el}"),
1427                Self::Form(el) => write!(f, "{el}"),
1428                Self::Header(el) => write!(f, "{el}"),
1429                Self::Heading1(el) => write!(f, "{el}"),
1430                Self::Heading2(el) => write!(f, "{el}"),
1431                Self::Heading3(el) => write!(f, "{el}"),
1432                Self::Heading4(el) => write!(f, "{el}"),
1433                Self::Heading5(el) => write!(f, "{el}"),
1434                Self::Heading6(el) => write!(f, "{el}"),
1435                Self::HeadingGroup(el) => write!(f, "{el}"),
1436                Self::Iframe(el) => write!(f, "{el}"),
1437                Self::Image(el) => write!(f, "{el}"),
1438                Self::ImageMap(el) => write!(f, "{el}"),
1439                Self::ImageMapArea(el) => write!(f, "{el}"),
1440                Self::Input(el) => write!(f, "{el}"),
1441                Self::InsertedText(el) => write!(f, "{el}"),
1442                Self::Italic(el) => write!(f, "{el}"),
1443                Self::KeyboardInput(el) => write!(f, "{el}"),
1444                Self::Label(el) => write!(f, "{el}"),
1445                Self::LineBreak(el) => write!(f, "{el}"),
1446                Self::LineBreakOpportunity(el) => write!(f, "{el}"),
1447                Self::Link(el) => write!(f, "{el}"),
1448                Self::Main(el) => write!(f, "{el}"),
1449                Self::MarkText(el) => write!(f, "{el}"),
1450                Self::Menu(el) => write!(f, "{el}"),
1451                Self::Meta(el) => write!(f, "{el}"),
1452                Self::Meter(el) => write!(f, "{el}"),
1453                Self::Navigation(el) => write!(f, "{el}"),
1454                Self::NoScript(el) => write!(f, "{el}"),
1455                Self::Object(el) => write!(f, "{el}"),
1456                Self::OrderedList(el) => write!(f, "{el}"),
1457                Self::Output(el) => write!(f, "{el}"),
1458                Self::Paragraph(el) => write!(f, "{el}"),
1459                Self::Picture(el) => write!(f, "{el}"),
1460                Self::PreformattedText(el) => write!(f, "{el}"),
1461                Self::Progress(el) => write!(f, "{el}"),
1462                Self::Quotation(el) => write!(f, "{el}"),
1463                Self::RubyAnnotation(el) => write!(f, "{el}"),
1464                Self::SampleOutput(el) => write!(f, "{el}"),
1465                Self::Script(el) => write!(f, "{el}"),
1466                Self::Search(el) => write!(f, "{el}"),
1467                Self::Section(el) => write!(f, "{el}"),
1468                Self::Select(el) => write!(f, "{el}"),
1469                Self::SideComment(el) => write!(f, "{el}"),
1470                Self::Slot(el) => write!(f, "{el}"),
1471                Self::Span(el) => write!(f, "{el}"),
1472                Self::StrikeThrough(el) => write!(f, "{el}"),
1473                Self::Strong(el) => write!(f, "{el}"),
1474                Self::SubScript(el) => write!(f, "{el}"),
1475                Self::SuperScript(el) => write!(f, "{el}"),
1476                Self::Table(el) => write!(f, "{el}"),
1477                Self::Template(el) => write!(f, "{el}"),
1478                Self::Text(el) => write!(f, "{el}"),
1479                Self::TextArea(el) => write!(f, "{el}"),
1480                Self::ThematicBreak(el) => write!(f, "{el}"),
1481                Self::Time(el) => write!(f, "{el}"),
1482                Self::Underline(el) => write!(f, "{el}"),
1483                Self::UnorderedList(el) => write!(f, "{el}"),
1484                Self::Variable(el) => write!(f, "{el}"),
1485                Self::Video(el) => write!(f, "{el}"),
1486            }
1487        }
1488    }
1489}
1490pub mod builder {
1491    /// A builder struct for DescriptionTerm
1492    pub struct DescriptionTermBuilder {
1493        element: super::element::DescriptionTerm,
1494    }
1495    impl DescriptionTermBuilder {
1496        pub(crate) fn new(element: super::element::DescriptionTerm) -> Self {
1497            Self { element }
1498        }
1499        /// Finish building the element
1500        pub fn build(&mut self) -> super::element::DescriptionTerm {
1501            self.element.clone()
1502        }
1503        /// Insert a `data-*` property
1504        pub fn data(
1505            &mut self,
1506            data_key: impl Into<std::borrow::Cow<'static, str>>,
1507            value: impl Into<std::borrow::Cow<'static, str>>,
1508        ) -> &mut DescriptionTermBuilder {
1509            self.element.data_map_mut().insert(data_key.into(), value.into());
1510            self
1511        }
1512        /// Append a new `Abbreviation` element
1513        pub fn abbreviation<F>(&mut self, f: F) -> &mut Self
1514        where
1515            F: for<'a> FnOnce(
1516                &'a mut crate::generated::all::builders::AbbreviationBuilder,
1517            ) -> &'a mut crate::generated::all::builders::AbbreviationBuilder,
1518        {
1519            let ty: crate::generated::all::Abbreviation = Default::default();
1520            let mut ty_builder = crate::generated::all::builders::AbbreviationBuilder::new(
1521                ty,
1522            );
1523            (f)(&mut ty_builder);
1524            let ty = ty_builder.build();
1525            self.element.children_mut().push(ty.into());
1526            self
1527        }
1528        /// Append a new `Address` element
1529        pub fn address<F>(&mut self, f: F) -> &mut Self
1530        where
1531            F: for<'a> FnOnce(
1532                &'a mut crate::generated::all::builders::AddressBuilder,
1533            ) -> &'a mut crate::generated::all::builders::AddressBuilder,
1534        {
1535            let ty: crate::generated::all::Address = Default::default();
1536            let mut ty_builder = crate::generated::all::builders::AddressBuilder::new(
1537                ty,
1538            );
1539            (f)(&mut ty_builder);
1540            let ty = ty_builder.build();
1541            self.element.children_mut().push(ty.into());
1542            self
1543        }
1544        /// Append a new `Anchor` element
1545        pub fn anchor<F>(&mut self, f: F) -> &mut Self
1546        where
1547            F: for<'a> FnOnce(
1548                &'a mut crate::generated::all::builders::AnchorBuilder,
1549            ) -> &'a mut crate::generated::all::builders::AnchorBuilder,
1550        {
1551            let ty: crate::generated::all::Anchor = Default::default();
1552            let mut ty_builder = crate::generated::all::builders::AnchorBuilder::new(ty);
1553            (f)(&mut ty_builder);
1554            let ty = ty_builder.build();
1555            self.element.children_mut().push(ty.into());
1556            self
1557        }
1558        /// Append a new `Article` element
1559        pub fn article<F>(&mut self, f: F) -> &mut Self
1560        where
1561            F: for<'a> FnOnce(
1562                &'a mut crate::generated::all::builders::ArticleBuilder,
1563            ) -> &'a mut crate::generated::all::builders::ArticleBuilder,
1564        {
1565            let ty: crate::generated::all::Article = Default::default();
1566            let mut ty_builder = crate::generated::all::builders::ArticleBuilder::new(
1567                ty,
1568            );
1569            (f)(&mut ty_builder);
1570            let ty = ty_builder.build();
1571            self.element.children_mut().push(ty.into());
1572            self
1573        }
1574        /// Append a new `Aside` element
1575        pub fn aside<F>(&mut self, f: F) -> &mut Self
1576        where
1577            F: for<'a> FnOnce(
1578                &'a mut crate::generated::all::builders::AsideBuilder,
1579            ) -> &'a mut crate::generated::all::builders::AsideBuilder,
1580        {
1581            let ty: crate::generated::all::Aside = Default::default();
1582            let mut ty_builder = crate::generated::all::builders::AsideBuilder::new(ty);
1583            (f)(&mut ty_builder);
1584            let ty = ty_builder.build();
1585            self.element.children_mut().push(ty.into());
1586            self
1587        }
1588        /// Append a new `Audio` element
1589        pub fn audio<F>(&mut self, f: F) -> &mut Self
1590        where
1591            F: for<'a> FnOnce(
1592                &'a mut crate::generated::all::builders::AudioBuilder,
1593            ) -> &'a mut crate::generated::all::builders::AudioBuilder,
1594        {
1595            let ty: crate::generated::all::Audio = Default::default();
1596            let mut ty_builder = crate::generated::all::builders::AudioBuilder::new(ty);
1597            (f)(&mut ty_builder);
1598            let ty = ty_builder.build();
1599            self.element.children_mut().push(ty.into());
1600            self
1601        }
1602        /// Append a new `BidirectionalIsolate` element
1603        pub fn bidirectional_isolate<F>(&mut self, f: F) -> &mut Self
1604        where
1605            F: for<'a> FnOnce(
1606                &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1607            ) -> &'a mut crate::generated::all::builders::BidirectionalIsolateBuilder,
1608        {
1609            let ty: crate::generated::all::BidirectionalIsolate = Default::default();
1610            let mut ty_builder = crate::generated::all::builders::BidirectionalIsolateBuilder::new(
1611                ty,
1612            );
1613            (f)(&mut ty_builder);
1614            let ty = ty_builder.build();
1615            self.element.children_mut().push(ty.into());
1616            self
1617        }
1618        /// Append a new `BidirectionalTextOverride` element
1619        pub fn bidirectional_text_override<F>(&mut self, f: F) -> &mut Self
1620        where
1621            F: for<'a> FnOnce(
1622                &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1623            ) -> &'a mut crate::generated::all::builders::BidirectionalTextOverrideBuilder,
1624        {
1625            let ty: crate::generated::all::BidirectionalTextOverride = Default::default();
1626            let mut ty_builder = crate::generated::all::builders::BidirectionalTextOverrideBuilder::new(
1627                ty,
1628            );
1629            (f)(&mut ty_builder);
1630            let ty = ty_builder.build();
1631            self.element.children_mut().push(ty.into());
1632            self
1633        }
1634        /// Append a new `BlockQuote` element
1635        pub fn block_quote<F>(&mut self, f: F) -> &mut Self
1636        where
1637            F: for<'a> FnOnce(
1638                &'a mut crate::generated::all::builders::BlockQuoteBuilder,
1639            ) -> &'a mut crate::generated::all::builders::BlockQuoteBuilder,
1640        {
1641            let ty: crate::generated::all::BlockQuote = Default::default();
1642            let mut ty_builder = crate::generated::all::builders::BlockQuoteBuilder::new(
1643                ty,
1644            );
1645            (f)(&mut ty_builder);
1646            let ty = ty_builder.build();
1647            self.element.children_mut().push(ty.into());
1648            self
1649        }
1650        /// Append a new `Bold` element
1651        pub fn bold<F>(&mut self, f: F) -> &mut Self
1652        where
1653            F: for<'a> FnOnce(
1654                &'a mut crate::generated::all::builders::BoldBuilder,
1655            ) -> &'a mut crate::generated::all::builders::BoldBuilder,
1656        {
1657            let ty: crate::generated::all::Bold = Default::default();
1658            let mut ty_builder = crate::generated::all::builders::BoldBuilder::new(ty);
1659            (f)(&mut ty_builder);
1660            let ty = ty_builder.build();
1661            self.element.children_mut().push(ty.into());
1662            self
1663        }
1664        /// Append a new `Button` element
1665        pub fn button<F>(&mut self, f: F) -> &mut Self
1666        where
1667            F: for<'a> FnOnce(
1668                &'a mut crate::generated::all::builders::ButtonBuilder,
1669            ) -> &'a mut crate::generated::all::builders::ButtonBuilder,
1670        {
1671            let ty: crate::generated::all::Button = Default::default();
1672            let mut ty_builder = crate::generated::all::builders::ButtonBuilder::new(ty);
1673            (f)(&mut ty_builder);
1674            let ty = ty_builder.build();
1675            self.element.children_mut().push(ty.into());
1676            self
1677        }
1678        /// Append a new `Canvas` element
1679        pub fn canvas<F>(&mut self, f: F) -> &mut Self
1680        where
1681            F: for<'a> FnOnce(
1682                &'a mut crate::generated::all::builders::CanvasBuilder,
1683            ) -> &'a mut crate::generated::all::builders::CanvasBuilder,
1684        {
1685            let ty: crate::generated::all::Canvas = Default::default();
1686            let mut ty_builder = crate::generated::all::builders::CanvasBuilder::new(ty);
1687            (f)(&mut ty_builder);
1688            let ty = ty_builder.build();
1689            self.element.children_mut().push(ty.into());
1690            self
1691        }
1692        /// Append a new `Cite` element
1693        pub fn cite<F>(&mut self, f: F) -> &mut Self
1694        where
1695            F: for<'a> FnOnce(
1696                &'a mut crate::generated::all::builders::CiteBuilder,
1697            ) -> &'a mut crate::generated::all::builders::CiteBuilder,
1698        {
1699            let ty: crate::generated::all::Cite = Default::default();
1700            let mut ty_builder = crate::generated::all::builders::CiteBuilder::new(ty);
1701            (f)(&mut ty_builder);
1702            let ty = ty_builder.build();
1703            self.element.children_mut().push(ty.into());
1704            self
1705        }
1706        /// Append a new `Code` element
1707        pub fn code<F>(&mut self, f: F) -> &mut Self
1708        where
1709            F: for<'a> FnOnce(
1710                &'a mut crate::generated::all::builders::CodeBuilder,
1711            ) -> &'a mut crate::generated::all::builders::CodeBuilder,
1712        {
1713            let ty: crate::generated::all::Code = Default::default();
1714            let mut ty_builder = crate::generated::all::builders::CodeBuilder::new(ty);
1715            (f)(&mut ty_builder);
1716            let ty = ty_builder.build();
1717            self.element.children_mut().push(ty.into());
1718            self
1719        }
1720        /// Append a new `Data` element
1721        pub fn data_el<F>(&mut self, f: F) -> &mut Self
1722        where
1723            F: for<'a> FnOnce(
1724                &'a mut crate::generated::all::builders::DataBuilder,
1725            ) -> &'a mut crate::generated::all::builders::DataBuilder,
1726        {
1727            let ty: crate::generated::all::Data = Default::default();
1728            let mut ty_builder = crate::generated::all::builders::DataBuilder::new(ty);
1729            (f)(&mut ty_builder);
1730            let ty = ty_builder.build();
1731            self.element.children_mut().push(ty.into());
1732            self
1733        }
1734        /// Append a new `DataList` element
1735        pub fn data_list<F>(&mut self, f: F) -> &mut Self
1736        where
1737            F: for<'a> FnOnce(
1738                &'a mut crate::generated::all::builders::DataListBuilder,
1739            ) -> &'a mut crate::generated::all::builders::DataListBuilder,
1740        {
1741            let ty: crate::generated::all::DataList = Default::default();
1742            let mut ty_builder = crate::generated::all::builders::DataListBuilder::new(
1743                ty,
1744            );
1745            (f)(&mut ty_builder);
1746            let ty = ty_builder.build();
1747            self.element.children_mut().push(ty.into());
1748            self
1749        }
1750        /// Append a new `Definition` element
1751        pub fn definition<F>(&mut self, f: F) -> &mut Self
1752        where
1753            F: for<'a> FnOnce(
1754                &'a mut crate::generated::all::builders::DefinitionBuilder,
1755            ) -> &'a mut crate::generated::all::builders::DefinitionBuilder,
1756        {
1757            let ty: crate::generated::all::Definition = Default::default();
1758            let mut ty_builder = crate::generated::all::builders::DefinitionBuilder::new(
1759                ty,
1760            );
1761            (f)(&mut ty_builder);
1762            let ty = ty_builder.build();
1763            self.element.children_mut().push(ty.into());
1764            self
1765        }
1766        /// Append a new `DeletedText` element
1767        pub fn deleted_text<F>(&mut self, f: F) -> &mut Self
1768        where
1769            F: for<'a> FnOnce(
1770                &'a mut crate::generated::all::builders::DeletedTextBuilder,
1771            ) -> &'a mut crate::generated::all::builders::DeletedTextBuilder,
1772        {
1773            let ty: crate::generated::all::DeletedText = Default::default();
1774            let mut ty_builder = crate::generated::all::builders::DeletedTextBuilder::new(
1775                ty,
1776            );
1777            (f)(&mut ty_builder);
1778            let ty = ty_builder.build();
1779            self.element.children_mut().push(ty.into());
1780            self
1781        }
1782        /// Append a new `DescriptionList` element
1783        pub fn description_list<F>(&mut self, f: F) -> &mut Self
1784        where
1785            F: for<'a> FnOnce(
1786                &'a mut crate::generated::all::builders::DescriptionListBuilder,
1787            ) -> &'a mut crate::generated::all::builders::DescriptionListBuilder,
1788        {
1789            let ty: crate::generated::all::DescriptionList = Default::default();
1790            let mut ty_builder = crate::generated::all::builders::DescriptionListBuilder::new(
1791                ty,
1792            );
1793            (f)(&mut ty_builder);
1794            let ty = ty_builder.build();
1795            self.element.children_mut().push(ty.into());
1796            self
1797        }
1798        /// Append a new `Details` element
1799        pub fn details<F>(&mut self, f: F) -> &mut Self
1800        where
1801            F: for<'a> FnOnce(
1802                &'a mut crate::generated::all::builders::DetailsBuilder,
1803            ) -> &'a mut crate::generated::all::builders::DetailsBuilder,
1804        {
1805            let ty: crate::generated::all::Details = Default::default();
1806            let mut ty_builder = crate::generated::all::builders::DetailsBuilder::new(
1807                ty,
1808            );
1809            (f)(&mut ty_builder);
1810            let ty = ty_builder.build();
1811            self.element.children_mut().push(ty.into());
1812            self
1813        }
1814        /// Append a new `Dialog` element
1815        pub fn dialog<F>(&mut self, f: F) -> &mut Self
1816        where
1817            F: for<'a> FnOnce(
1818                &'a mut crate::generated::all::builders::DialogBuilder,
1819            ) -> &'a mut crate::generated::all::builders::DialogBuilder,
1820        {
1821            let ty: crate::generated::all::Dialog = Default::default();
1822            let mut ty_builder = crate::generated::all::builders::DialogBuilder::new(ty);
1823            (f)(&mut ty_builder);
1824            let ty = ty_builder.build();
1825            self.element.children_mut().push(ty.into());
1826            self
1827        }
1828        /// Append a new `Division` element
1829        pub fn division<F>(&mut self, f: F) -> &mut Self
1830        where
1831            F: for<'a> FnOnce(
1832                &'a mut crate::generated::all::builders::DivisionBuilder,
1833            ) -> &'a mut crate::generated::all::builders::DivisionBuilder,
1834        {
1835            let ty: crate::generated::all::Division = Default::default();
1836            let mut ty_builder = crate::generated::all::builders::DivisionBuilder::new(
1837                ty,
1838            );
1839            (f)(&mut ty_builder);
1840            let ty = ty_builder.build();
1841            self.element.children_mut().push(ty.into());
1842            self
1843        }
1844        /// Append a new `Embed` element
1845        pub fn embed<F>(&mut self, f: F) -> &mut Self
1846        where
1847            F: for<'a> FnOnce(
1848                &'a mut crate::generated::all::builders::EmbedBuilder,
1849            ) -> &'a mut crate::generated::all::builders::EmbedBuilder,
1850        {
1851            let ty: crate::generated::all::Embed = Default::default();
1852            let mut ty_builder = crate::generated::all::builders::EmbedBuilder::new(ty);
1853            (f)(&mut ty_builder);
1854            let ty = ty_builder.build();
1855            self.element.children_mut().push(ty.into());
1856            self
1857        }
1858        /// Append a new `Emphasis` element
1859        pub fn emphasis<F>(&mut self, f: F) -> &mut Self
1860        where
1861            F: for<'a> FnOnce(
1862                &'a mut crate::generated::all::builders::EmphasisBuilder,
1863            ) -> &'a mut crate::generated::all::builders::EmphasisBuilder,
1864        {
1865            let ty: crate::generated::all::Emphasis = Default::default();
1866            let mut ty_builder = crate::generated::all::builders::EmphasisBuilder::new(
1867                ty,
1868            );
1869            (f)(&mut ty_builder);
1870            let ty = ty_builder.build();
1871            self.element.children_mut().push(ty.into());
1872            self
1873        }
1874        /// Append a new `Fieldset` element
1875        pub fn fieldset<F>(&mut self, f: F) -> &mut Self
1876        where
1877            F: for<'a> FnOnce(
1878                &'a mut crate::generated::all::builders::FieldsetBuilder,
1879            ) -> &'a mut crate::generated::all::builders::FieldsetBuilder,
1880        {
1881            let ty: crate::generated::all::Fieldset = Default::default();
1882            let mut ty_builder = crate::generated::all::builders::FieldsetBuilder::new(
1883                ty,
1884            );
1885            (f)(&mut ty_builder);
1886            let ty = ty_builder.build();
1887            self.element.children_mut().push(ty.into());
1888            self
1889        }
1890        /// Append a new `Figure` element
1891        pub fn figure<F>(&mut self, f: F) -> &mut Self
1892        where
1893            F: for<'a> FnOnce(
1894                &'a mut crate::generated::all::builders::FigureBuilder,
1895            ) -> &'a mut crate::generated::all::builders::FigureBuilder,
1896        {
1897            let ty: crate::generated::all::Figure = Default::default();
1898            let mut ty_builder = crate::generated::all::builders::FigureBuilder::new(ty);
1899            (f)(&mut ty_builder);
1900            let ty = ty_builder.build();
1901            self.element.children_mut().push(ty.into());
1902            self
1903        }
1904        /// Append a new `Footer` element
1905        pub fn footer<F>(&mut self, f: F) -> &mut Self
1906        where
1907            F: for<'a> FnOnce(
1908                &'a mut crate::generated::all::builders::FooterBuilder,
1909            ) -> &'a mut crate::generated::all::builders::FooterBuilder,
1910        {
1911            let ty: crate::generated::all::Footer = Default::default();
1912            let mut ty_builder = crate::generated::all::builders::FooterBuilder::new(ty);
1913            (f)(&mut ty_builder);
1914            let ty = ty_builder.build();
1915            self.element.children_mut().push(ty.into());
1916            self
1917        }
1918        /// Append a new `Form` element
1919        pub fn form<F>(&mut self, f: F) -> &mut Self
1920        where
1921            F: for<'a> FnOnce(
1922                &'a mut crate::generated::all::builders::FormBuilder,
1923            ) -> &'a mut crate::generated::all::builders::FormBuilder,
1924        {
1925            let ty: crate::generated::all::Form = Default::default();
1926            let mut ty_builder = crate::generated::all::builders::FormBuilder::new(ty);
1927            (f)(&mut ty_builder);
1928            let ty = ty_builder.build();
1929            self.element.children_mut().push(ty.into());
1930            self
1931        }
1932        /// Append a new `Header` element
1933        pub fn header<F>(&mut self, f: F) -> &mut Self
1934        where
1935            F: for<'a> FnOnce(
1936                &'a mut crate::generated::all::builders::HeaderBuilder,
1937            ) -> &'a mut crate::generated::all::builders::HeaderBuilder,
1938        {
1939            let ty: crate::generated::all::Header = Default::default();
1940            let mut ty_builder = crate::generated::all::builders::HeaderBuilder::new(ty);
1941            (f)(&mut ty_builder);
1942            let ty = ty_builder.build();
1943            self.element.children_mut().push(ty.into());
1944            self
1945        }
1946        /// Append a new `Heading1` element
1947        pub fn heading_1<F>(&mut self, f: F) -> &mut Self
1948        where
1949            F: for<'a> FnOnce(
1950                &'a mut crate::generated::all::builders::Heading1Builder,
1951            ) -> &'a mut crate::generated::all::builders::Heading1Builder,
1952        {
1953            let ty: crate::generated::all::Heading1 = Default::default();
1954            let mut ty_builder = crate::generated::all::builders::Heading1Builder::new(
1955                ty,
1956            );
1957            (f)(&mut ty_builder);
1958            let ty = ty_builder.build();
1959            self.element.children_mut().push(ty.into());
1960            self
1961        }
1962        /// Append a new `Heading2` element
1963        pub fn heading_2<F>(&mut self, f: F) -> &mut Self
1964        where
1965            F: for<'a> FnOnce(
1966                &'a mut crate::generated::all::builders::Heading2Builder,
1967            ) -> &'a mut crate::generated::all::builders::Heading2Builder,
1968        {
1969            let ty: crate::generated::all::Heading2 = Default::default();
1970            let mut ty_builder = crate::generated::all::builders::Heading2Builder::new(
1971                ty,
1972            );
1973            (f)(&mut ty_builder);
1974            let ty = ty_builder.build();
1975            self.element.children_mut().push(ty.into());
1976            self
1977        }
1978        /// Append a new `Heading3` element
1979        pub fn heading_3<F>(&mut self, f: F) -> &mut Self
1980        where
1981            F: for<'a> FnOnce(
1982                &'a mut crate::generated::all::builders::Heading3Builder,
1983            ) -> &'a mut crate::generated::all::builders::Heading3Builder,
1984        {
1985            let ty: crate::generated::all::Heading3 = Default::default();
1986            let mut ty_builder = crate::generated::all::builders::Heading3Builder::new(
1987                ty,
1988            );
1989            (f)(&mut ty_builder);
1990            let ty = ty_builder.build();
1991            self.element.children_mut().push(ty.into());
1992            self
1993        }
1994        /// Append a new `Heading4` element
1995        pub fn heading_4<F>(&mut self, f: F) -> &mut Self
1996        where
1997            F: for<'a> FnOnce(
1998                &'a mut crate::generated::all::builders::Heading4Builder,
1999            ) -> &'a mut crate::generated::all::builders::Heading4Builder,
2000        {
2001            let ty: crate::generated::all::Heading4 = Default::default();
2002            let mut ty_builder = crate::generated::all::builders::Heading4Builder::new(
2003                ty,
2004            );
2005            (f)(&mut ty_builder);
2006            let ty = ty_builder.build();
2007            self.element.children_mut().push(ty.into());
2008            self
2009        }
2010        /// Append a new `Heading5` element
2011        pub fn heading_5<F>(&mut self, f: F) -> &mut Self
2012        where
2013            F: for<'a> FnOnce(
2014                &'a mut crate::generated::all::builders::Heading5Builder,
2015            ) -> &'a mut crate::generated::all::builders::Heading5Builder,
2016        {
2017            let ty: crate::generated::all::Heading5 = Default::default();
2018            let mut ty_builder = crate::generated::all::builders::Heading5Builder::new(
2019                ty,
2020            );
2021            (f)(&mut ty_builder);
2022            let ty = ty_builder.build();
2023            self.element.children_mut().push(ty.into());
2024            self
2025        }
2026        /// Append a new `Heading6` element
2027        pub fn heading_6<F>(&mut self, f: F) -> &mut Self
2028        where
2029            F: for<'a> FnOnce(
2030                &'a mut crate::generated::all::builders::Heading6Builder,
2031            ) -> &'a mut crate::generated::all::builders::Heading6Builder,
2032        {
2033            let ty: crate::generated::all::Heading6 = Default::default();
2034            let mut ty_builder = crate::generated::all::builders::Heading6Builder::new(
2035                ty,
2036            );
2037            (f)(&mut ty_builder);
2038            let ty = ty_builder.build();
2039            self.element.children_mut().push(ty.into());
2040            self
2041        }
2042        /// Append a new `HeadingGroup` element
2043        pub fn heading_group<F>(&mut self, f: F) -> &mut Self
2044        where
2045            F: for<'a> FnOnce(
2046                &'a mut crate::generated::all::builders::HeadingGroupBuilder,
2047            ) -> &'a mut crate::generated::all::builders::HeadingGroupBuilder,
2048        {
2049            let ty: crate::generated::all::HeadingGroup = Default::default();
2050            let mut ty_builder = crate::generated::all::builders::HeadingGroupBuilder::new(
2051                ty,
2052            );
2053            (f)(&mut ty_builder);
2054            let ty = ty_builder.build();
2055            self.element.children_mut().push(ty.into());
2056            self
2057        }
2058        /// Append a new `Iframe` element
2059        pub fn iframe<F>(&mut self, f: F) -> &mut Self
2060        where
2061            F: for<'a> FnOnce(
2062                &'a mut crate::generated::all::builders::IframeBuilder,
2063            ) -> &'a mut crate::generated::all::builders::IframeBuilder,
2064        {
2065            let ty: crate::generated::all::Iframe = Default::default();
2066            let mut ty_builder = crate::generated::all::builders::IframeBuilder::new(ty);
2067            (f)(&mut ty_builder);
2068            let ty = ty_builder.build();
2069            self.element.children_mut().push(ty.into());
2070            self
2071        }
2072        /// Append a new `Image` element
2073        pub fn image<F>(&mut self, f: F) -> &mut Self
2074        where
2075            F: for<'a> FnOnce(
2076                &'a mut crate::generated::all::builders::ImageBuilder,
2077            ) -> &'a mut crate::generated::all::builders::ImageBuilder,
2078        {
2079            let ty: crate::generated::all::Image = Default::default();
2080            let mut ty_builder = crate::generated::all::builders::ImageBuilder::new(ty);
2081            (f)(&mut ty_builder);
2082            let ty = ty_builder.build();
2083            self.element.children_mut().push(ty.into());
2084            self
2085        }
2086        /// Append a new `ImageMap` element
2087        pub fn image_map<F>(&mut self, f: F) -> &mut Self
2088        where
2089            F: for<'a> FnOnce(
2090                &'a mut crate::generated::all::builders::ImageMapBuilder,
2091            ) -> &'a mut crate::generated::all::builders::ImageMapBuilder,
2092        {
2093            let ty: crate::generated::all::ImageMap = Default::default();
2094            let mut ty_builder = crate::generated::all::builders::ImageMapBuilder::new(
2095                ty,
2096            );
2097            (f)(&mut ty_builder);
2098            let ty = ty_builder.build();
2099            self.element.children_mut().push(ty.into());
2100            self
2101        }
2102        /// Append a new `ImageMapArea` element
2103        pub fn image_map_area<F>(&mut self, f: F) -> &mut Self
2104        where
2105            F: for<'a> FnOnce(
2106                &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
2107            ) -> &'a mut crate::generated::all::builders::ImageMapAreaBuilder,
2108        {
2109            let ty: crate::generated::all::ImageMapArea = Default::default();
2110            let mut ty_builder = crate::generated::all::builders::ImageMapAreaBuilder::new(
2111                ty,
2112            );
2113            (f)(&mut ty_builder);
2114            let ty = ty_builder.build();
2115            self.element.children_mut().push(ty.into());
2116            self
2117        }
2118        /// Append a new `Input` element
2119        pub fn input<F>(&mut self, f: F) -> &mut Self
2120        where
2121            F: for<'a> FnOnce(
2122                &'a mut crate::generated::all::builders::InputBuilder,
2123            ) -> &'a mut crate::generated::all::builders::InputBuilder,
2124        {
2125            let ty: crate::generated::all::Input = Default::default();
2126            let mut ty_builder = crate::generated::all::builders::InputBuilder::new(ty);
2127            (f)(&mut ty_builder);
2128            let ty = ty_builder.build();
2129            self.element.children_mut().push(ty.into());
2130            self
2131        }
2132        /// Append a new `InsertedText` element
2133        pub fn inserted_text<F>(&mut self, f: F) -> &mut Self
2134        where
2135            F: for<'a> FnOnce(
2136                &'a mut crate::generated::all::builders::InsertedTextBuilder,
2137            ) -> &'a mut crate::generated::all::builders::InsertedTextBuilder,
2138        {
2139            let ty: crate::generated::all::InsertedText = Default::default();
2140            let mut ty_builder = crate::generated::all::builders::InsertedTextBuilder::new(
2141                ty,
2142            );
2143            (f)(&mut ty_builder);
2144            let ty = ty_builder.build();
2145            self.element.children_mut().push(ty.into());
2146            self
2147        }
2148        /// Append a new `Italic` element
2149        pub fn italic<F>(&mut self, f: F) -> &mut Self
2150        where
2151            F: for<'a> FnOnce(
2152                &'a mut crate::generated::all::builders::ItalicBuilder,
2153            ) -> &'a mut crate::generated::all::builders::ItalicBuilder,
2154        {
2155            let ty: crate::generated::all::Italic = Default::default();
2156            let mut ty_builder = crate::generated::all::builders::ItalicBuilder::new(ty);
2157            (f)(&mut ty_builder);
2158            let ty = ty_builder.build();
2159            self.element.children_mut().push(ty.into());
2160            self
2161        }
2162        /// Append a new `KeyboardInput` element
2163        pub fn keyboard_input<F>(&mut self, f: F) -> &mut Self
2164        where
2165            F: for<'a> FnOnce(
2166                &'a mut crate::generated::all::builders::KeyboardInputBuilder,
2167            ) -> &'a mut crate::generated::all::builders::KeyboardInputBuilder,
2168        {
2169            let ty: crate::generated::all::KeyboardInput = Default::default();
2170            let mut ty_builder = crate::generated::all::builders::KeyboardInputBuilder::new(
2171                ty,
2172            );
2173            (f)(&mut ty_builder);
2174            let ty = ty_builder.build();
2175            self.element.children_mut().push(ty.into());
2176            self
2177        }
2178        /// Append a new `Label` element
2179        pub fn label<F>(&mut self, f: F) -> &mut Self
2180        where
2181            F: for<'a> FnOnce(
2182                &'a mut crate::generated::all::builders::LabelBuilder,
2183            ) -> &'a mut crate::generated::all::builders::LabelBuilder,
2184        {
2185            let ty: crate::generated::all::Label = Default::default();
2186            let mut ty_builder = crate::generated::all::builders::LabelBuilder::new(ty);
2187            (f)(&mut ty_builder);
2188            let ty = ty_builder.build();
2189            self.element.children_mut().push(ty.into());
2190            self
2191        }
2192        /// Append a new `LineBreak` element
2193        pub fn line_break<F>(&mut self, f: F) -> &mut Self
2194        where
2195            F: for<'a> FnOnce(
2196                &'a mut crate::generated::all::builders::LineBreakBuilder,
2197            ) -> &'a mut crate::generated::all::builders::LineBreakBuilder,
2198        {
2199            let ty: crate::generated::all::LineBreak = Default::default();
2200            let mut ty_builder = crate::generated::all::builders::LineBreakBuilder::new(
2201                ty,
2202            );
2203            (f)(&mut ty_builder);
2204            let ty = ty_builder.build();
2205            self.element.children_mut().push(ty.into());
2206            self
2207        }
2208        /// Append a new `LineBreakOpportunity` element
2209        pub fn line_break_opportunity<F>(&mut self, f: F) -> &mut Self
2210        where
2211            F: for<'a> FnOnce(
2212                &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
2213            ) -> &'a mut crate::generated::all::builders::LineBreakOpportunityBuilder,
2214        {
2215            let ty: crate::generated::all::LineBreakOpportunity = Default::default();
2216            let mut ty_builder = crate::generated::all::builders::LineBreakOpportunityBuilder::new(
2217                ty,
2218            );
2219            (f)(&mut ty_builder);
2220            let ty = ty_builder.build();
2221            self.element.children_mut().push(ty.into());
2222            self
2223        }
2224        /// Append a new `Link` element
2225        pub fn link<F>(&mut self, f: F) -> &mut Self
2226        where
2227            F: for<'a> FnOnce(
2228                &'a mut crate::generated::all::builders::LinkBuilder,
2229            ) -> &'a mut crate::generated::all::builders::LinkBuilder,
2230        {
2231            let ty: crate::generated::all::Link = Default::default();
2232            let mut ty_builder = crate::generated::all::builders::LinkBuilder::new(ty);
2233            (f)(&mut ty_builder);
2234            let ty = ty_builder.build();
2235            self.element.children_mut().push(ty.into());
2236            self
2237        }
2238        /// Append a new `Main` element
2239        pub fn main<F>(&mut self, f: F) -> &mut Self
2240        where
2241            F: for<'a> FnOnce(
2242                &'a mut crate::generated::all::builders::MainBuilder,
2243            ) -> &'a mut crate::generated::all::builders::MainBuilder,
2244        {
2245            let ty: crate::generated::all::Main = Default::default();
2246            let mut ty_builder = crate::generated::all::builders::MainBuilder::new(ty);
2247            (f)(&mut ty_builder);
2248            let ty = ty_builder.build();
2249            self.element.children_mut().push(ty.into());
2250            self
2251        }
2252        /// Append a new `MarkText` element
2253        pub fn mark_text<F>(&mut self, f: F) -> &mut Self
2254        where
2255            F: for<'a> FnOnce(
2256                &'a mut crate::generated::all::builders::MarkTextBuilder,
2257            ) -> &'a mut crate::generated::all::builders::MarkTextBuilder,
2258        {
2259            let ty: crate::generated::all::MarkText = Default::default();
2260            let mut ty_builder = crate::generated::all::builders::MarkTextBuilder::new(
2261                ty,
2262            );
2263            (f)(&mut ty_builder);
2264            let ty = ty_builder.build();
2265            self.element.children_mut().push(ty.into());
2266            self
2267        }
2268        /// Append a new `Menu` element
2269        pub fn menu<F>(&mut self, f: F) -> &mut Self
2270        where
2271            F: for<'a> FnOnce(
2272                &'a mut crate::generated::all::builders::MenuBuilder,
2273            ) -> &'a mut crate::generated::all::builders::MenuBuilder,
2274        {
2275            let ty: crate::generated::all::Menu = Default::default();
2276            let mut ty_builder = crate::generated::all::builders::MenuBuilder::new(ty);
2277            (f)(&mut ty_builder);
2278            let ty = ty_builder.build();
2279            self.element.children_mut().push(ty.into());
2280            self
2281        }
2282        /// Append a new `Meta` element
2283        pub fn meta<F>(&mut self, f: F) -> &mut Self
2284        where
2285            F: for<'a> FnOnce(
2286                &'a mut crate::generated::all::builders::MetaBuilder,
2287            ) -> &'a mut crate::generated::all::builders::MetaBuilder,
2288        {
2289            let ty: crate::generated::all::Meta = Default::default();
2290            let mut ty_builder = crate::generated::all::builders::MetaBuilder::new(ty);
2291            (f)(&mut ty_builder);
2292            let ty = ty_builder.build();
2293            self.element.children_mut().push(ty.into());
2294            self
2295        }
2296        /// Append a new `Meter` element
2297        pub fn meter<F>(&mut self, f: F) -> &mut Self
2298        where
2299            F: for<'a> FnOnce(
2300                &'a mut crate::generated::all::builders::MeterBuilder,
2301            ) -> &'a mut crate::generated::all::builders::MeterBuilder,
2302        {
2303            let ty: crate::generated::all::Meter = Default::default();
2304            let mut ty_builder = crate::generated::all::builders::MeterBuilder::new(ty);
2305            (f)(&mut ty_builder);
2306            let ty = ty_builder.build();
2307            self.element.children_mut().push(ty.into());
2308            self
2309        }
2310        /// Append a new `Navigation` element
2311        pub fn navigation<F>(&mut self, f: F) -> &mut Self
2312        where
2313            F: for<'a> FnOnce(
2314                &'a mut crate::generated::all::builders::NavigationBuilder,
2315            ) -> &'a mut crate::generated::all::builders::NavigationBuilder,
2316        {
2317            let ty: crate::generated::all::Navigation = Default::default();
2318            let mut ty_builder = crate::generated::all::builders::NavigationBuilder::new(
2319                ty,
2320            );
2321            (f)(&mut ty_builder);
2322            let ty = ty_builder.build();
2323            self.element.children_mut().push(ty.into());
2324            self
2325        }
2326        /// Append a new `NoScript` element
2327        pub fn no_script<F>(&mut self, f: F) -> &mut Self
2328        where
2329            F: for<'a> FnOnce(
2330                &'a mut crate::generated::all::builders::NoScriptBuilder,
2331            ) -> &'a mut crate::generated::all::builders::NoScriptBuilder,
2332        {
2333            let ty: crate::generated::all::NoScript = Default::default();
2334            let mut ty_builder = crate::generated::all::builders::NoScriptBuilder::new(
2335                ty,
2336            );
2337            (f)(&mut ty_builder);
2338            let ty = ty_builder.build();
2339            self.element.children_mut().push(ty.into());
2340            self
2341        }
2342        /// Append a new `Object` element
2343        pub fn object<F>(&mut self, f: F) -> &mut Self
2344        where
2345            F: for<'a> FnOnce(
2346                &'a mut crate::generated::all::builders::ObjectBuilder,
2347            ) -> &'a mut crate::generated::all::builders::ObjectBuilder,
2348        {
2349            let ty: crate::generated::all::Object = Default::default();
2350            let mut ty_builder = crate::generated::all::builders::ObjectBuilder::new(ty);
2351            (f)(&mut ty_builder);
2352            let ty = ty_builder.build();
2353            self.element.children_mut().push(ty.into());
2354            self
2355        }
2356        /// Append a new `OrderedList` element
2357        pub fn ordered_list<F>(&mut self, f: F) -> &mut Self
2358        where
2359            F: for<'a> FnOnce(
2360                &'a mut crate::generated::all::builders::OrderedListBuilder,
2361            ) -> &'a mut crate::generated::all::builders::OrderedListBuilder,
2362        {
2363            let ty: crate::generated::all::OrderedList = Default::default();
2364            let mut ty_builder = crate::generated::all::builders::OrderedListBuilder::new(
2365                ty,
2366            );
2367            (f)(&mut ty_builder);
2368            let ty = ty_builder.build();
2369            self.element.children_mut().push(ty.into());
2370            self
2371        }
2372        /// Append a new `Output` element
2373        pub fn output<F>(&mut self, f: F) -> &mut Self
2374        where
2375            F: for<'a> FnOnce(
2376                &'a mut crate::generated::all::builders::OutputBuilder,
2377            ) -> &'a mut crate::generated::all::builders::OutputBuilder,
2378        {
2379            let ty: crate::generated::all::Output = Default::default();
2380            let mut ty_builder = crate::generated::all::builders::OutputBuilder::new(ty);
2381            (f)(&mut ty_builder);
2382            let ty = ty_builder.build();
2383            self.element.children_mut().push(ty.into());
2384            self
2385        }
2386        /// Append a new `Paragraph` element
2387        pub fn paragraph<F>(&mut self, f: F) -> &mut Self
2388        where
2389            F: for<'a> FnOnce(
2390                &'a mut crate::generated::all::builders::ParagraphBuilder,
2391            ) -> &'a mut crate::generated::all::builders::ParagraphBuilder,
2392        {
2393            let ty: crate::generated::all::Paragraph = Default::default();
2394            let mut ty_builder = crate::generated::all::builders::ParagraphBuilder::new(
2395                ty,
2396            );
2397            (f)(&mut ty_builder);
2398            let ty = ty_builder.build();
2399            self.element.children_mut().push(ty.into());
2400            self
2401        }
2402        /// Append a new `Picture` element
2403        pub fn picture<F>(&mut self, f: F) -> &mut Self
2404        where
2405            F: for<'a> FnOnce(
2406                &'a mut crate::generated::all::builders::PictureBuilder,
2407            ) -> &'a mut crate::generated::all::builders::PictureBuilder,
2408        {
2409            let ty: crate::generated::all::Picture = Default::default();
2410            let mut ty_builder = crate::generated::all::builders::PictureBuilder::new(
2411                ty,
2412            );
2413            (f)(&mut ty_builder);
2414            let ty = ty_builder.build();
2415            self.element.children_mut().push(ty.into());
2416            self
2417        }
2418        /// Append a new `PreformattedText` element
2419        pub fn preformatted_text<F>(&mut self, f: F) -> &mut Self
2420        where
2421            F: for<'a> FnOnce(
2422                &'a mut crate::generated::all::builders::PreformattedTextBuilder,
2423            ) -> &'a mut crate::generated::all::builders::PreformattedTextBuilder,
2424        {
2425            let ty: crate::generated::all::PreformattedText = Default::default();
2426            let mut ty_builder = crate::generated::all::builders::PreformattedTextBuilder::new(
2427                ty,
2428            );
2429            (f)(&mut ty_builder);
2430            let ty = ty_builder.build();
2431            self.element.children_mut().push(ty.into());
2432            self
2433        }
2434        /// Append a new `Progress` element
2435        pub fn progress<F>(&mut self, f: F) -> &mut Self
2436        where
2437            F: for<'a> FnOnce(
2438                &'a mut crate::generated::all::builders::ProgressBuilder,
2439            ) -> &'a mut crate::generated::all::builders::ProgressBuilder,
2440        {
2441            let ty: crate::generated::all::Progress = Default::default();
2442            let mut ty_builder = crate::generated::all::builders::ProgressBuilder::new(
2443                ty,
2444            );
2445            (f)(&mut ty_builder);
2446            let ty = ty_builder.build();
2447            self.element.children_mut().push(ty.into());
2448            self
2449        }
2450        /// Append a new `Quotation` element
2451        pub fn quotation<F>(&mut self, f: F) -> &mut Self
2452        where
2453            F: for<'a> FnOnce(
2454                &'a mut crate::generated::all::builders::QuotationBuilder,
2455            ) -> &'a mut crate::generated::all::builders::QuotationBuilder,
2456        {
2457            let ty: crate::generated::all::Quotation = Default::default();
2458            let mut ty_builder = crate::generated::all::builders::QuotationBuilder::new(
2459                ty,
2460            );
2461            (f)(&mut ty_builder);
2462            let ty = ty_builder.build();
2463            self.element.children_mut().push(ty.into());
2464            self
2465        }
2466        /// Append a new `RubyAnnotation` element
2467        pub fn ruby_annotation<F>(&mut self, f: F) -> &mut Self
2468        where
2469            F: for<'a> FnOnce(
2470                &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
2471            ) -> &'a mut crate::generated::all::builders::RubyAnnotationBuilder,
2472        {
2473            let ty: crate::generated::all::RubyAnnotation = Default::default();
2474            let mut ty_builder = crate::generated::all::builders::RubyAnnotationBuilder::new(
2475                ty,
2476            );
2477            (f)(&mut ty_builder);
2478            let ty = ty_builder.build();
2479            self.element.children_mut().push(ty.into());
2480            self
2481        }
2482        /// Append a new `SampleOutput` element
2483        pub fn sample_output<F>(&mut self, f: F) -> &mut Self
2484        where
2485            F: for<'a> FnOnce(
2486                &'a mut crate::generated::all::builders::SampleOutputBuilder,
2487            ) -> &'a mut crate::generated::all::builders::SampleOutputBuilder,
2488        {
2489            let ty: crate::generated::all::SampleOutput = Default::default();
2490            let mut ty_builder = crate::generated::all::builders::SampleOutputBuilder::new(
2491                ty,
2492            );
2493            (f)(&mut ty_builder);
2494            let ty = ty_builder.build();
2495            self.element.children_mut().push(ty.into());
2496            self
2497        }
2498        /// Append a new `Script` element
2499        pub fn script<F>(&mut self, f: F) -> &mut Self
2500        where
2501            F: for<'a> FnOnce(
2502                &'a mut crate::generated::all::builders::ScriptBuilder,
2503            ) -> &'a mut crate::generated::all::builders::ScriptBuilder,
2504        {
2505            let ty: crate::generated::all::Script = Default::default();
2506            let mut ty_builder = crate::generated::all::builders::ScriptBuilder::new(ty);
2507            (f)(&mut ty_builder);
2508            let ty = ty_builder.build();
2509            self.element.children_mut().push(ty.into());
2510            self
2511        }
2512        /// Append a new `Search` element
2513        pub fn search<F>(&mut self, f: F) -> &mut Self
2514        where
2515            F: for<'a> FnOnce(
2516                &'a mut crate::generated::all::builders::SearchBuilder,
2517            ) -> &'a mut crate::generated::all::builders::SearchBuilder,
2518        {
2519            let ty: crate::generated::all::Search = Default::default();
2520            let mut ty_builder = crate::generated::all::builders::SearchBuilder::new(ty);
2521            (f)(&mut ty_builder);
2522            let ty = ty_builder.build();
2523            self.element.children_mut().push(ty.into());
2524            self
2525        }
2526        /// Append a new `Section` element
2527        pub fn section<F>(&mut self, f: F) -> &mut Self
2528        where
2529            F: for<'a> FnOnce(
2530                &'a mut crate::generated::all::builders::SectionBuilder,
2531            ) -> &'a mut crate::generated::all::builders::SectionBuilder,
2532        {
2533            let ty: crate::generated::all::Section = Default::default();
2534            let mut ty_builder = crate::generated::all::builders::SectionBuilder::new(
2535                ty,
2536            );
2537            (f)(&mut ty_builder);
2538            let ty = ty_builder.build();
2539            self.element.children_mut().push(ty.into());
2540            self
2541        }
2542        /// Append a new `Select` element
2543        pub fn select<F>(&mut self, f: F) -> &mut Self
2544        where
2545            F: for<'a> FnOnce(
2546                &'a mut crate::generated::all::builders::SelectBuilder,
2547            ) -> &'a mut crate::generated::all::builders::SelectBuilder,
2548        {
2549            let ty: crate::generated::all::Select = Default::default();
2550            let mut ty_builder = crate::generated::all::builders::SelectBuilder::new(ty);
2551            (f)(&mut ty_builder);
2552            let ty = ty_builder.build();
2553            self.element.children_mut().push(ty.into());
2554            self
2555        }
2556        /// Append a new `SideComment` element
2557        pub fn side_comment<F>(&mut self, f: F) -> &mut Self
2558        where
2559            F: for<'a> FnOnce(
2560                &'a mut crate::generated::all::builders::SideCommentBuilder,
2561            ) -> &'a mut crate::generated::all::builders::SideCommentBuilder,
2562        {
2563            let ty: crate::generated::all::SideComment = Default::default();
2564            let mut ty_builder = crate::generated::all::builders::SideCommentBuilder::new(
2565                ty,
2566            );
2567            (f)(&mut ty_builder);
2568            let ty = ty_builder.build();
2569            self.element.children_mut().push(ty.into());
2570            self
2571        }
2572        /// Append a new `Slot` element
2573        pub fn slot<F>(&mut self, f: F) -> &mut Self
2574        where
2575            F: for<'a> FnOnce(
2576                &'a mut crate::generated::all::builders::SlotBuilder,
2577            ) -> &'a mut crate::generated::all::builders::SlotBuilder,
2578        {
2579            let ty: crate::generated::all::Slot = Default::default();
2580            let mut ty_builder = crate::generated::all::builders::SlotBuilder::new(ty);
2581            (f)(&mut ty_builder);
2582            let ty = ty_builder.build();
2583            self.element.children_mut().push(ty.into());
2584            self
2585        }
2586        /// Append a new `Span` element
2587        pub fn span<F>(&mut self, f: F) -> &mut Self
2588        where
2589            F: for<'a> FnOnce(
2590                &'a mut crate::generated::all::builders::SpanBuilder,
2591            ) -> &'a mut crate::generated::all::builders::SpanBuilder,
2592        {
2593            let ty: crate::generated::all::Span = Default::default();
2594            let mut ty_builder = crate::generated::all::builders::SpanBuilder::new(ty);
2595            (f)(&mut ty_builder);
2596            let ty = ty_builder.build();
2597            self.element.children_mut().push(ty.into());
2598            self
2599        }
2600        /// Append a new `StrikeThrough` element
2601        pub fn strike_through<F>(&mut self, f: F) -> &mut Self
2602        where
2603            F: for<'a> FnOnce(
2604                &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2605            ) -> &'a mut crate::generated::all::builders::StrikeThroughBuilder,
2606        {
2607            let ty: crate::generated::all::StrikeThrough = Default::default();
2608            let mut ty_builder = crate::generated::all::builders::StrikeThroughBuilder::new(
2609                ty,
2610            );
2611            (f)(&mut ty_builder);
2612            let ty = ty_builder.build();
2613            self.element.children_mut().push(ty.into());
2614            self
2615        }
2616        /// Append a new `Strong` element
2617        pub fn strong<F>(&mut self, f: F) -> &mut Self
2618        where
2619            F: for<'a> FnOnce(
2620                &'a mut crate::generated::all::builders::StrongBuilder,
2621            ) -> &'a mut crate::generated::all::builders::StrongBuilder,
2622        {
2623            let ty: crate::generated::all::Strong = Default::default();
2624            let mut ty_builder = crate::generated::all::builders::StrongBuilder::new(ty);
2625            (f)(&mut ty_builder);
2626            let ty = ty_builder.build();
2627            self.element.children_mut().push(ty.into());
2628            self
2629        }
2630        /// Append a new `SubScript` element
2631        pub fn sub_script<F>(&mut self, f: F) -> &mut Self
2632        where
2633            F: for<'a> FnOnce(
2634                &'a mut crate::generated::all::builders::SubScriptBuilder,
2635            ) -> &'a mut crate::generated::all::builders::SubScriptBuilder,
2636        {
2637            let ty: crate::generated::all::SubScript = Default::default();
2638            let mut ty_builder = crate::generated::all::builders::SubScriptBuilder::new(
2639                ty,
2640            );
2641            (f)(&mut ty_builder);
2642            let ty = ty_builder.build();
2643            self.element.children_mut().push(ty.into());
2644            self
2645        }
2646        /// Append a new `SuperScript` element
2647        pub fn super_script<F>(&mut self, f: F) -> &mut Self
2648        where
2649            F: for<'a> FnOnce(
2650                &'a mut crate::generated::all::builders::SuperScriptBuilder,
2651            ) -> &'a mut crate::generated::all::builders::SuperScriptBuilder,
2652        {
2653            let ty: crate::generated::all::SuperScript = Default::default();
2654            let mut ty_builder = crate::generated::all::builders::SuperScriptBuilder::new(
2655                ty,
2656            );
2657            (f)(&mut ty_builder);
2658            let ty = ty_builder.build();
2659            self.element.children_mut().push(ty.into());
2660            self
2661        }
2662        /// Append a new `Table` element
2663        pub fn table<F>(&mut self, f: F) -> &mut Self
2664        where
2665            F: for<'a> FnOnce(
2666                &'a mut crate::generated::all::builders::TableBuilder,
2667            ) -> &'a mut crate::generated::all::builders::TableBuilder,
2668        {
2669            let ty: crate::generated::all::Table = Default::default();
2670            let mut ty_builder = crate::generated::all::builders::TableBuilder::new(ty);
2671            (f)(&mut ty_builder);
2672            let ty = ty_builder.build();
2673            self.element.children_mut().push(ty.into());
2674            self
2675        }
2676        /// Append a new `Template` element
2677        pub fn template<F>(&mut self, f: F) -> &mut Self
2678        where
2679            F: for<'a> FnOnce(
2680                &'a mut crate::generated::all::builders::TemplateBuilder,
2681            ) -> &'a mut crate::generated::all::builders::TemplateBuilder,
2682        {
2683            let ty: crate::generated::all::Template = Default::default();
2684            let mut ty_builder = crate::generated::all::builders::TemplateBuilder::new(
2685                ty,
2686            );
2687            (f)(&mut ty_builder);
2688            let ty = ty_builder.build();
2689            self.element.children_mut().push(ty.into());
2690            self
2691        }
2692        /// Append a new text element.
2693        pub fn text(
2694            &mut self,
2695            s: impl Into<std::borrow::Cow<'static, str>>,
2696        ) -> &mut Self {
2697            let cow = s.into();
2698            self.element.children_mut().push(cow.into());
2699            self
2700        }
2701        /// Append a new `TextArea` element
2702        pub fn text_area<F>(&mut self, f: F) -> &mut Self
2703        where
2704            F: for<'a> FnOnce(
2705                &'a mut crate::generated::all::builders::TextAreaBuilder,
2706            ) -> &'a mut crate::generated::all::builders::TextAreaBuilder,
2707        {
2708            let ty: crate::generated::all::TextArea = Default::default();
2709            let mut ty_builder = crate::generated::all::builders::TextAreaBuilder::new(
2710                ty,
2711            );
2712            (f)(&mut ty_builder);
2713            let ty = ty_builder.build();
2714            self.element.children_mut().push(ty.into());
2715            self
2716        }
2717        /// Append a new `ThematicBreak` element
2718        pub fn thematic_break<F>(&mut self, f: F) -> &mut Self
2719        where
2720            F: for<'a> FnOnce(
2721                &'a mut crate::generated::all::builders::ThematicBreakBuilder,
2722            ) -> &'a mut crate::generated::all::builders::ThematicBreakBuilder,
2723        {
2724            let ty: crate::generated::all::ThematicBreak = Default::default();
2725            let mut ty_builder = crate::generated::all::builders::ThematicBreakBuilder::new(
2726                ty,
2727            );
2728            (f)(&mut ty_builder);
2729            let ty = ty_builder.build();
2730            self.element.children_mut().push(ty.into());
2731            self
2732        }
2733        /// Append a new `Time` element
2734        pub fn time<F>(&mut self, f: F) -> &mut Self
2735        where
2736            F: for<'a> FnOnce(
2737                &'a mut crate::generated::all::builders::TimeBuilder,
2738            ) -> &'a mut crate::generated::all::builders::TimeBuilder,
2739        {
2740            let ty: crate::generated::all::Time = Default::default();
2741            let mut ty_builder = crate::generated::all::builders::TimeBuilder::new(ty);
2742            (f)(&mut ty_builder);
2743            let ty = ty_builder.build();
2744            self.element.children_mut().push(ty.into());
2745            self
2746        }
2747        /// Append a new `Underline` element
2748        pub fn underline<F>(&mut self, f: F) -> &mut Self
2749        where
2750            F: for<'a> FnOnce(
2751                &'a mut crate::generated::all::builders::UnderlineBuilder,
2752            ) -> &'a mut crate::generated::all::builders::UnderlineBuilder,
2753        {
2754            let ty: crate::generated::all::Underline = Default::default();
2755            let mut ty_builder = crate::generated::all::builders::UnderlineBuilder::new(
2756                ty,
2757            );
2758            (f)(&mut ty_builder);
2759            let ty = ty_builder.build();
2760            self.element.children_mut().push(ty.into());
2761            self
2762        }
2763        /// Append a new `UnorderedList` element
2764        pub fn unordered_list<F>(&mut self, f: F) -> &mut Self
2765        where
2766            F: for<'a> FnOnce(
2767                &'a mut crate::generated::all::builders::UnorderedListBuilder,
2768            ) -> &'a mut crate::generated::all::builders::UnorderedListBuilder,
2769        {
2770            let ty: crate::generated::all::UnorderedList = Default::default();
2771            let mut ty_builder = crate::generated::all::builders::UnorderedListBuilder::new(
2772                ty,
2773            );
2774            (f)(&mut ty_builder);
2775            let ty = ty_builder.build();
2776            self.element.children_mut().push(ty.into());
2777            self
2778        }
2779        /// Append a new `Variable` element
2780        pub fn variable<F>(&mut self, f: F) -> &mut Self
2781        where
2782            F: for<'a> FnOnce(
2783                &'a mut crate::generated::all::builders::VariableBuilder,
2784            ) -> &'a mut crate::generated::all::builders::VariableBuilder,
2785        {
2786            let ty: crate::generated::all::Variable = Default::default();
2787            let mut ty_builder = crate::generated::all::builders::VariableBuilder::new(
2788                ty,
2789            );
2790            (f)(&mut ty_builder);
2791            let ty = ty_builder.build();
2792            self.element.children_mut().push(ty.into());
2793            self
2794        }
2795        /// Append a new `Video` element
2796        pub fn video<F>(&mut self, f: F) -> &mut Self
2797        where
2798            F: for<'a> FnOnce(
2799                &'a mut crate::generated::all::builders::VideoBuilder,
2800            ) -> &'a mut crate::generated::all::builders::VideoBuilder,
2801        {
2802            let ty: crate::generated::all::Video = Default::default();
2803            let mut ty_builder = crate::generated::all::builders::VideoBuilder::new(ty);
2804            (f)(&mut ty_builder);
2805            let ty = ty_builder.build();
2806            self.element.children_mut().push(ty.into());
2807            self
2808        }
2809        /// Set the value of the `role` attribute
2810        pub fn role(
2811            &mut self,
2812            value: impl Into<std::borrow::Cow<'static, str>>,
2813        ) -> &mut Self {
2814            self.element.set_role(Some(value.into()));
2815            self
2816        }
2817        /// Set the value of the `aria-atomic` attribute
2818        pub fn aria_atomic(&mut self, value: bool) -> &mut Self {
2819            self.element.set_aria_atomic(value);
2820            self
2821        }
2822        /// Set the value of the `aria-braillelabel` attribute
2823        pub fn aria_braille_label(
2824            &mut self,
2825            value: impl Into<std::borrow::Cow<'static, str>>,
2826        ) -> &mut Self {
2827            self.element.set_aria_braille_label(Some(value.into()));
2828            self
2829        }
2830        /// Set the value of the `aria-brailleroledescription` attribute
2831        pub fn aria_braille_role_description(
2832            &mut self,
2833            value: impl Into<std::borrow::Cow<'static, str>>,
2834        ) -> &mut Self {
2835            self.element.set_aria_braille_role_description(Some(value.into()));
2836            self
2837        }
2838        /// Set the value of the `aria-busy` attribute
2839        pub fn aria_busy(&mut self, value: bool) -> &mut Self {
2840            self.element.set_aria_busy(value);
2841            self
2842        }
2843        /// Set the value of the `aria-controls` attribute
2844        pub fn aria_controls_elements(
2845            &mut self,
2846            value: impl Into<std::borrow::Cow<'static, str>>,
2847        ) -> &mut Self {
2848            self.element.set_aria_controls_elements(Some(value.into()));
2849            self
2850        }
2851        /// Set the value of the `aria-current` attribute
2852        pub fn aria_current(
2853            &mut self,
2854            value: impl Into<std::borrow::Cow<'static, str>>,
2855        ) -> &mut Self {
2856            self.element.set_aria_current(Some(value.into()));
2857            self
2858        }
2859        /// Set the value of the `aria-describedby` attribute
2860        pub fn aria_described_by_elements(
2861            &mut self,
2862            value: impl Into<std::borrow::Cow<'static, str>>,
2863        ) -> &mut Self {
2864            self.element.set_aria_described_by_elements(Some(value.into()));
2865            self
2866        }
2867        /// Set the value of the `aria-description` attribute
2868        pub fn aria_description(
2869            &mut self,
2870            value: impl Into<std::borrow::Cow<'static, str>>,
2871        ) -> &mut Self {
2872            self.element.set_aria_description(Some(value.into()));
2873            self
2874        }
2875        /// Set the value of the `aria-details` attribute
2876        pub fn aria_details_elements(
2877            &mut self,
2878            value: impl Into<std::borrow::Cow<'static, str>>,
2879        ) -> &mut Self {
2880            self.element.set_aria_details_elements(Some(value.into()));
2881            self
2882        }
2883        /// Set the value of the `aria-disabled` attribute
2884        pub fn aria_disabled(&mut self, value: bool) -> &mut Self {
2885            self.element.set_aria_disabled(value);
2886            self
2887        }
2888        /// Set the value of the `aria-dropeffect` attribute
2889        pub fn aria_drop_effect(
2890            &mut self,
2891            value: impl Into<std::borrow::Cow<'static, str>>,
2892        ) -> &mut Self {
2893            self.element.set_aria_drop_effect(Some(value.into()));
2894            self
2895        }
2896        /// Set the value of the `aria-errormessage` attribute
2897        pub fn aria_error_message_elements(
2898            &mut self,
2899            value: impl Into<std::borrow::Cow<'static, str>>,
2900        ) -> &mut Self {
2901            self.element.set_aria_error_message_elements(Some(value.into()));
2902            self
2903        }
2904        /// Set the value of the `aria-flowto` attribute
2905        pub fn aria_flow_to_elements(
2906            &mut self,
2907            value: impl Into<std::borrow::Cow<'static, str>>,
2908        ) -> &mut Self {
2909            self.element.set_aria_flow_to_elements(Some(value.into()));
2910            self
2911        }
2912        /// Set the value of the `aria-grabbed` attribute
2913        pub fn aria_grabbed(&mut self, value: bool) -> &mut Self {
2914            self.element.set_aria_grabbed(value);
2915            self
2916        }
2917        /// Set the value of the `aria-haspopup` attribute
2918        pub fn aria_has_popup(
2919            &mut self,
2920            value: impl Into<std::borrow::Cow<'static, str>>,
2921        ) -> &mut Self {
2922            self.element.set_aria_has_popup(Some(value.into()));
2923            self
2924        }
2925        /// Set the value of the `aria-hidden` attribute
2926        pub fn aria_hidden(&mut self, value: bool) -> &mut Self {
2927            self.element.set_aria_hidden(value);
2928            self
2929        }
2930        /// Set the value of the `aria-invalid` attribute
2931        pub fn aria_invalid(
2932            &mut self,
2933            value: impl Into<std::borrow::Cow<'static, str>>,
2934        ) -> &mut Self {
2935            self.element.set_aria_invalid(Some(value.into()));
2936            self
2937        }
2938        /// Set the value of the `aria-keyshortcuts` attribute
2939        pub fn aria_key_shortcuts(
2940            &mut self,
2941            value: impl Into<std::borrow::Cow<'static, str>>,
2942        ) -> &mut Self {
2943            self.element.set_aria_key_shortcuts(Some(value.into()));
2944            self
2945        }
2946        /// Set the value of the `aria-label` attribute
2947        pub fn aria_label(
2948            &mut self,
2949            value: impl Into<std::borrow::Cow<'static, str>>,
2950        ) -> &mut Self {
2951            self.element.set_aria_label(Some(value.into()));
2952            self
2953        }
2954        /// Set the value of the `aria-labelledby` attribute
2955        pub fn aria_labelled_by_elements(
2956            &mut self,
2957            value: impl Into<std::borrow::Cow<'static, str>>,
2958        ) -> &mut Self {
2959            self.element.set_aria_labelled_by_elements(Some(value.into()));
2960            self
2961        }
2962        /// Set the value of the `aria-live` attribute
2963        pub fn aria_live(
2964            &mut self,
2965            value: impl Into<std::borrow::Cow<'static, str>>,
2966        ) -> &mut Self {
2967            self.element.set_aria_live(Some(value.into()));
2968            self
2969        }
2970        /// Set the value of the `aria-owns` attribute
2971        pub fn aria_owns_elements(
2972            &mut self,
2973            value: impl Into<std::borrow::Cow<'static, str>>,
2974        ) -> &mut Self {
2975            self.element.set_aria_owns_elements(Some(value.into()));
2976            self
2977        }
2978        /// Set the value of the `aria-posinset` attribute
2979        pub fn aria_pos_in_set(&mut self, value: i64) -> &mut Self {
2980            self.element.set_aria_pos_in_set(Some(value));
2981            self
2982        }
2983        /// Set the value of the `aria-relevant` attribute
2984        pub fn aria_relevant(
2985            &mut self,
2986            value: impl Into<std::borrow::Cow<'static, str>>,
2987        ) -> &mut Self {
2988            self.element.set_aria_relevant(Some(value.into()));
2989            self
2990        }
2991        /// Set the value of the `aria-roledescription` attribute
2992        pub fn aria_role_description(
2993            &mut self,
2994            value: impl Into<std::borrow::Cow<'static, str>>,
2995        ) -> &mut Self {
2996            self.element.set_aria_role_description(Some(value.into()));
2997            self
2998        }
2999        /// Set the value of the `aria-setsize` attribute
3000        pub fn aria_set_size(&mut self, value: i64) -> &mut Self {
3001            self.element.set_aria_set_size(Some(value));
3002            self
3003        }
3004        /// Set the value of the `accesskey` attribute
3005        pub fn access_key(
3006            &mut self,
3007            value: impl Into<std::borrow::Cow<'static, str>>,
3008        ) -> &mut Self {
3009            self.element.set_access_key(Some(value.into()));
3010            self
3011        }
3012        /// Set the value of the `autocapitalize` attribute
3013        pub fn auto_capitalize(
3014            &mut self,
3015            value: impl Into<std::borrow::Cow<'static, str>>,
3016        ) -> &mut Self {
3017            self.element.set_auto_capitalize(Some(value.into()));
3018            self
3019        }
3020        /// Set the value of the `autofocus` attribute
3021        pub fn autofocus(&mut self, value: bool) -> &mut Self {
3022            self.element.set_autofocus(value);
3023            self
3024        }
3025        /// Set the value of the `class` attribute
3026        pub fn class(
3027            &mut self,
3028            value: impl Into<std::borrow::Cow<'static, str>>,
3029        ) -> &mut Self {
3030            self.element.set_class(Some(value.into()));
3031            self
3032        }
3033        /// Set the value of the `contenteditable` attribute
3034        pub fn content_editable(
3035            &mut self,
3036            value: impl Into<std::borrow::Cow<'static, str>>,
3037        ) -> &mut Self {
3038            self.element.set_content_editable(Some(value.into()));
3039            self
3040        }
3041        /// Set the value of the `dir` attribute
3042        pub fn direction(
3043            &mut self,
3044            value: impl Into<std::borrow::Cow<'static, str>>,
3045        ) -> &mut Self {
3046            self.element.set_direction(Some(value.into()));
3047            self
3048        }
3049        /// Set the value of the `draggable` attribute
3050        pub fn draggable(&mut self, value: bool) -> &mut Self {
3051            self.element.set_draggable(value);
3052            self
3053        }
3054        /// Set the value of the `enterkeyhint` attribute
3055        pub fn enter_key_hint(
3056            &mut self,
3057            value: impl Into<std::borrow::Cow<'static, str>>,
3058        ) -> &mut Self {
3059            self.element.set_enter_key_hint(Some(value.into()));
3060            self
3061        }
3062        /// Set the value of the `exportparts` attribute
3063        pub fn export_parts(
3064            &mut self,
3065            value: impl Into<std::borrow::Cow<'static, str>>,
3066        ) -> &mut Self {
3067            self.element.set_export_parts(Some(value.into()));
3068            self
3069        }
3070        /// Set the value of the `hidden` attribute
3071        pub fn hidden(
3072            &mut self,
3073            value: impl Into<std::borrow::Cow<'static, str>>,
3074        ) -> &mut Self {
3075            self.element.set_hidden(Some(value.into()));
3076            self
3077        }
3078        /// Set the value of the `id` attribute
3079        pub fn id(
3080            &mut self,
3081            value: impl Into<std::borrow::Cow<'static, str>>,
3082        ) -> &mut Self {
3083            self.element.set_id(Some(value.into()));
3084            self
3085        }
3086        /// Set the value of the `inert` attribute
3087        pub fn inert(&mut self, value: bool) -> &mut Self {
3088            self.element.set_inert(value);
3089            self
3090        }
3091        /// Set the value of the `inputmode` attribute
3092        pub fn input_mode(
3093            &mut self,
3094            value: impl Into<std::borrow::Cow<'static, str>>,
3095        ) -> &mut Self {
3096            self.element.set_input_mode(Some(value.into()));
3097            self
3098        }
3099        /// Set the value of the `is` attribute
3100        pub fn is_(
3101            &mut self,
3102            value: impl Into<std::borrow::Cow<'static, str>>,
3103        ) -> &mut Self {
3104            self.element.set_is_(Some(value.into()));
3105            self
3106        }
3107        /// Set the value of the `itemid` attribute
3108        pub fn item_id(
3109            &mut self,
3110            value: impl Into<std::borrow::Cow<'static, str>>,
3111        ) -> &mut Self {
3112            self.element.set_item_id(Some(value.into()));
3113            self
3114        }
3115        /// Set the value of the `itemprop` attribute
3116        pub fn item_prop(
3117            &mut self,
3118            value: impl Into<std::borrow::Cow<'static, str>>,
3119        ) -> &mut Self {
3120            self.element.set_item_prop(Some(value.into()));
3121            self
3122        }
3123        /// Set the value of the `itemref` attribute
3124        pub fn item_ref(
3125            &mut self,
3126            value: impl Into<std::borrow::Cow<'static, str>>,
3127        ) -> &mut Self {
3128            self.element.set_item_ref(Some(value.into()));
3129            self
3130        }
3131        /// Set the value of the `itemscope` attribute
3132        pub fn item_scope(
3133            &mut self,
3134            value: impl Into<std::borrow::Cow<'static, str>>,
3135        ) -> &mut Self {
3136            self.element.set_item_scope(Some(value.into()));
3137            self
3138        }
3139        /// Set the value of the `itemtype` attribute
3140        pub fn item_type(
3141            &mut self,
3142            value: impl Into<std::borrow::Cow<'static, str>>,
3143        ) -> &mut Self {
3144            self.element.set_item_type(Some(value.into()));
3145            self
3146        }
3147        /// Set the value of the `lang` attribute
3148        pub fn lang(
3149            &mut self,
3150            value: impl Into<std::borrow::Cow<'static, str>>,
3151        ) -> &mut Self {
3152            self.element.set_lang(Some(value.into()));
3153            self
3154        }
3155        /// Set the value of the `nonce` attribute
3156        pub fn nonce(
3157            &mut self,
3158            value: impl Into<std::borrow::Cow<'static, str>>,
3159        ) -> &mut Self {
3160            self.element.set_nonce(Some(value.into()));
3161            self
3162        }
3163        /// Set the value of the `part` attribute
3164        pub fn part(
3165            &mut self,
3166            value: impl Into<std::borrow::Cow<'static, str>>,
3167        ) -> &mut Self {
3168            self.element.set_part(Some(value.into()));
3169            self
3170        }
3171        /// Set the value of the `slot` attribute
3172        pub fn slot_attr(
3173            &mut self,
3174            value: impl Into<std::borrow::Cow<'static, str>>,
3175        ) -> &mut Self {
3176            self.element.set_slot(Some(value.into()));
3177            self
3178        }
3179        /// Set the value of the `spellcheck` attribute
3180        pub fn spellcheck(
3181            &mut self,
3182            value: impl Into<std::borrow::Cow<'static, str>>,
3183        ) -> &mut Self {
3184            self.element.set_spellcheck(Some(value.into()));
3185            self
3186        }
3187        /// Set the value of the `style` attribute
3188        pub fn style(
3189            &mut self,
3190            value: impl Into<std::borrow::Cow<'static, str>>,
3191        ) -> &mut Self {
3192            self.element.set_style(Some(value.into()));
3193            self
3194        }
3195        /// Set the value of the `tabindex` attribute
3196        pub fn tab_index(&mut self, value: i64) -> &mut Self {
3197            self.element.set_tab_index(Some(value));
3198            self
3199        }
3200        /// Set the value of the `title` attribute
3201        pub fn title(
3202            &mut self,
3203            value: impl Into<std::borrow::Cow<'static, str>>,
3204        ) -> &mut Self {
3205            self.element.set_title(Some(value.into()));
3206            self
3207        }
3208        /// Set the value of the `translate` attribute
3209        pub fn translate(&mut self, value: bool) -> &mut Self {
3210            self.element.set_translate(value);
3211            self
3212        }
3213        /// Push a new child element to the list of children.
3214        pub fn push<T>(&mut self, child_el: T) -> &mut Self
3215        where
3216            T: Into<crate::generated::all::children::DescriptionTermChild>,
3217        {
3218            let child_el = child_el.into();
3219            self.element.children_mut().push(child_el);
3220            self
3221        }
3222        /// Extend the list of children with an iterator of child elements.
3223        pub fn extend<I, T>(&mut self, iter: I) -> &mut Self
3224        where
3225            I: IntoIterator<Item = T>,
3226            T: Into<crate::generated::all::children::DescriptionTermChild>,
3227        {
3228            let iter = iter.into_iter().map(|child_el| child_el.into());
3229            self.element.children_mut().extend(iter);
3230            self
3231        }
3232    }
3233}