html/generated/
form.rs

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