html/generated/
slot.rs

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