cwe_xml/cwe/
structured_text.rs1use serde::Deserialize;
2
3#[derive(Debug, Deserialize)]
4#[serde(deny_unknown_fields)]
5pub struct StructuredCode {
6 #[serde(rename = "@Nature")]
7 pub nature: String,
8 #[serde(rename = "@Language")]
9 pub language: Option<String>,
10 #[serde(rename = "$value", default)]
11 pub children: Option<Vec<StructuredTextType>>,
12}
13
14#[derive(Debug, Deserialize)]
15#[serde(deny_unknown_fields)]
16pub struct StructuredText {
17 #[serde(rename = "$value")]
18 pub descriptions: Vec<StructuredTextType>,
19}
20
21#[derive(Debug, Deserialize)]
22#[serde(deny_unknown_fields)]
23pub enum StructuredTextType {
24 #[serde(rename = "p")]
25 P {
26 #[serde(rename = "$value", default)]
27 children: Vec<Box<StructuredTextType>>,
28 },
29 #[serde(rename = "b")]
30 XhtmlB {
31 #[serde(rename = "$value", default)]
32 children: Vec<Box<StructuredTextType>>,
33 },
34 #[serde(rename = "ol")]
35 XhtmlOl {
36 #[serde(rename = "$value", default)]
37 children: Vec<Box<StructuredTextType>>,
38 },
39 #[serde(rename = "li")]
40 XhtmlLi {
41 #[serde(rename = "$value", default)]
42 children: Vec<Box<StructuredTextType>>,
43 },
44 #[serde(rename = "ul")]
45 XhtmlUl {
46 #[serde(rename = "$value", default)]
47 children: Vec<Box<StructuredTextType>>,
48 },
49 #[serde(rename = "tbody")]
50 XhtmlTBody {
51 #[serde(rename = "$value", default)]
52 children: Vec<Box<StructuredTextType>>,
53 },
54 #[serde(rename = "table")]
55 XhtmlTable {
56 #[serde(rename = "$value", default)]
57 children: Vec<Box<StructuredTextType>>,
58 },
59 #[serde(rename = "tr")]
60 XhtmlTr {
61 #[serde(rename = "$value", default)]
62 children: Vec<Box<StructuredTextType>>,
63 },
64 #[serde(rename = "th")]
65 XhtmlTh {
66 #[serde(rename = "$value", default)]
67 children: Vec<Box<StructuredTextType>>,
68 },
69 #[serde(rename = "td")]
70 XhtmlTd {
71 #[serde(rename = "$value", default)]
72 children: Vec<Box<StructuredTextType>>,
73 },
74 #[serde(rename = "img")]
75 XhtmlImg {
76 #[serde(rename = "@src")]
77 src: String,
78 #[serde(rename = "@alt")]
79 alt: Option<String>,
80 },
81 #[serde(rename = "div")]
82 XhtmlDiv {
83 #[serde(rename = "@style")]
84 style: Option<String>,
85 #[serde(rename = "$value", default)]
86 children: Vec<Box<StructuredTextType>>,
87 },
88 #[serde(rename = "br")]
89 XhtmlBr,
90 #[serde(rename = "i")]
91 XhtmlI {
92 #[serde(rename = "$value")]
93 text: String,
94 },
95 #[serde(rename = "$text")]
96 Text(String),
97}