You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Namespace aware XML (de)serializer for Rust utilizing Serde
// XML elements can be specified with structs#[derive(Debug,Serialize,Deserialize)]pubstructBulkObservable{// Required attributes can easily be defined, with the format of {namespace}ns-prefix:element#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}iodef:BulkObservableList")]publist:String,// Repeated and optional elements can be defined with Vec and Option#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}iodef:AdditionalData",default, skip_serializing_if="Vec::is_empty")]pubadditional_data:Vec<ExtensionType>,#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}iodef:BulkObservableFormat",default, skip_serializing_if="Option::is_none")]pubformat:Option<BulkObservableFormat>,// Element attributes can be specified with the $attr: prefix#[serde(rename = "$attr:type")]pubbulk_type:BulkObservableType,#[serde(rename = "$attr:ext-type",default, skip_serializing_if="Option::is_none")]pubbulk_ext_type:Option<String>,// Textual element content can be set with the special name $value#[serde(rename = "$value")]pubvalue:f64,}// Enumerated values can also be defined#[derive(Debug,Serialize,Deserialize)]pubenumConfidenceRating{#[serde(rename = "low")]Low,#[serde(rename = "medium")]Medium,#[serde(rename = "high")]High,#[serde(rename = "numeric")]Numeric,#[serde(rename = "unknown")]Unknown}// As can enumerated objects#[derive(Debug,Serialize,Deserialize)]pubenumIndicatorExpressionInner{#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}IndicatorExpression")]IndicatorExpression(IndicatorExpression),#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}Observable")]Observable(Observable),#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}ObservableReference")]ObservableReference(ObservableReference),#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}IndicatorReference")]IndicatorReference(IndicatorReference),#[serde(rename = "{urn:ietf:params:xml:ns:iodef-2.0}AdditionalData")]AdditionalData(ExtensionType),}