html/generated/
fieldset.rs

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