html/generated/
article.rs

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