html/generated/
q.rs

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