html/generated/
aside.rs

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