html/generated/
object.rs

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