parse_sap_atom_feed/atom/link/
mod.rs

1use crate::xml::default_xml_namespace_atom;
2use serde::{Deserialize, Serialize};
3
4// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5/// Represents an `<atom:link>` tag
6#[derive(Debug, Serialize, Deserialize)]
7pub struct AtomLink {
8    // Appears in the XML as the `link` attribute `xmlns:atom`
9    #[serde(rename = "@atom", default = "default_xml_namespace_atom")]
10    pub xml_namespace_atom: Option<String>,
11
12    #[serde(rename = "@type")]
13    pub mime_type: Option<String>,
14
15    #[serde(rename = "@rel")]
16    pub rel: String,
17
18    #[serde(rename = "@href")]
19    pub href: String,
20
21    #[serde(rename = "@title")]
22    pub title: Option<String>,
23}
24
25impl std::str::FromStr for AtomLink {
26    type Err = quick_xml::DeError;
27
28    fn from_str(s: &str) -> Result<Self, Self::Err> {
29        quick_xml::de::from_str(s)
30    }
31}
32
33// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
34#[cfg(test)]
35pub mod unit_tests;