html/generated/
dfn.rs

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