1use facet::Facet;
22use facet_xml as xml;
26
27#[derive(Debug, Clone, PartialEq, Default, Facet)]
37#[facet(default)]
38pub struct GlobalAttrs {
39 #[facet(xml::attribute, default)]
42 pub id: Option<String>,
43 #[facet(xml::attribute, default)]
45 pub class: Option<String>,
46 #[facet(xml::attribute, default)]
48 pub style: Option<String>,
49 #[facet(xml::attribute, default, rename = "title")]
53 pub tooltip: Option<String>,
54 #[facet(xml::attribute, default)]
56 pub lang: Option<String>,
57 #[facet(xml::attribute, default)]
59 pub dir: Option<String>,
60 #[facet(xml::attribute, default)]
62 pub hidden: Option<String>,
63 #[facet(xml::attribute, default)]
65 pub tabindex: Option<String>,
66 #[facet(xml::attribute, default)]
68 pub accesskey: Option<String>,
69 #[facet(xml::attribute, default)]
71 pub draggable: Option<String>,
72 #[facet(xml::attribute, default)]
74 pub contenteditable: Option<String>,
75 #[facet(xml::attribute, default)]
77 pub spellcheck: Option<String>,
78 #[facet(xml::attribute, default)]
80 pub translate: Option<String>,
81 #[facet(xml::attribute, default)]
83 pub role: Option<String>,
84
85 #[facet(xml::attribute, default)]
88 pub onclick: Option<String>,
89 #[facet(xml::attribute, default)]
91 pub ondblclick: Option<String>,
92 #[facet(xml::attribute, default)]
94 pub onmousedown: Option<String>,
95 #[facet(xml::attribute, default)]
97 pub onmouseover: Option<String>,
98 #[facet(xml::attribute, default)]
100 pub onmouseout: Option<String>,
101 #[facet(xml::attribute, default)]
103 pub onmouseup: Option<String>,
104 #[facet(xml::attribute, default)]
106 pub onmouseenter: Option<String>,
107 #[facet(xml::attribute, default)]
109 pub onmouseleave: Option<String>,
110 #[facet(xml::attribute, default)]
112 pub onkeydown: Option<String>,
113 #[facet(xml::attribute, default)]
115 pub onkeyup: Option<String>,
116 #[facet(xml::attribute, default)]
118 pub onfocus: Option<String>,
119 #[facet(xml::attribute, default)]
121 pub onblur: Option<String>,
122 #[facet(xml::attribute, default)]
124 pub onchange: Option<String>,
125 #[facet(xml::attribute, default)]
127 pub oninput: Option<String>,
128 #[facet(xml::attribute, default)]
130 pub onsubmit: Option<String>,
131 #[facet(xml::attribute, default)]
133 pub onload: Option<String>,
134 #[facet(xml::attribute, default)]
136 pub onerror: Option<String>,
137 #[facet(xml::attribute, default)]
139 pub onscroll: Option<String>,
140 #[facet(xml::attribute, default)]
142 pub oncontextmenu: Option<String>,
143
144 #[facet(flatten, default)]
149 pub extra: std::collections::HashMap<String, String>,
150}
151
152#[derive(Debug, Clone, PartialEq, Default, Facet)]
158#[facet(rename = "html")]
159pub struct Html {
160 #[facet(flatten, default)]
162 pub attrs: GlobalAttrs,
163 #[facet(default)]
165 pub head: Option<Head>,
166 #[facet(default)]
168 pub body: Option<Body>,
169}
170
171#[derive(Debug, Clone, PartialEq, Default, Facet)]
173#[facet(rename = "head")]
174pub struct Head {
175 #[facet(flatten, default)]
177 pub attrs: GlobalAttrs,
178 #[facet(default)]
180 pub title: Option<Title>,
181 #[facet(default)]
183 pub base: Option<Base>,
184 #[facet(xml::elements, default)]
186 pub link: Vec<Link>,
187 #[facet(xml::elements, default)]
189 pub meta: Vec<Meta>,
190 #[facet(xml::elements, default)]
192 pub style: Vec<Style>,
193 #[facet(xml::elements, default)]
195 pub script: Vec<Script>,
196}
197
198#[derive(Debug, Clone, PartialEq, Default, Facet)]
200#[facet(rename = "body")]
201pub struct Body {
202 #[facet(flatten, default)]
204 pub attrs: GlobalAttrs,
205 #[facet(xml::elements, default)]
207 #[facet(recursive_type)]
208 pub children: Vec<FlowContent>,
209}
210
211#[derive(Debug, Clone, PartialEq, Default, Facet)]
217#[facet(rename = "title")]
218pub struct Title {
219 #[facet(flatten, default)]
221 pub attrs: GlobalAttrs,
222 #[facet(xml::text, default)]
224 pub text: String,
225}
226
227#[derive(Debug, Clone, PartialEq, Default, Facet)]
229#[facet(rename = "base")]
230pub struct Base {
231 #[facet(flatten, default)]
233 pub attrs: GlobalAttrs,
234 #[facet(default)]
236 pub href: Option<String>,
237 #[facet(default)]
239 pub target: Option<String>,
240}
241
242#[derive(Debug, Clone, PartialEq, Default, Facet)]
244#[facet(rename = "link")]
245pub struct Link {
246 #[facet(flatten, default)]
248 pub attrs: GlobalAttrs,
249 #[facet(default)]
251 pub href: Option<String>,
252 #[facet(default)]
254 pub rel: Option<String>,
255 #[facet(default, rename = "type")]
257 pub type_: Option<String>,
258 #[facet(default)]
260 pub media: Option<String>,
261 #[facet(default)]
263 pub integrity: Option<String>,
264 #[facet(default)]
266 pub crossorigin: Option<String>,
267 #[facet(default)]
269 pub sizes: Option<String>,
270 #[facet(default, rename = "as")]
272 pub as_: Option<String>,
273}
274
275#[derive(Debug, Clone, PartialEq, Default, Facet)]
277#[facet(rename = "meta")]
278pub struct Meta {
279 #[facet(flatten, default)]
281 pub attrs: GlobalAttrs,
282 #[facet(default)]
284 pub name: Option<String>,
285 #[facet(default)]
287 pub content: Option<String>,
288 #[facet(default)]
290 pub charset: Option<String>,
291 #[facet(default, rename = "http-equiv")]
293 pub http_equiv: Option<String>,
294 #[facet(default)]
296 pub property: Option<String>,
297}
298
299#[derive(Debug, Clone, PartialEq, Default, Facet)]
301#[facet(rename = "style")]
302pub struct Style {
303 #[facet(flatten, default)]
305 pub attrs: GlobalAttrs,
306 #[facet(default)]
308 pub media: Option<String>,
309 #[facet(default, rename = "type")]
311 pub type_: Option<String>,
312 #[facet(default)]
314 pub text: String,
315}
316
317#[derive(Debug, Clone, PartialEq, Default, Facet)]
323#[facet(rename = "header")]
324pub struct Header {
325 #[facet(flatten, default)]
327 pub attrs: GlobalAttrs,
328 #[facet(xml::elements, default)]
330 #[facet(recursive_type)]
331 pub children: Vec<FlowContent>,
332}
333
334#[derive(Debug, Clone, PartialEq, Default, Facet)]
336#[facet(rename = "footer")]
337pub struct Footer {
338 #[facet(flatten, default)]
340 pub attrs: GlobalAttrs,
341 #[facet(xml::elements, default)]
343 #[facet(recursive_type)]
344 pub children: Vec<FlowContent>,
345}
346
347#[derive(Debug, Clone, PartialEq, Default, Facet)]
349#[facet(rename = "main")]
350pub struct Main {
351 #[facet(flatten, default)]
353 pub attrs: GlobalAttrs,
354 #[facet(xml::elements, default)]
356 #[facet(recursive_type)]
357 pub children: Vec<FlowContent>,
358}
359
360#[derive(Debug, Clone, PartialEq, Default, Facet)]
362#[facet(rename = "article")]
363pub struct Article {
364 #[facet(flatten, default)]
366 pub attrs: GlobalAttrs,
367 #[facet(xml::elements, default)]
369 #[facet(recursive_type)]
370 pub children: Vec<FlowContent>,
371}
372
373#[derive(Debug, Clone, PartialEq, Default, Facet)]
375#[facet(rename = "section")]
376pub struct Section {
377 #[facet(flatten, default)]
379 pub attrs: GlobalAttrs,
380 #[facet(xml::elements, default)]
382 #[facet(recursive_type)]
383 pub children: Vec<FlowContent>,
384}
385
386#[derive(Debug, Clone, PartialEq, Default, Facet)]
388#[facet(rename = "nav")]
389pub struct Nav {
390 #[facet(flatten, default)]
392 pub attrs: GlobalAttrs,
393 #[facet(xml::elements, default)]
395 #[facet(recursive_type)]
396 pub children: Vec<FlowContent>,
397}
398
399#[derive(Debug, Clone, PartialEq, Default, Facet)]
401#[facet(rename = "aside")]
402pub struct Aside {
403 #[facet(flatten, default)]
405 pub attrs: GlobalAttrs,
406 #[facet(xml::elements, default)]
408 #[facet(recursive_type)]
409 pub children: Vec<FlowContent>,
410}
411
412#[derive(Debug, Clone, PartialEq, Default, Facet)]
414#[facet(rename = "address")]
415pub struct Address {
416 #[facet(flatten, default)]
418 pub attrs: GlobalAttrs,
419 #[facet(xml::elements, default)]
421 #[facet(recursive_type)]
422 pub children: Vec<FlowContent>,
423}
424
425#[derive(Debug, Clone, PartialEq, Default, Facet)]
431#[facet(rename = "h1")]
432pub struct H1 {
433 #[facet(flatten, default)]
435 pub attrs: GlobalAttrs,
436 #[facet(xml::elements, default)]
438 #[facet(recursive_type)]
439 pub children: Vec<PhrasingContent>,
440}
441
442#[derive(Debug, Clone, PartialEq, Default, Facet)]
444#[facet(rename = "h2")]
445pub struct H2 {
446 #[facet(flatten, default)]
448 pub attrs: GlobalAttrs,
449 #[facet(xml::elements, default)]
451 #[facet(recursive_type)]
452 pub children: Vec<PhrasingContent>,
453}
454
455#[derive(Debug, Clone, PartialEq, Default, Facet)]
457#[facet(rename = "h3")]
458pub struct H3 {
459 #[facet(flatten, default)]
461 pub attrs: GlobalAttrs,
462 #[facet(xml::elements, default)]
464 #[facet(recursive_type)]
465 pub children: Vec<PhrasingContent>,
466}
467
468#[derive(Debug, Clone, PartialEq, Default, Facet)]
470#[facet(rename = "h4")]
471pub struct H4 {
472 #[facet(flatten, default)]
474 pub attrs: GlobalAttrs,
475 #[facet(xml::elements, default)]
477 #[facet(recursive_type)]
478 pub children: Vec<PhrasingContent>,
479}
480
481#[derive(Debug, Clone, PartialEq, Default, Facet)]
483#[facet(rename = "h5")]
484pub struct H5 {
485 #[facet(flatten, default)]
487 pub attrs: GlobalAttrs,
488 #[facet(xml::elements, default)]
490 #[facet(recursive_type)]
491 pub children: Vec<PhrasingContent>,
492}
493
494#[derive(Debug, Clone, PartialEq, Default, Facet)]
496#[facet(rename = "h6")]
497pub struct H6 {
498 #[facet(flatten, default)]
500 pub attrs: GlobalAttrs,
501 #[facet(xml::elements, default)]
503 #[facet(recursive_type)]
504 pub children: Vec<PhrasingContent>,
505}
506
507#[derive(Debug, Clone, PartialEq, Default, Facet)]
513#[facet(rename = "p")]
514pub struct P {
515 #[facet(flatten, default)]
517 pub attrs: GlobalAttrs,
518 #[facet(xml::elements, default)]
520 #[facet(recursive_type)]
521 pub children: Vec<PhrasingContent>,
522}
523
524#[derive(Debug, Clone, PartialEq, Default, Facet)]
526#[facet(rename = "div")]
527pub struct Div {
528 #[facet(flatten, default)]
530 pub attrs: GlobalAttrs,
531 #[facet(xml::elements, default)]
533 #[facet(recursive_type)]
534 pub children: Vec<FlowContent>,
535}
536
537#[derive(Debug, Clone, PartialEq, Default, Facet)]
539#[facet(rename = "span")]
540pub struct Span {
541 #[facet(flatten, default)]
543 pub attrs: GlobalAttrs,
544 #[facet(xml::elements, default)]
546 #[facet(recursive_type)]
547 pub children: Vec<PhrasingContent>,
548}
549
550#[derive(Debug, Clone, PartialEq, Default, Facet)]
552#[facet(rename = "pre")]
553pub struct Pre {
554 #[facet(flatten, default)]
556 pub attrs: GlobalAttrs,
557 #[facet(xml::elements, default)]
559 #[facet(recursive_type)]
560 pub children: Vec<PhrasingContent>,
561}
562
563#[derive(Debug, Clone, PartialEq, Default, Facet)]
565#[facet(rename = "blockquote")]
566pub struct Blockquote {
567 #[facet(flatten, default)]
569 pub attrs: GlobalAttrs,
570 #[facet(default)]
572 pub cite: Option<String>,
573 #[facet(xml::elements, default)]
575 #[facet(recursive_type)]
576 pub children: Vec<FlowContent>,
577}
578
579#[derive(Debug, Clone, PartialEq, Default, Facet)]
581#[facet(rename = "ol")]
582pub struct Ol {
583 #[facet(flatten, default)]
585 pub attrs: GlobalAttrs,
586 #[facet(default)]
588 pub start: Option<String>,
589 #[facet(default, rename = "type")]
591 pub type_: Option<String>,
592 #[facet(default)]
594 pub reversed: Option<String>,
595 #[facet(default)]
597 pub li: Vec<Li>,
598}
599
600#[derive(Debug, Clone, PartialEq, Default, Facet)]
602#[facet(rename = "ul")]
603pub struct Ul {
604 #[facet(flatten, default)]
606 pub attrs: GlobalAttrs,
607 #[facet(default)]
609 pub li: Vec<Li>,
610}
611
612#[derive(Debug, Clone, PartialEq, Default, Facet)]
614#[facet(rename = "li")]
615pub struct Li {
616 #[facet(flatten, default)]
618 pub attrs: GlobalAttrs,
619 #[facet(default)]
621 pub value: Option<String>,
622 #[facet(xml::elements, default)]
624 #[facet(recursive_type)]
625 pub children: Vec<FlowContent>,
626}
627
628#[derive(Debug, Clone, PartialEq, Default, Facet)]
630#[facet(rename = "dl")]
631pub struct Dl {
632 #[facet(flatten, default)]
634 pub attrs: GlobalAttrs,
635 #[facet(default)]
637 pub dt: Vec<Dt>,
638 #[facet(default)]
640 pub dd: Vec<Dd>,
641}
642
643#[derive(Debug, Clone, PartialEq, Default, Facet)]
645#[facet(rename = "dt")]
646pub struct Dt {
647 #[facet(flatten, default)]
649 pub attrs: GlobalAttrs,
650 #[facet(xml::elements, default)]
652 #[facet(recursive_type)]
653 pub children: Vec<FlowContent>,
654}
655
656#[derive(Debug, Clone, PartialEq, Default, Facet)]
658#[facet(rename = "dd")]
659pub struct Dd {
660 #[facet(flatten, default)]
662 pub attrs: GlobalAttrs,
663 #[facet(xml::elements, default)]
665 #[facet(recursive_type)]
666 pub children: Vec<FlowContent>,
667}
668
669#[derive(Debug, Clone, PartialEq, Default, Facet)]
671#[facet(rename = "figure")]
672pub struct Figure {
673 #[facet(flatten, default)]
675 pub attrs: GlobalAttrs,
676 #[facet(default)]
678 pub figcaption: Option<Figcaption>,
679 #[facet(xml::elements, default)]
681 #[facet(recursive_type)]
682 pub children: Vec<FlowContent>,
683}
684
685#[derive(Debug, Clone, PartialEq, Default, Facet)]
687#[facet(rename = "figcaption")]
688pub struct Figcaption {
689 #[facet(flatten, default)]
691 pub attrs: GlobalAttrs,
692 #[facet(xml::elements, default)]
694 #[facet(recursive_type)]
695 pub children: Vec<FlowContent>,
696}
697
698#[derive(Debug, Clone, PartialEq, Default, Facet)]
700#[facet(rename = "hr")]
701pub struct Hr {
702 #[facet(flatten, default)]
704 pub attrs: GlobalAttrs,
705}
706
707#[derive(Debug, Clone, PartialEq, Default, Facet)]
713#[facet(rename = "a")]
714pub struct A {
715 #[facet(flatten, default)]
717 pub attrs: GlobalAttrs,
718 #[facet(default)]
720 pub href: Option<String>,
721 #[facet(default)]
723 pub target: Option<String>,
724 #[facet(default)]
726 pub rel: Option<String>,
727 #[facet(default)]
729 pub download: Option<String>,
730 #[facet(default, rename = "type")]
732 pub type_: Option<String>,
733 #[facet(default)]
735 pub hreflang: Option<String>,
736 #[facet(default)]
738 pub referrerpolicy: Option<String>,
739 #[facet(xml::elements, default)]
741 #[facet(recursive_type)]
742 pub children: Vec<PhrasingContent>,
743}
744
745#[derive(Debug, Clone, PartialEq, Default, Facet)]
747#[facet(rename = "em")]
748pub struct Em {
749 #[facet(flatten, default)]
751 pub attrs: GlobalAttrs,
752 #[facet(xml::elements, default)]
754 #[facet(recursive_type)]
755 pub children: Vec<PhrasingContent>,
756}
757
758#[derive(Debug, Clone, PartialEq, Default, Facet)]
760#[facet(rename = "strong")]
761pub struct Strong {
762 #[facet(flatten, default)]
764 pub attrs: GlobalAttrs,
765 #[facet(xml::elements, default)]
767 #[facet(recursive_type)]
768 pub children: Vec<PhrasingContent>,
769}
770
771#[derive(Debug, Clone, PartialEq, Default, Facet)]
773#[facet(rename = "small")]
774pub struct Small {
775 #[facet(flatten, default)]
777 pub attrs: GlobalAttrs,
778 #[facet(xml::elements, default)]
780 #[facet(recursive_type)]
781 pub children: Vec<PhrasingContent>,
782}
783
784#[derive(Debug, Clone, PartialEq, Default, Facet)]
786#[facet(rename = "s")]
787pub struct S {
788 #[facet(flatten, default)]
790 pub attrs: GlobalAttrs,
791 #[facet(xml::elements, default)]
793 #[facet(recursive_type)]
794 pub children: Vec<PhrasingContent>,
795}
796
797#[derive(Debug, Clone, PartialEq, Default, Facet)]
799#[facet(rename = "cite")]
800pub struct Cite {
801 #[facet(flatten, default)]
803 pub attrs: GlobalAttrs,
804 #[facet(xml::elements, default)]
806 #[facet(recursive_type)]
807 pub children: Vec<PhrasingContent>,
808}
809
810#[derive(Debug, Clone, PartialEq, Default, Facet)]
812#[facet(rename = "q")]
813pub struct Q {
814 #[facet(flatten, default)]
816 pub attrs: GlobalAttrs,
817 #[facet(default)]
819 pub cite: Option<String>,
820 #[facet(xml::elements, default)]
822 #[facet(recursive_type)]
823 pub children: Vec<PhrasingContent>,
824}
825
826#[derive(Debug, Clone, PartialEq, Default, Facet)]
828#[facet(rename = "dfn")]
829pub struct Dfn {
830 #[facet(flatten, default)]
832 pub attrs: GlobalAttrs,
833 #[facet(xml::elements, default)]
835 #[facet(recursive_type)]
836 pub children: Vec<PhrasingContent>,
837}
838
839#[derive(Debug, Clone, PartialEq, Default, Facet)]
841#[facet(rename = "abbr")]
842pub struct Abbr {
843 #[facet(flatten, default)]
845 pub attrs: GlobalAttrs,
846 #[facet(xml::elements, default)]
848 #[facet(recursive_type)]
849 pub children: Vec<PhrasingContent>,
850}
851
852#[derive(Debug, Clone, PartialEq, Default, Facet)]
854#[facet(rename = "ruby")]
855pub struct Ruby {
856 #[facet(flatten, default)]
858 pub attrs: GlobalAttrs,
859 #[facet(xml::elements, default)]
861 #[facet(recursive_type)]
862 pub children: Vec<PhrasingContent>,
863}
864
865#[derive(Debug, Clone, PartialEq, Default, Facet)]
867#[facet(rename = "data")]
868pub struct Data {
869 #[facet(flatten, default)]
871 pub attrs: GlobalAttrs,
872 #[facet(default)]
874 pub value: Option<String>,
875 #[facet(xml::elements, default)]
877 #[facet(recursive_type)]
878 pub children: Vec<PhrasingContent>,
879}
880
881#[derive(Debug, Clone, PartialEq, Default, Facet)]
883#[facet(rename = "time")]
884pub struct Time {
885 #[facet(flatten, default)]
887 pub attrs: GlobalAttrs,
888 #[facet(default)]
890 pub datetime: Option<String>,
891 #[facet(xml::elements, default)]
893 #[facet(recursive_type)]
894 pub children: Vec<PhrasingContent>,
895}
896
897#[derive(Debug, Clone, PartialEq, Default, Facet)]
899#[facet(rename = "code")]
900pub struct Code {
901 #[facet(flatten, default)]
903 pub attrs: GlobalAttrs,
904 #[facet(xml::elements, default)]
906 #[facet(recursive_type)]
907 pub children: Vec<PhrasingContent>,
908}
909
910#[derive(Debug, Clone, PartialEq, Default, Facet)]
912#[facet(rename = "var")]
913pub struct Var {
914 #[facet(flatten, default)]
916 pub attrs: GlobalAttrs,
917 #[facet(xml::elements, default)]
919 #[facet(recursive_type)]
920 pub children: Vec<PhrasingContent>,
921}
922
923#[derive(Debug, Clone, PartialEq, Default, Facet)]
925#[facet(rename = "samp")]
926pub struct Samp {
927 #[facet(flatten, default)]
929 pub attrs: GlobalAttrs,
930 #[facet(xml::elements, default)]
932 #[facet(recursive_type)]
933 pub children: Vec<PhrasingContent>,
934}
935
936#[derive(Debug, Clone, PartialEq, Default, Facet)]
938#[facet(rename = "kbd")]
939pub struct Kbd {
940 #[facet(flatten, default)]
942 pub attrs: GlobalAttrs,
943 #[facet(xml::elements, default)]
945 #[facet(recursive_type)]
946 pub children: Vec<PhrasingContent>,
947}
948
949#[derive(Debug, Clone, PartialEq, Default, Facet)]
951#[facet(rename = "sub")]
952pub struct Sub {
953 #[facet(flatten, default)]
955 pub attrs: GlobalAttrs,
956 #[facet(xml::elements, default)]
958 #[facet(recursive_type)]
959 pub children: Vec<PhrasingContent>,
960}
961
962#[derive(Debug, Clone, PartialEq, Default, Facet)]
964#[facet(rename = "sup")]
965pub struct Sup {
966 #[facet(flatten, default)]
968 pub attrs: GlobalAttrs,
969 #[facet(xml::elements, default)]
971 #[facet(recursive_type)]
972 pub children: Vec<PhrasingContent>,
973}
974
975#[derive(Debug, Clone, PartialEq, Default, Facet)]
977#[facet(rename = "i")]
978pub struct I {
979 #[facet(flatten, default)]
981 pub attrs: GlobalAttrs,
982 #[facet(xml::elements, default)]
984 #[facet(recursive_type)]
985 pub children: Vec<PhrasingContent>,
986}
987
988#[derive(Debug, Clone, PartialEq, Default, Facet)]
990#[facet(rename = "b")]
991pub struct B {
992 #[facet(flatten, default)]
994 pub attrs: GlobalAttrs,
995 #[facet(xml::elements, default)]
997 #[facet(recursive_type)]
998 pub children: Vec<PhrasingContent>,
999}
1000
1001#[derive(Debug, Clone, PartialEq, Default, Facet)]
1003#[facet(rename = "u")]
1004pub struct U {
1005 #[facet(flatten, default)]
1007 pub attrs: GlobalAttrs,
1008 #[facet(xml::elements, default)]
1010 #[facet(recursive_type)]
1011 pub children: Vec<PhrasingContent>,
1012}
1013
1014#[derive(Debug, Clone, PartialEq, Default, Facet)]
1016#[facet(rename = "mark")]
1017pub struct Mark {
1018 #[facet(flatten, default)]
1020 pub attrs: GlobalAttrs,
1021 #[facet(xml::elements, default)]
1023 #[facet(recursive_type)]
1024 pub children: Vec<PhrasingContent>,
1025}
1026
1027#[derive(Debug, Clone, PartialEq, Default, Facet)]
1029#[facet(rename = "bdi")]
1030pub struct Bdi {
1031 #[facet(flatten, default)]
1033 pub attrs: GlobalAttrs,
1034 #[facet(xml::elements, default)]
1036 #[facet(recursive_type)]
1037 pub children: Vec<PhrasingContent>,
1038}
1039
1040#[derive(Debug, Clone, PartialEq, Default, Facet)]
1042#[facet(rename = "bdo")]
1043pub struct Bdo {
1044 #[facet(flatten, default)]
1046 pub attrs: GlobalAttrs,
1047 #[facet(xml::elements, default)]
1049 #[facet(recursive_type)]
1050 pub children: Vec<PhrasingContent>,
1051}
1052
1053#[derive(Debug, Clone, PartialEq, Default, Facet)]
1055#[facet(rename = "br")]
1056pub struct Br {
1057 #[facet(flatten, default)]
1059 pub attrs: GlobalAttrs,
1060}
1061
1062#[derive(Debug, Clone, PartialEq, Default, Facet)]
1064#[facet(rename = "wbr")]
1065pub struct Wbr {
1066 #[facet(flatten, default)]
1068 pub attrs: GlobalAttrs,
1069}
1070
1071#[derive(Debug, Clone, PartialEq, Default, Facet)]
1077#[facet(rename = "img")]
1078pub struct Img {
1079 #[facet(flatten, default)]
1081 pub attrs: GlobalAttrs,
1082 #[facet(default)]
1084 pub src: Option<String>,
1085 #[facet(default)]
1087 pub alt: Option<String>,
1088 #[facet(default)]
1090 pub width: Option<String>,
1091 #[facet(default)]
1093 pub height: Option<String>,
1094 #[facet(default)]
1096 pub srcset: Option<String>,
1097 #[facet(default)]
1099 pub sizes: Option<String>,
1100 #[facet(default)]
1102 pub loading: Option<String>,
1103 #[facet(default)]
1105 pub decoding: Option<String>,
1106 #[facet(default)]
1108 pub crossorigin: Option<String>,
1109 #[facet(default)]
1111 pub referrerpolicy: Option<String>,
1112 #[facet(default)]
1114 pub usemap: Option<String>,
1115 #[facet(default)]
1117 pub ismap: Option<String>,
1118}
1119
1120#[derive(Debug, Clone, PartialEq, Default, Facet)]
1122#[facet(rename = "iframe")]
1123pub struct Iframe {
1124 #[facet(flatten, default)]
1126 pub attrs: GlobalAttrs,
1127 #[facet(default)]
1129 pub src: Option<String>,
1130 #[facet(default)]
1132 pub srcdoc: Option<String>,
1133 #[facet(default)]
1135 pub name: Option<String>,
1136 #[facet(default)]
1138 pub width: Option<String>,
1139 #[facet(default)]
1141 pub height: Option<String>,
1142 #[facet(default)]
1144 pub sandbox: Option<String>,
1145 #[facet(default)]
1147 pub allow: Option<String>,
1148 #[facet(default)]
1150 pub allowfullscreen: Option<String>,
1151 #[facet(default)]
1153 pub loading: Option<String>,
1154 #[facet(default)]
1156 pub referrerpolicy: Option<String>,
1157}
1158
1159#[derive(Debug, Clone, PartialEq, Default, Facet)]
1161#[facet(rename = "object")]
1162pub struct Object {
1163 #[facet(flatten, default)]
1165 pub attrs: GlobalAttrs,
1166 #[facet(default)]
1168 pub data: Option<String>,
1169 #[facet(default, rename = "type")]
1171 pub type_: Option<String>,
1172 #[facet(default)]
1174 pub name: Option<String>,
1175 #[facet(default)]
1177 pub width: Option<String>,
1178 #[facet(default)]
1180 pub height: Option<String>,
1181 #[facet(default)]
1183 pub usemap: Option<String>,
1184 #[facet(xml::elements, default)]
1186 #[facet(recursive_type)]
1187 pub children: Vec<FlowContent>,
1188}
1189
1190#[derive(Debug, Clone, PartialEq, Default, Facet)]
1192#[facet(rename = "video")]
1193pub struct Video {
1194 #[facet(flatten, default)]
1196 pub attrs: GlobalAttrs,
1197 #[facet(default)]
1199 pub src: Option<String>,
1200 #[facet(default)]
1202 pub poster: Option<String>,
1203 #[facet(default)]
1205 pub width: Option<String>,
1206 #[facet(default)]
1208 pub height: Option<String>,
1209 #[facet(default)]
1211 pub controls: Option<String>,
1212 #[facet(default)]
1214 pub autoplay: Option<String>,
1215 #[facet(default, rename = "loop")]
1217 pub loop_: Option<String>,
1218 #[facet(default)]
1220 pub muted: Option<String>,
1221 #[facet(default)]
1223 pub preload: Option<String>,
1224 #[facet(default)]
1226 pub playsinline: Option<String>,
1227 #[facet(default)]
1229 pub crossorigin: Option<String>,
1230 #[facet(default)]
1232 pub source: Vec<Source>,
1233 #[facet(default)]
1235 pub track: Vec<Track>,
1236}
1237
1238#[derive(Debug, Clone, PartialEq, Default, Facet)]
1240#[facet(rename = "audio")]
1241pub struct Audio {
1242 #[facet(flatten, default)]
1244 pub attrs: GlobalAttrs,
1245 #[facet(default)]
1247 pub src: Option<String>,
1248 #[facet(default)]
1250 pub controls: Option<String>,
1251 #[facet(default)]
1253 pub autoplay: Option<String>,
1254 #[facet(default, rename = "loop")]
1256 pub loop_: Option<String>,
1257 #[facet(default)]
1259 pub muted: Option<String>,
1260 #[facet(default)]
1262 pub preload: Option<String>,
1263 #[facet(default)]
1265 pub crossorigin: Option<String>,
1266 #[facet(default)]
1268 pub source: Vec<Source>,
1269}
1270
1271#[derive(Debug, Clone, PartialEq, Default, Facet)]
1273#[facet(rename = "source")]
1274pub struct Source {
1275 #[facet(flatten, default)]
1277 pub attrs: GlobalAttrs,
1278 #[facet(default)]
1280 pub src: Option<String>,
1281 #[facet(default, rename = "type")]
1283 pub type_: Option<String>,
1284 #[facet(default)]
1286 pub srcset: Option<String>,
1287 #[facet(default)]
1289 pub sizes: Option<String>,
1290 #[facet(default)]
1292 pub media: Option<String>,
1293 #[facet(default)]
1295 pub width: Option<String>,
1296 #[facet(default)]
1298 pub height: Option<String>,
1299}
1300
1301#[derive(Debug, Clone, PartialEq, Default, Facet)]
1303#[facet(rename = "track")]
1304pub struct Track {
1305 #[facet(flatten, default)]
1307 pub attrs: GlobalAttrs,
1308 #[facet(default)]
1310 pub src: Option<String>,
1311 #[facet(default)]
1313 pub kind: Option<String>,
1314 #[facet(default)]
1316 pub srclang: Option<String>,
1317 #[facet(default)]
1319 pub label: Option<String>,
1320 #[facet(default)]
1322 pub default: Option<String>,
1323}
1324
1325#[derive(Debug, Clone, PartialEq, Default, Facet)]
1327#[facet(rename = "picture")]
1328pub struct Picture {
1329 #[facet(flatten, default)]
1331 pub attrs: GlobalAttrs,
1332 #[facet(default)]
1334 pub source: Vec<Source>,
1335 #[facet(default)]
1337 pub img: Option<Img>,
1338}
1339
1340#[derive(Debug, Clone, PartialEq, Default, Facet)]
1342#[facet(rename = "canvas")]
1343pub struct Canvas {
1344 #[facet(flatten, default)]
1346 pub attrs: GlobalAttrs,
1347 #[facet(default)]
1349 pub width: Option<String>,
1350 #[facet(default)]
1352 pub height: Option<String>,
1353 #[facet(xml::elements, default)]
1355 #[facet(recursive_type)]
1356 pub children: Vec<FlowContent>,
1357}
1358
1359#[derive(Debug, Clone, PartialEq, Default, Facet)]
1361#[facet(rename = "svg")]
1362pub struct Svg {
1363 #[facet(flatten, default)]
1365 pub attrs: GlobalAttrs,
1366 #[facet(default)]
1368 pub width: Option<String>,
1369 #[facet(default)]
1371 pub height: Option<String>,
1372 #[facet(default, rename = "viewBox")]
1374 pub view_box: Option<String>,
1375 #[facet(default)]
1377 pub xmlns: Option<String>,
1378 #[facet(default, rename = "preserveAspectRatio")]
1380 pub preserve_aspect_ratio: Option<String>,
1381}
1382
1383#[derive(Debug, Clone, PartialEq, Default, Facet)]
1389#[facet(rename = "table")]
1390pub struct Table {
1391 #[facet(flatten, default)]
1393 pub attrs: GlobalAttrs,
1394 #[facet(default)]
1396 pub caption: Option<Caption>,
1397 #[facet(default)]
1399 pub colgroup: Vec<Colgroup>,
1400 #[facet(default)]
1402 pub thead: Option<Thead>,
1403 #[facet(default)]
1405 pub tbody: Vec<Tbody>,
1406 #[facet(default)]
1408 pub tfoot: Option<Tfoot>,
1409 #[facet(default)]
1411 pub tr: Vec<Tr>,
1412}
1413
1414#[derive(Debug, Clone, PartialEq, Default, Facet)]
1416#[facet(rename = "caption")]
1417pub struct Caption {
1418 #[facet(flatten, default)]
1420 pub attrs: GlobalAttrs,
1421 #[facet(xml::elements, default)]
1423 #[facet(recursive_type)]
1424 pub children: Vec<FlowContent>,
1425}
1426
1427#[derive(Debug, Clone, PartialEq, Default, Facet)]
1429#[facet(rename = "colgroup")]
1430pub struct Colgroup {
1431 #[facet(flatten, default)]
1433 pub attrs: GlobalAttrs,
1434 #[facet(default)]
1436 pub span: Option<String>,
1437 #[facet(default)]
1439 pub col: Vec<Col>,
1440}
1441
1442#[derive(Debug, Clone, PartialEq, Default, Facet)]
1444#[facet(rename = "col")]
1445pub struct Col {
1446 #[facet(flatten, default)]
1448 pub attrs: GlobalAttrs,
1449 #[facet(default)]
1451 pub span: Option<String>,
1452}
1453
1454#[derive(Debug, Clone, PartialEq, Default, Facet)]
1456#[facet(rename = "thead")]
1457pub struct Thead {
1458 #[facet(flatten, default)]
1460 pub attrs: GlobalAttrs,
1461 #[facet(default)]
1463 pub tr: Vec<Tr>,
1464}
1465
1466#[derive(Debug, Clone, PartialEq, Default, Facet)]
1468#[facet(rename = "tbody")]
1469pub struct Tbody {
1470 #[facet(flatten, default)]
1472 pub attrs: GlobalAttrs,
1473 #[facet(default)]
1475 pub tr: Vec<Tr>,
1476}
1477
1478#[derive(Debug, Clone, PartialEq, Default, Facet)]
1480#[facet(rename = "tfoot")]
1481pub struct Tfoot {
1482 #[facet(flatten, default)]
1484 pub attrs: GlobalAttrs,
1485 #[facet(default)]
1487 pub tr: Vec<Tr>,
1488}
1489
1490#[derive(Debug, Clone, PartialEq, Default, Facet)]
1492#[facet(rename = "tr")]
1493pub struct Tr {
1494 #[facet(flatten, default)]
1496 pub attrs: GlobalAttrs,
1497 #[facet(default)]
1499 pub th: Vec<Th>,
1500 #[facet(default)]
1502 pub td: Vec<Td>,
1503}
1504
1505#[derive(Debug, Clone, PartialEq, Default, Facet)]
1507#[facet(rename = "th")]
1508pub struct Th {
1509 #[facet(flatten, default)]
1511 pub attrs: GlobalAttrs,
1512 #[facet(default)]
1514 pub colspan: Option<String>,
1515 #[facet(default)]
1517 pub rowspan: Option<String>,
1518 #[facet(default)]
1520 pub scope: Option<String>,
1521 #[facet(default)]
1523 pub headers: Option<String>,
1524 #[facet(default)]
1526 pub abbr: Option<String>,
1527 #[facet(xml::elements, default)]
1529 #[facet(recursive_type)]
1530 pub children: Vec<FlowContent>,
1531}
1532
1533#[derive(Debug, Clone, PartialEq, Default, Facet)]
1535#[facet(rename = "td")]
1536pub struct Td {
1537 #[facet(flatten, default)]
1539 pub attrs: GlobalAttrs,
1540 #[facet(default)]
1542 pub colspan: Option<String>,
1543 #[facet(default)]
1545 pub rowspan: Option<String>,
1546 #[facet(default)]
1548 pub headers: Option<String>,
1549 #[facet(xml::elements, default)]
1551 #[facet(recursive_type)]
1552 pub children: Vec<FlowContent>,
1553}
1554
1555#[derive(Debug, Clone, PartialEq, Default, Facet)]
1561#[facet(rename = "form")]
1562pub struct Form {
1563 #[facet(flatten, default)]
1565 pub attrs: GlobalAttrs,
1566 #[facet(default)]
1568 pub action: Option<String>,
1569 #[facet(default)]
1571 pub method: Option<String>,
1572 #[facet(default)]
1574 pub enctype: Option<String>,
1575 #[facet(default)]
1577 pub target: Option<String>,
1578 #[facet(default)]
1580 pub name: Option<String>,
1581 #[facet(default)]
1583 pub autocomplete: Option<String>,
1584 #[facet(default)]
1586 pub novalidate: Option<String>,
1587 #[facet(default, rename = "accept-charset")]
1589 pub accept_charset: Option<String>,
1590 #[facet(xml::elements, default)]
1592 #[facet(recursive_type)]
1593 pub children: Vec<FlowContent>,
1594}
1595
1596#[derive(Debug, Clone, PartialEq, Default, Facet)]
1598#[facet(rename = "input")]
1599pub struct Input {
1600 #[facet(flatten, default)]
1602 pub attrs: GlobalAttrs,
1603 #[facet(default, rename = "type")]
1605 pub type_: Option<String>,
1606 #[facet(default)]
1608 pub name: Option<String>,
1609 #[facet(default)]
1611 pub value: Option<String>,
1612 #[facet(default)]
1614 pub placeholder: Option<String>,
1615 #[facet(default)]
1617 pub required: Option<String>,
1618 #[facet(default)]
1620 pub disabled: Option<String>,
1621 #[facet(default)]
1623 pub readonly: Option<String>,
1624 #[facet(default)]
1626 pub checked: Option<String>,
1627 #[facet(default)]
1629 pub autocomplete: Option<String>,
1630 #[facet(default)]
1632 pub autofocus: Option<String>,
1633 #[facet(default)]
1635 pub min: Option<String>,
1636 #[facet(default)]
1638 pub max: Option<String>,
1639 #[facet(default)]
1641 pub step: Option<String>,
1642 #[facet(default)]
1644 pub pattern: Option<String>,
1645 #[facet(default)]
1647 pub size: Option<String>,
1648 #[facet(default)]
1650 pub maxlength: Option<String>,
1651 #[facet(default)]
1653 pub minlength: Option<String>,
1654 #[facet(default)]
1656 pub multiple: Option<String>,
1657 #[facet(default)]
1659 pub accept: Option<String>,
1660 #[facet(default)]
1662 pub alt: Option<String>,
1663 #[facet(default)]
1665 pub src: Option<String>,
1666 #[facet(default)]
1668 pub width: Option<String>,
1669 #[facet(default)]
1671 pub height: Option<String>,
1672 #[facet(default)]
1674 pub list: Option<String>,
1675 #[facet(default)]
1677 pub form: Option<String>,
1678 #[facet(default)]
1680 pub formaction: Option<String>,
1681 #[facet(default)]
1683 pub formmethod: Option<String>,
1684 #[facet(default)]
1686 pub formenctype: Option<String>,
1687 #[facet(default)]
1689 pub formtarget: Option<String>,
1690 #[facet(default)]
1692 pub formnovalidate: Option<String>,
1693}
1694
1695#[derive(Debug, Clone, PartialEq, Default, Facet)]
1697#[facet(rename = "button")]
1698pub struct Button {
1699 #[facet(flatten, default)]
1701 pub attrs: GlobalAttrs,
1702 #[facet(default, rename = "type")]
1704 pub type_: Option<String>,
1705 #[facet(default)]
1707 pub name: Option<String>,
1708 #[facet(default)]
1710 pub value: Option<String>,
1711 #[facet(default)]
1713 pub disabled: Option<String>,
1714 #[facet(default)]
1716 pub autofocus: Option<String>,
1717 #[facet(default)]
1719 pub form: Option<String>,
1720 #[facet(default)]
1722 pub formaction: Option<String>,
1723 #[facet(default)]
1725 pub formmethod: Option<String>,
1726 #[facet(default)]
1728 pub formenctype: Option<String>,
1729 #[facet(default)]
1731 pub formtarget: Option<String>,
1732 #[facet(default)]
1734 pub formnovalidate: Option<String>,
1735 #[facet(xml::elements, default)]
1737 #[facet(recursive_type)]
1738 pub children: Vec<PhrasingContent>,
1739}
1740
1741#[derive(Debug, Clone, PartialEq, Default, Facet)]
1743#[facet(rename = "select")]
1744pub struct Select {
1745 #[facet(flatten, default)]
1747 pub attrs: GlobalAttrs,
1748 #[facet(default)]
1750 pub name: Option<String>,
1751 #[facet(default)]
1753 pub multiple: Option<String>,
1754 #[facet(default)]
1756 pub size: Option<String>,
1757 #[facet(default)]
1759 pub required: Option<String>,
1760 #[facet(default)]
1762 pub disabled: Option<String>,
1763 #[facet(default)]
1765 pub autofocus: Option<String>,
1766 #[facet(default)]
1768 pub autocomplete: Option<String>,
1769 #[facet(default)]
1771 pub form: Option<String>,
1772 #[facet(default)]
1774 pub option: Vec<OptionElement>,
1775 #[facet(default)]
1777 pub optgroup: Vec<Optgroup>,
1778}
1779
1780#[derive(Debug, Clone, PartialEq, Default, Facet)]
1782#[facet(rename = "option")]
1783pub struct OptionElement {
1784 #[facet(flatten, default)]
1786 pub attrs: GlobalAttrs,
1787 #[facet(default)]
1789 pub value: Option<String>,
1790 #[facet(default)]
1792 pub selected: Option<String>,
1793 #[facet(default)]
1795 pub disabled: Option<String>,
1796 #[facet(default)]
1798 pub label: Option<String>,
1799 #[facet(xml::text, default)]
1801 pub text: String,
1802}
1803
1804#[derive(Debug, Clone, PartialEq, Default, Facet)]
1806#[facet(rename = "optgroup")]
1807pub struct Optgroup {
1808 #[facet(flatten, default)]
1810 pub attrs: GlobalAttrs,
1811 #[facet(default)]
1813 pub label: Option<String>,
1814 #[facet(default)]
1816 pub disabled: Option<String>,
1817 #[facet(default)]
1819 pub option: Vec<OptionElement>,
1820}
1821
1822#[derive(Debug, Clone, PartialEq, Default, Facet)]
1824#[facet(rename = "textarea")]
1825pub struct Textarea {
1826 #[facet(flatten, default)]
1828 pub attrs: GlobalAttrs,
1829 #[facet(default)]
1831 pub name: Option<String>,
1832 #[facet(default)]
1834 pub rows: Option<String>,
1835 #[facet(default)]
1837 pub cols: Option<String>,
1838 #[facet(default)]
1840 pub placeholder: Option<String>,
1841 #[facet(default)]
1843 pub required: Option<String>,
1844 #[facet(default)]
1846 pub disabled: Option<String>,
1847 #[facet(default)]
1849 pub readonly: Option<String>,
1850 #[facet(default)]
1852 pub autofocus: Option<String>,
1853 #[facet(default)]
1855 pub autocomplete: Option<String>,
1856 #[facet(default)]
1858 pub maxlength: Option<String>,
1859 #[facet(default)]
1861 pub minlength: Option<String>,
1862 #[facet(default)]
1864 pub wrap: Option<String>,
1865 #[facet(default)]
1867 pub form: Option<String>,
1868 #[facet(xml::text, default)]
1870 pub text: String,
1871}
1872
1873#[derive(Debug, Clone, PartialEq, Default, Facet)]
1875#[facet(rename = "label")]
1876pub struct Label {
1877 #[facet(flatten, default)]
1879 pub attrs: GlobalAttrs,
1880 #[facet(default, rename = "for")]
1882 pub for_: Option<String>,
1883 #[facet(xml::elements, default)]
1885 #[facet(recursive_type)]
1886 pub children: Vec<PhrasingContent>,
1887}
1888
1889#[derive(Debug, Clone, PartialEq, Default, Facet)]
1891#[facet(rename = "fieldset")]
1892pub struct Fieldset {
1893 #[facet(flatten, default)]
1895 pub attrs: GlobalAttrs,
1896 #[facet(default)]
1898 pub name: Option<String>,
1899 #[facet(default)]
1901 pub disabled: Option<String>,
1902 #[facet(default)]
1904 pub form: Option<String>,
1905 #[facet(default)]
1907 pub legend: Option<Legend>,
1908 #[facet(xml::elements, default)]
1910 #[facet(recursive_type)]
1911 pub children: Vec<FlowContent>,
1912}
1913
1914#[derive(Debug, Clone, PartialEq, Default, Facet)]
1916#[facet(rename = "legend")]
1917pub struct Legend {
1918 #[facet(flatten, default)]
1920 pub attrs: GlobalAttrs,
1921 #[facet(xml::elements, default)]
1923 #[facet(recursive_type)]
1924 pub children: Vec<PhrasingContent>,
1925}
1926
1927#[derive(Debug, Clone, PartialEq, Default, Facet)]
1929#[facet(rename = "datalist")]
1930pub struct Datalist {
1931 #[facet(flatten, default)]
1933 pub attrs: GlobalAttrs,
1934 #[facet(default)]
1936 pub option: Vec<OptionElement>,
1937}
1938
1939#[derive(Debug, Clone, PartialEq, Default, Facet)]
1941#[facet(rename = "output")]
1942pub struct Output {
1943 #[facet(flatten, default)]
1945 pub attrs: GlobalAttrs,
1946 #[facet(default, rename = "for")]
1948 pub for_: Option<String>,
1949 #[facet(default)]
1951 pub name: Option<String>,
1952 #[facet(default)]
1954 pub form: Option<String>,
1955 #[facet(xml::elements, default)]
1957 #[facet(recursive_type)]
1958 pub children: Vec<PhrasingContent>,
1959}
1960
1961#[derive(Debug, Clone, PartialEq, Default, Facet)]
1963#[facet(rename = "progress")]
1964pub struct Progress {
1965 #[facet(flatten, default)]
1967 pub attrs: GlobalAttrs,
1968 #[facet(default)]
1970 pub value: Option<String>,
1971 #[facet(default)]
1973 pub max: Option<String>,
1974 #[facet(xml::elements, default)]
1976 #[facet(recursive_type)]
1977 pub children: Vec<PhrasingContent>,
1978}
1979
1980#[derive(Debug, Clone, PartialEq, Default, Facet)]
1982#[facet(rename = "meter")]
1983pub struct Meter {
1984 #[facet(flatten, default)]
1986 pub attrs: GlobalAttrs,
1987 #[facet(default)]
1989 pub value: Option<String>,
1990 #[facet(default)]
1992 pub min: Option<String>,
1993 #[facet(default)]
1995 pub max: Option<String>,
1996 #[facet(default)]
1998 pub low: Option<String>,
1999 #[facet(default)]
2001 pub high: Option<String>,
2002 #[facet(default)]
2004 pub optimum: Option<String>,
2005 #[facet(xml::elements, default)]
2007 #[facet(recursive_type)]
2008 pub children: Vec<PhrasingContent>,
2009}
2010
2011#[derive(Debug, Clone, PartialEq, Default, Facet)]
2017#[facet(rename = "details")]
2018pub struct Details {
2019 #[facet(flatten, default)]
2021 pub attrs: GlobalAttrs,
2022 #[facet(default)]
2024 pub open: Option<String>,
2025 #[facet(default)]
2027 pub summary: Option<Summary>,
2028 #[facet(xml::elements, default)]
2030 #[facet(recursive_type)]
2031 pub children: Vec<FlowContent>,
2032}
2033
2034#[derive(Debug, Clone, PartialEq, Default, Facet)]
2036#[facet(rename = "summary")]
2037pub struct Summary {
2038 #[facet(flatten, default)]
2040 pub attrs: GlobalAttrs,
2041 #[facet(xml::elements, default)]
2043 #[facet(recursive_type)]
2044 pub children: Vec<PhrasingContent>,
2045}
2046
2047#[derive(Debug, Clone, PartialEq, Default, Facet)]
2049#[facet(rename = "dialog")]
2050pub struct Dialog {
2051 #[facet(flatten, default)]
2053 pub attrs: GlobalAttrs,
2054 #[facet(default)]
2056 pub open: Option<String>,
2057 #[facet(xml::elements, default)]
2059 #[facet(recursive_type)]
2060 pub children: Vec<FlowContent>,
2061}
2062
2063#[derive(Debug, Clone, PartialEq, Default, Facet)]
2069#[facet(rename = "script")]
2070pub struct Script {
2071 #[facet(flatten, default)]
2073 pub attrs: GlobalAttrs,
2074 #[facet(default)]
2076 pub src: Option<String>,
2077 #[facet(default, rename = "type")]
2079 pub type_: Option<String>,
2080 #[facet(default, rename = "async")]
2082 pub async_: Option<String>,
2083 #[facet(default)]
2085 pub defer: Option<String>,
2086 #[facet(default)]
2088 pub crossorigin: Option<String>,
2089 #[facet(default)]
2091 pub integrity: Option<String>,
2092 #[facet(default)]
2094 pub referrerpolicy: Option<String>,
2095 #[facet(default)]
2097 pub nomodule: Option<String>,
2098 #[facet(default)]
2100 pub text: String,
2101}
2102
2103#[derive(Debug, Clone, PartialEq, Default, Facet)]
2105#[facet(rename = "noscript")]
2106pub struct Noscript {
2107 #[facet(flatten, default)]
2109 pub attrs: GlobalAttrs,
2110 #[facet(xml::elements, default)]
2112 #[facet(recursive_type)]
2113 pub children: Vec<FlowContent>,
2114}
2115
2116#[derive(Debug, Clone, PartialEq, Default, Facet)]
2118#[facet(rename = "template")]
2119pub struct Template {
2120 #[facet(flatten, default)]
2122 pub attrs: GlobalAttrs,
2123 #[facet(xml::elements, default)]
2125 #[facet(recursive_type)]
2126 pub children: Vec<FlowContent>,
2127}
2128
2129#[derive(Debug, Clone, PartialEq, Default, Facet)]
2131#[facet(rename = "slot")]
2132pub struct Slot {
2133 #[facet(flatten, default)]
2135 pub attrs: GlobalAttrs,
2136 #[facet(default)]
2138 pub name: Option<String>,
2139 #[facet(xml::elements, default)]
2141 #[facet(recursive_type)]
2142 pub children: Vec<FlowContent>,
2143}
2144
2145#[derive(Debug, Clone, PartialEq, Facet)]
2151#[repr(u8)]
2152#[allow(clippy::large_enum_variant)] pub enum FlowContent {
2154 #[facet(rename = "_text")]
2156 Text(String),
2157
2158 #[facet(rename = "header")]
2161 Header(Header),
2162 #[facet(rename = "footer")]
2164 Footer(Footer),
2165 #[facet(rename = "main")]
2167 Main(Main),
2168 #[facet(rename = "article")]
2170 Article(Article),
2171 #[facet(rename = "section")]
2173 Section(Section),
2174 #[facet(rename = "nav")]
2176 Nav(Nav),
2177 #[facet(rename = "aside")]
2179 Aside(Aside),
2180 #[facet(rename = "address")]
2182 Address(Address),
2183
2184 #[facet(rename = "h1")]
2187 H1(H1),
2188 #[facet(rename = "h2")]
2190 H2(H2),
2191 #[facet(rename = "h3")]
2193 H3(H3),
2194 #[facet(rename = "h4")]
2196 H4(H4),
2197 #[facet(rename = "h5")]
2199 H5(H5),
2200 #[facet(rename = "h6")]
2202 H6(H6),
2203
2204 #[facet(rename = "p")]
2207 P(P),
2208 #[facet(rename = "div")]
2210 Div(Div),
2211 #[facet(rename = "pre")]
2213 Pre(Pre),
2214 #[facet(rename = "blockquote")]
2216 Blockquote(Blockquote),
2217 #[facet(rename = "ol")]
2219 Ol(Ol),
2220 #[facet(rename = "ul")]
2222 Ul(Ul),
2223 #[facet(rename = "dl")]
2225 Dl(Dl),
2226 #[facet(rename = "figure")]
2228 Figure(Figure),
2229 #[facet(rename = "hr")]
2231 Hr(Hr),
2232
2233 #[facet(rename = "a")]
2236 A(A),
2237 #[facet(rename = "span")]
2239 Span(Span),
2240 #[facet(rename = "em")]
2242 Em(Em),
2243 #[facet(rename = "strong")]
2245 Strong(Strong),
2246 #[facet(rename = "code")]
2248 Code(Code),
2249 #[facet(rename = "img")]
2251 Img(Img),
2252 #[facet(rename = "br")]
2254 Br(Br),
2255
2256 #[facet(rename = "table")]
2259 Table(Table),
2260
2261 #[facet(rename = "form")]
2264 Form(Form),
2265 #[facet(rename = "input")]
2267 Input(Input),
2268 #[facet(rename = "button")]
2270 Button(Button),
2271 #[facet(rename = "select")]
2273 Select(Select),
2274 #[facet(rename = "textarea")]
2276 Textarea(Textarea),
2277 #[facet(rename = "label")]
2279 Label(Label),
2280 #[facet(rename = "fieldset")]
2282 Fieldset(Fieldset),
2283
2284 #[facet(rename = "details")]
2287 Details(Details),
2288 #[facet(rename = "dialog")]
2290 Dialog(Dialog),
2291
2292 #[facet(rename = "iframe")]
2295 Iframe(Iframe),
2296 #[facet(rename = "video")]
2298 Video(Video),
2299 #[facet(rename = "audio")]
2301 Audio(Audio),
2302 #[facet(rename = "picture")]
2304 Picture(Picture),
2305 #[facet(rename = "canvas")]
2307 Canvas(Canvas),
2308 #[facet(rename = "svg")]
2310 Svg(Svg),
2311
2312 #[facet(rename = "script")]
2315 Script(Script),
2316 #[facet(rename = "noscript")]
2318 Noscript(Noscript),
2319 #[facet(rename = "template")]
2321 Template(Template),
2322}
2323
2324#[derive(Debug, Clone, PartialEq, Facet)]
2326#[repr(u8)]
2327#[allow(clippy::large_enum_variant)] pub enum PhrasingContent {
2329 #[facet(rename = "_text")]
2331 Text(String),
2332 #[facet(rename = "a")]
2334 A(A),
2335 #[facet(rename = "span")]
2337 Span(Span),
2338 #[facet(rename = "em")]
2340 Em(Em),
2341 #[facet(rename = "strong")]
2343 Strong(Strong),
2344 #[facet(rename = "small")]
2346 Small(Small),
2347 #[facet(rename = "s")]
2349 S(S),
2350 #[facet(rename = "cite")]
2352 Cite(Cite),
2353 #[facet(rename = "q")]
2355 Q(Q),
2356 #[facet(rename = "dfn")]
2358 Dfn(Dfn),
2359 #[facet(rename = "abbr")]
2361 Abbr(Abbr),
2362 #[facet(rename = "data")]
2364 Data(Data),
2365 #[facet(rename = "time")]
2367 Time(Time),
2368 #[facet(rename = "code")]
2370 Code(Code),
2371 #[facet(rename = "var")]
2373 Var(Var),
2374 #[facet(rename = "samp")]
2376 Samp(Samp),
2377 #[facet(rename = "kbd")]
2379 Kbd(Kbd),
2380 #[facet(rename = "sub")]
2382 Sub(Sub),
2383 #[facet(rename = "sup")]
2385 Sup(Sup),
2386 #[facet(rename = "i")]
2388 I(I),
2389 #[facet(rename = "b")]
2391 B(B),
2392 #[facet(rename = "u")]
2394 U(U),
2395 #[facet(rename = "mark")]
2397 Mark(Mark),
2398 #[facet(rename = "bdi")]
2400 Bdi(Bdi),
2401 #[facet(rename = "bdo")]
2403 Bdo(Bdo),
2404 #[facet(rename = "br")]
2406 Br(Br),
2407 #[facet(rename = "wbr")]
2409 Wbr(Wbr),
2410 #[facet(rename = "img")]
2412 Img(Img),
2413 #[facet(rename = "input")]
2415 Input(Input),
2416 #[facet(rename = "button")]
2418 Button(Button),
2419 #[facet(rename = "select")]
2421 Select(Select),
2422 #[facet(rename = "textarea")]
2424 Textarea(Textarea),
2425 #[facet(rename = "label")]
2427 Label(Label),
2428 #[facet(rename = "output")]
2430 Output(Output),
2431 #[facet(rename = "progress")]
2433 Progress(Progress),
2434 #[facet(rename = "meter")]
2436 Meter(Meter),
2437 #[facet(rename = "script")]
2439 Script(Script),
2440}