xso-proc: add support for extracting attributes into collections

This commit is contained in:
Emmanuel Gil Peyrot 2024-08-03 19:21:03 +02:00
commit aa518fd6c1
4 changed files with 83 additions and 0 deletions

View file

@ -239,9 +239,20 @@ impl FieldKind {
span,
qname: QNameRef { namespace, name },
default_,
type_,
} => {
let xml_name = default_name(span, name, field_ident)?;
// This would've been taken via `XmlFieldMeta::take_type` if
// this field was within an extract where a `type_` is legal
// to have.
if let Some(type_) = type_ {
return Err(Error::new_spanned(
type_,
"specifying `type_` on fields inside structs and enum variants is redundant and not allowed."
));
}
Ok(Self::Attribute {
xml_name,
xml_namespace: namespace,