I've added an example of how to handle list types. As an example I've used FocusOptions20Extension that includes a simple field (not attribute) of type StringAttrList.
#[derive(Default, PartialEq, Debug)]
pub struct StringAttrList(pub Vec<String>);
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "tt", namespace = "tt: http://www.onvif.org/ver10/schema")]
pub struct FocusOptions20Extension {
// TODO: yaserde macro for any element
// pub any: AnyElement,
// Supported options for auto focus. Options shall be chosen from tt:AFModes.
#[yaserde(prefix = "tt", rename = "AFModes")]
pub af_modes: Option<StringAttrList>,
}
Impls for such cases are basically split/join operations:
Story details: https://app.clubhouse.io/lumeo/story/373
I've added an example of how to handle list types. As an example I've used
FocusOptions20Extension
that includes a simple field (not attribute) of typeStringAttrList
.Impl
s for such cases are basicallysplit
/join
operations: