diff --git a/xsd-parser-types/src/quick_xml/serialize.rs b/xsd-parser-types/src/quick_xml/serialize.rs index 29abe9cc..ab78541f 100644 --- a/xsd-parser-types/src/quick_xml/serialize.rs +++ b/xsd-parser-types/src/quick_xml/serialize.rs @@ -710,6 +710,30 @@ impl SerializeHelper { self.add_namespace_entry(bytes, prefix.map(|x| &x.0[..]), namespace.clone()); } + /// Write a suitable `xmlns` attribute for the given `namespace`, deriving + /// the prefix from the element `tag`. + /// + /// If `tag` contains a colon (e.g. `"tns:Element"`), the part before the + /// colon is used as the namespace prefix (`xmlns:tns="..."`). Otherwise, a + /// default namespace declaration is emitted (`xmlns="..."`). + pub fn write_xmlns_for_tag( + &mut self, + bytes: &mut BytesStart<'_>, + tag: &str, + namespace: &Namespace, + ) { + match tag.split_once(':') { + Some((prefix, _)) => { + let prefix = NamespacePrefix::from(prefix.as_bytes().to_vec()); + + self.write_xmlns(bytes, Some(&prefix), namespace); + } + None => { + self.write_xmlns(bytes, None, namespace); + } + } + } + /// Write the passed `attrib` to the passed `bytes` object. /// /// # Errors diff --git a/xsd-parser/src/config/mod.rs b/xsd-parser/src/config/mod.rs index 6c5d0be9..cbc3c736 100644 --- a/xsd-parser/src/config/mod.rs +++ b/xsd-parser/src/config/mod.rs @@ -1047,3 +1047,166 @@ impl Schemas { None } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn with_quick_xml_serialize_called_twice_no_duplicates() { + let config = Config::default() + .with_quick_xml_serialize() + .with_quick_xml_serialize(); + + assert_eq!( + count_step(&config, "Types"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "Defaults"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "PrefixConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "NamespaceConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "QuickXmlSerialize"), + 1, + "steps: {:#?}", + step_names(&config) + ); + } + + #[test] + fn with_quick_xml_deserialize_called_twice_no_duplicates() { + let config = Config::default() + .with_quick_xml_deserialize() + .with_quick_xml_deserialize(); + + assert_eq!( + count_step(&config, "Types"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "Defaults"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "NamespaceConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "QuickXmlDeserialize"), + 1, + "steps: {:#?}", + step_names(&config) + ); + } + + #[test] + fn with_quick_xml_called_twice_no_duplicates() { + let config = Config::default().with_quick_xml().with_quick_xml(); + + assert_eq!( + count_step(&config, "Types"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "Defaults"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "PrefixConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "NamespaceConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "QuickXmlSerialize"), + 1, + "steps: {:#?}", + step_names(&config) + ); + assert_eq!( + count_step(&config, "QuickXmlDeserialize"), + 1, + "steps: {:#?}", + step_names(&config) + ); + } + + #[test] + fn with_advanced_enums_called_twice_no_duplicates() { + let config = Config::default() + .with_advanced_enums() + .with_advanced_enums(); + + assert_eq!( + count_step(&config, "EnumConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + } + + #[test] + fn with_render_step_replaces_same_step() { + let config = Config::default() + .with_render_step(RenderStep::PrefixConstants) + .with_render_step(RenderStep::PrefixConstants); + + assert_eq!( + count_step(&config, "PrefixConstants"), + 1, + "steps: {:#?}", + step_names(&config) + ); + } + + fn step_names(config: &Config) -> Vec { + config + .renderer + .steps + .iter() + .map(|s| format!("{s:?}")) + .collect() + } + + fn count_step(config: &Config, name: &str) -> usize { + config + .renderer + .steps + .iter() + .filter(|s| format!("{s:?}").starts_with(name)) + .count() + } +} diff --git a/xsd-parser/src/config/renderer.rs b/xsd-parser/src/config/renderer.rs index be0826ec..3ea4a3c2 100644 --- a/xsd-parser/src/config/renderer.rs +++ b/xsd-parser/src/config/renderer.rs @@ -296,7 +296,8 @@ impl RenderStepConfig for RenderStep { fn is_mutual_exclusive_to(&self, other: &dyn RenderStepConfig) -> bool { use crate::pipeline::renderer::{ - DefaultsRenderStep, NamespaceConstantsRenderStep, QuickXmlCollectNamespacesRenderStep, + DefaultsRenderStep, EnumConstantsRenderStep, NamespaceConstantsRenderStep, + PrefixConstantsRenderStep, QuickXmlCollectNamespacesRenderStep, QuickXmlDeserializeRenderStep, QuickXmlSerializeRenderStep, SerdeQuickXmlTypesRenderStep, SerdeXmlRsV7TypesRenderStep, SerdeXmlRsV8TypesRenderStep, TypesRenderStep, WithNamespaceTraitRenderStep, @@ -318,6 +319,8 @@ impl RenderStepConfig for RenderStep { (Self::TypesSerdeQuickXml, Some(Self::TypesSerdeQuickXml)) => true, (Self::Defaults, Some(Self::Defaults)) => true, (Self::NamespaceConstants, Some(Self::NamespaceConstants)) => true, + (Self::EnumConstants, Some(Self::EnumConstants)) => true, + (Self::PrefixConstants, Some(Self::PrefixConstants)) => true, (Self::WithNamespaceTrait, Some(Self::WithNamespaceTrait)) => true, (Self::QuickXmlSerialize { .. }, Some(Self::QuickXmlSerialize { .. })) => true, (Self::QuickXmlDeserialize { .. }, Some(Self::QuickXmlDeserialize { .. })) => true, @@ -351,6 +354,8 @@ impl RenderStepConfig for RenderStep { (Self::QuickXmlDeserialize { .. }, None) => { other_id == TypeId::of::() } + (Self::EnumConstants, None) => other_id == TypeId::of::(), + (Self::PrefixConstants, None) => other_id == TypeId::of::(), (Self::QuickXmlCollectNamespaces, None) => { other_id == TypeId::of::() } @@ -370,6 +375,8 @@ impl RenderStep { ) | (Self::Defaults, Self::Defaults) | (Self::NamespaceConstants, Self::NamespaceConstants) + | (Self::EnumConstants, Self::EnumConstants) + | (Self::PrefixConstants, Self::PrefixConstants) | (Self::WithNamespaceTrait, Self::WithNamespaceTrait) | (Self::QuickXmlSerialize { .. }, Self::QuickXmlSerialize { .. }) | (Self::QuickXmlDeserialize { .. }, Self::QuickXmlDeserialize { .. }) diff --git a/xsd-parser/src/pipeline/renderer/steps/quick_xml/serialize.rs b/xsd-parser/src/pipeline/renderer/steps/quick_xml/serialize.rs index bd0303bb..8328fef6 100644 --- a/xsd-parser/src/pipeline/renderer/steps/quick_xml/serialize.rs +++ b/xsd-parser/src/pipeline/renderer/steps/quick_xml/serialize.rs @@ -689,29 +689,36 @@ impl ComplexBase<'_> { let mut xmlns = Vec::new(); let mut cache = HashSet::new(); - let element_module = self - .tag_name - .as_ref() - .and_then(|tag| { - let module = tag.module?; - let form = if matches!((&default_namespace, &module.namespace), (Some(a), Some(b)) if a == b) { - FormChoiceType::Unqualified - } else { - tag.form - }; + // Emit the element's own namespace using write_xmlns_for_tag so + // the prefix is derived from the tag name at runtime. + if let Some(module) = self.tag_name.as_ref().and_then(|tag| { + let module = tag.module?; + let dominated_by_default = matches!( + (&default_namespace, &module.namespace), + (Some(a), Some(b)) if a == b + ); + + (!dominated_by_default || tag.form == FormChoiceType::Qualified) + .then_some(module) + }) { + cache.insert(module.namespace_id); + + if let Some(path) = module.make_ns_const() { + let ns_const = ctx.resolve_type_for_serialize_module(&path); + + xmlns.push(quote! { + helper.write_xmlns_for_tag(&mut bytes, self.name, &#ns_const); + }); + } + } - Some((form, module)) - }) - .into_iter(); - let attribute_modules = attributes - .iter() - .filter_map(|attrib| { - (attrib.tag_name.form == FormChoiceType::Qualified) - .then_some(attrib.tag_name.module?) - }) - .map(|module| (FormChoiceType::Qualified, module)); + // Emit attribute namespaces with their own fixed prefix. + let attribute_modules = attributes.iter().filter_map(|attrib| { + (attrib.tag_name.form == FormChoiceType::Qualified) + .then_some(attrib.tag_name.module?) + }); - for (form, module) in element_module.chain(attribute_modules) { + for module in attribute_modules { if !cache.insert(module.namespace_id) { continue; } @@ -721,9 +728,8 @@ impl ComplexBase<'_> { }; let ns_const = ctx.resolve_type_for_serialize_module(&path); - let prefix_const = (form == FormChoiceType::Qualified) - .then(|| module.make_prefix_const()) - .flatten() + let prefix_const = module + .make_prefix_const() .map(|path| ctx.resolve_type_for_serialize_module(&path)) .map_or_else(|| quote!(None), |x| quote!(Some(&#x))); @@ -750,6 +756,10 @@ impl ComplexBase<'_> { let mut collector = collector.borrow_mut(); let xmlns = self.tag_name.as_ref().and_then(|x| x.render_xmlns(ctx)); + let root_xmlns = self + .tag_name + .as_ref() + .and_then(|x| x.render_root_xmlns(ctx)); let global_xmlns = collector .get_namespaces(ctx.types, ctx.ident, default_namespace.as_ref()) @@ -770,9 +780,10 @@ impl ComplexBase<'_> { } }) .collect::>(); - let global_xmlns = global_xmlns.is_empty().not().then(|| { + let global_xmlns = (root_xmlns.is_some() || !global_xmlns.is_empty()).then(|| { quote! { if self.is_root { + #root_xmlns #( #global_xmlns )* } } @@ -787,6 +798,10 @@ impl ComplexBase<'_> { } NamespaceSerialization::Dynamic => { let xmlns = self.tag_name.as_ref().and_then(|x| x.render_xmlns(ctx)); + let root_xmlns = self + .tag_name + .as_ref() + .and_then(|x| x.render_root_xmlns(ctx)); let collect_namespaces = resolve_quick_xml_ident!( ctx, @@ -796,6 +811,7 @@ impl ComplexBase<'_> { Some(quote! { #xmlns if self.is_root { + #root_xmlns #collect_namespaces::collect_namespaces(self.value, helper, &mut bytes); } }) @@ -1399,7 +1415,26 @@ impl TagName<'_> { let ns = module.make_ns_const()?; let ns_const = ctx.resolve_type_for_serialize_module(&ns); - Some(quote!(helper.write_xmlns(&mut bytes, None, &#ns_const);)) + Some(quote!(helper.write_xmlns_for_tag(&mut bytes, self.name, &#ns_const);)) + } + + /// Generates a namespace declaration for unqualified elements that should + /// only be emitted on the root element. + /// + /// In XSD, global (root) elements are always namespace-qualified regardless + /// of `elementFormDefault`. This method returns a token stream that writes + /// the default namespace (`xmlns="..."`) when the element has an unqualified + /// form but still needs to declare its namespace on the root element. + fn render_root_xmlns(&self, ctx: &mut Context<'_, '_>) -> Option { + if self.form == FormChoiceType::Qualified { + return None; + } + + let module = self.module?; + let ns = module.make_ns_const()?; + let ns_const = ctx.resolve_type_for_serialize_module(&ns); + + Some(quote!(helper.write_xmlns_for_tag(&mut bytes, self.name, &#ns_const);)) } } diff --git a/xsd-parser/tests/feature/absolute_paths/expected/quick_xml.rs b/xsd-parser/tests/feature/absolute_paths/expected/quick_xml.rs index 59485683..2ee0e281 100644 --- a/xsd-parser/tests/feature/absolute_paths/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/absolute_paths/expected/quick_xml.rs @@ -381,7 +381,12 @@ pub mod quick_xml_serialize { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/any_simple_type/example/custom.xml b/xsd-parser/tests/feature/any_simple_type/example/custom.xml index 18611c81..96dc1317 100644 --- a/xsd-parser/tests/feature/any_simple_type/example/custom.xml +++ b/xsd-parser/tests/feature/any_simple_type/example/custom.xml @@ -1,5 +1,6 @@ - Test diff --git a/xsd-parser/tests/feature/any_simple_type/example/default.xml b/xsd-parser/tests/feature/any_simple_type/example/default.xml index cbb3d63a..94c574ea 100644 --- a/xsd-parser/tests/feature/any_simple_type/example/default.xml +++ b/xsd-parser/tests/feature/any_simple_type/example/default.xml @@ -1,5 +1,5 @@ - + Test 12345678 diff --git a/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_custom_type.rs b/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_custom_type.rs index 1517c66b..6cc9d3f0 100644 --- a/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_custom_type.rs +++ b/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_custom_type.rs @@ -262,6 +262,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); helper.write_xmlns(&mut bytes, Some(&super::PREFIX_XS), &super::NS_XS); helper.write_xmlns( &mut bytes, diff --git a/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_default.rs b/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_default.rs index f21954df..9de7935f 100644 --- a/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_default.rs +++ b/xsd-parser/tests/feature/any_simple_type/expected/quick_xml_default.rs @@ -398,6 +398,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); helper.write_xmlns( &mut bytes, Some(&super::PREFIX_XSI), @@ -462,6 +463,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); helper.write_xmlns( &mut bytes, Some(&super::PREFIX_XSI), diff --git a/xsd-parser/tests/feature/any_type/expected/quick_xml.rs b/xsd-parser/tests/feature/any_type/expected/quick_xml.rs index 7b2edbe7..9e9c1601 100644 --- a/xsd-parser/tests/feature/any_type/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/any_type/expected/quick_xml.rs @@ -594,6 +594,10 @@ pub mod quick_xml_serialize { false, )); let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } bytes.extend_attributes(self.value.any_attribute.attributes()); return Ok(Some(Event::Start(bytes))); } @@ -613,6 +617,7 @@ pub mod quick_xml_serialize { }, AnyTypeSerializerState::End__ => { *self.state = AnyTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/build_in/expected/quick_xml.rs b/xsd-parser/tests/feature/build_in/expected/quick_xml.rs index b6750599..76ad57a3 100644 --- a/xsd-parser/tests/feature/build_in/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/build_in/expected/quick_xml.rs @@ -247,7 +247,12 @@ pub mod quick_xml_serialize { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/complex_type_empty/expected/quick_xml.rs b/xsd-parser/tests/feature/complex_type_empty/expected/quick_xml.rs index cb18403d..f158cf48 100644 --- a/xsd-parser/tests/feature/complex_type_empty/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/complex_type_empty/expected/quick_xml.rs @@ -124,7 +124,7 @@ pub mod quick_xml_serialize { *self.state = SuccessTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } diff --git a/xsd-parser/tests/feature/custom_type/expected/quick_xml.rs b/xsd-parser/tests/feature/custom_type/expected/quick_xml.rs index a149daf6..b38972b5 100644 --- a/xsd-parser/tests/feature/custom_type/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/custom_type/expected/quick_xml.rs @@ -210,7 +210,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "Ccy", &self.value.ccy)?; return Ok(Some(Event::Start(bytes))); } diff --git a/xsd-parser/tests/feature/duplicate_idents/expected/quick_xml.rs b/xsd-parser/tests/feature/duplicate_idents/expected/quick_xml.rs index c8817b2c..b2dd1fb5 100644 --- a/xsd-parser/tests/feature/duplicate_idents/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/duplicate_idents/expected/quick_xml.rs @@ -448,7 +448,11 @@ pub mod bar { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } InnerTypeSerializerState::B(x) => match x.next(helper).transpose()? { @@ -509,7 +513,11 @@ pub mod bar { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } OuterTypeSerializerState::Inner(x) => match x.next(helper).transpose()? { @@ -983,7 +991,11 @@ pub mod foo { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } InnerTypeSerializerState::A(x) => match x.next(helper).transpose()? { @@ -1044,7 +1056,11 @@ pub mod foo { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } OuterTypeSerializerState::Inner(x) => match x.next(helper).transpose()? { @@ -1326,7 +1342,16 @@ pub mod xs { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_XS, + ); + } + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/dynamic_types/example/default.xml b/xsd-parser/tests/feature/dynamic_types/example/default.xml index 40cc07a5..19ac407b 100644 --- a/xsd-parser/tests/feature/dynamic_types/example/default.xml +++ b/xsd-parser/tests/feature/dynamic_types/example/default.xml @@ -1,4 +1,4 @@ - + diff --git a/xsd-parser/tests/feature/dynamic_types/expected/quick_xml.rs b/xsd-parser/tests/feature/dynamic_types/expected/quick_xml.rs index 9d953228..aed38f75 100644 --- a/xsd-parser/tests/feature/dynamic_types/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/dynamic_types/expected/quick_xml.rs @@ -704,7 +704,11 @@ pub mod quick_xml_serialize { Some("base"), false, )); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } return Ok(Some(Event::Start(bytes))); } ListTypeSerializerState::Base(x) => match x.next(helper).transpose()? { @@ -713,6 +717,7 @@ pub mod quick_xml_serialize { }, ListTypeSerializerState::End__ => { *self.state = ListTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } ListTypeSerializerState::Done__ => return Ok(None), @@ -756,12 +761,17 @@ pub mod quick_xml_serialize { IntermediateTypeSerializerState::Init__ => { *self.state = IntermediateTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, "intermediateValue", &self.value.intermediate_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } IntermediateTypeSerializerState::Done__ => return Ok(None), @@ -805,6 +815,10 @@ pub mod quick_xml_serialize { FinalTypeSerializerState::Init__ => { *self.state = FinalTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, @@ -816,6 +830,7 @@ pub mod quick_xml_serialize { "finalValue", &self.value.final_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } FinalTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/dynamic_types/expected/quick_xml_optimized.rs b/xsd-parser/tests/feature/dynamic_types/expected/quick_xml_optimized.rs index ef80f599..66d444e2 100644 --- a/xsd-parser/tests/feature/dynamic_types/expected/quick_xml_optimized.rs +++ b/xsd-parser/tests/feature/dynamic_types/expected/quick_xml_optimized.rs @@ -781,7 +781,11 @@ pub mod quick_xml_serialize { Some("base"), false, )); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } return Ok(Some(Event::Start(bytes))); } ListTypeSerializerState::Base(x) => match x.next(helper).transpose()? { @@ -790,6 +794,7 @@ pub mod quick_xml_serialize { }, ListTypeSerializerState::End__ => { *self.state = ListTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } ListTypeSerializerState::Done__ => return Ok(None), @@ -894,12 +899,17 @@ pub mod quick_xml_serialize { IntermediateTypeSerializerState::Init__ => { *self.state = IntermediateTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, "intermediateValue", &self.value.intermediate_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } IntermediateTypeSerializerState::Done__ => return Ok(None), @@ -943,6 +953,10 @@ pub mod quick_xml_serialize { FinalTypeSerializerState::Init__ => { *self.state = FinalTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, @@ -954,6 +968,7 @@ pub mod quick_xml_serialize { "finalValue", &self.value.final_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } FinalTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/element_refs_with_ns/example/default.xml b/xsd-parser/tests/feature/element_refs_with_ns/example/default.xml index ae976e61..51c50950 100644 --- a/xsd-parser/tests/feature/element_refs_with_ns/example/default.xml +++ b/xsd-parser/tests/feature/element_refs_with_ns/example/default.xml @@ -1,4 +1,4 @@ - + Text in A Text in B Text in C diff --git a/xsd-parser/tests/feature/element_refs_with_ns/expected/quick_xml.rs b/xsd-parser/tests/feature/element_refs_with_ns/expected/quick_xml.rs index 3aa2f9a6..2064805f 100644 --- a/xsd-parser/tests/feature/element_refs_with_ns/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/element_refs_with_ns/expected/quick_xml.rs @@ -278,7 +278,15 @@ pub mod bar { Some("A"), false, )?); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_BAR, + ); + } return Ok(Some(Event::Start(bytes))); } InnerTypeSerializerState::A(x) => match x.next(helper).transpose()? { @@ -287,6 +295,7 @@ pub mod bar { }, InnerTypeSerializerState::End__ => { *self.state = InnerTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } InnerTypeSerializerState::Done__ => return Ok(None), @@ -547,7 +556,15 @@ pub mod baz { Some("B"), false, )?); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_BAZ, + ); + } return Ok(Some(Event::Start(bytes))); } InnerTypeSerializerState::B(x) => match x.next(helper).transpose()? { @@ -556,6 +573,7 @@ pub mod baz { }, InnerTypeSerializerState::End__ => { *self.state = InnerTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } InnerTypeSerializerState::Done__ => return Ok(None), @@ -816,7 +834,15 @@ pub mod biz { Some("C"), false, )?); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_BIZ, + ); + } return Ok(Some(Event::Start(bytes))); } InnerTypeSerializerState::C(x) => match x.next(helper).transpose()? { @@ -825,6 +851,7 @@ pub mod biz { }, InnerTypeSerializerState::End__ => { *self.state = InnerTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } InnerTypeSerializerState::Done__ => return Ok(None), @@ -1232,7 +1259,11 @@ pub mod quick_xml_serialize { Some("Inner"), false, )?); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); + } return Ok(Some(Event::Start(bytes))); } OuterTypeSerializerState::BarInner(x) => match x.next(helper).transpose()? { @@ -1263,6 +1294,7 @@ pub mod quick_xml_serialize { }, OuterTypeSerializerState::End__ => { *self.state = OuterTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } OuterTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/element_without_type/expected/quick_xml.rs b/xsd-parser/tests/feature/element_without_type/expected/quick_xml.rs index 750a900e..7301c2f8 100644 --- a/xsd-parser/tests/feature/element_without_type/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/element_without_type/expected/quick_xml.rs @@ -124,7 +124,12 @@ pub mod quick_xml_serialize { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/empty_string/expected/quick_xml.rs b/xsd-parser/tests/feature/empty_string/expected/quick_xml.rs index 83a691e0..ec3c5160 100644 --- a/xsd-parser/tests/feature/empty_string/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/empty_string/expected/quick_xml.rs @@ -738,7 +738,12 @@ pub mod quick_xml_serialize { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/facets/example/default.xml b/xsd-parser/tests/feature/facets/example/default.xml index a98f2cfd..9a33d023 100644 --- a/xsd-parser/tests/feature/facets/example/default.xml +++ b/xsd-parser/tests/feature/facets/example/default.xml @@ -1,4 +1,4 @@ - + -1234.56 0.01 Abcdef diff --git a/xsd-parser/tests/feature/facets/expected/quick_xml.rs b/xsd-parser/tests/feature/facets/expected/quick_xml.rs index 25dd946b..5dbd16a0 100644 --- a/xsd-parser/tests/feature/facets/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/facets/expected/quick_xml.rs @@ -813,7 +813,11 @@ pub mod quick_xml_serialize { None, false, )); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } return Ok(Some(Event::Start(bytes))); } RootTypeSerializerState::Content__(x) => match x.next(helper).transpose()? { @@ -822,6 +826,7 @@ pub mod quick_xml_serialize { }, RootTypeSerializerState::End__ => { *self.state = RootTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } RootTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/mod.rs b/xsd-parser/tests/feature/mod.rs index 51484875..872f94be 100644 --- a/xsd-parser/tests/feature/mod.rs +++ b/xsd-parser/tests/feature/mod.rs @@ -54,6 +54,7 @@ mod mixed_unexpected_text; mod multi_pattern_alternatives; mod multi_pattern_facets; mod namespaces_qualified; +mod namespaces_unqualified; mod nested_group_reuse; mod nillable; mod nillable_dynamic_types; diff --git a/xsd-parser/tests/feature/namespaces_qualified/example/global_alt_prefixed.xml b/xsd-parser/tests/feature/namespaces_qualified/example/global_alt_prefixed.xml new file mode 100644 index 00000000..f822eee8 --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_qualified/example/global_alt_prefixed.xml @@ -0,0 +1,8 @@ + + + Bar String + + + Baz String + + diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_alt.rs index 2ba3bdbf..4f992235 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_alt.rs @@ -753,7 +753,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); if self.is_root { CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_no_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_no_alt.rs index 597c4e1e..1cafbef5 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_no_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_dynamic_no_alt.rs @@ -749,7 +749,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); if self.is_root { CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } @@ -823,7 +823,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_6); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_6); if self.is_root { CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } @@ -886,7 +886,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_7); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_7); if self.is_root { CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_alt.rs index 24999724..44d783ec 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_alt.rs @@ -732,7 +732,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); if self.is_root { helper.write_xmlns( &mut bytes, diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_no_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_no_alt.rs index 59037985..5e5d0e56 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_no_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_global_no_alt.rs @@ -730,7 +730,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FooTypeSerializerState::Inner1(x) => match x.next(helper).transpose()? { @@ -801,7 +801,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_6); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_6); return Ok(Some(Event::Start(bytes))); } Inner1TypeSerializerState::A(x) => match x.next(helper).transpose()? { @@ -861,7 +861,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_7); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_7); return Ok(Some(Event::Start(bytes))); } Inner2TypeSerializerState::B(x) => match x.next(helper).transpose()? { diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_alt.rs index d58c35af..2577dc02 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_alt.rs @@ -732,7 +732,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FooTypeSerializerState::Inner1(x) => match x.next(helper).transpose()? { @@ -803,7 +803,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, Some(&super::PREFIX_BAR), &super::NS_BAR); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_BAR); return Ok(Some(Event::Start(bytes))); } Inner1TypeSerializerState::A(x) => match x.next(helper).transpose()? { @@ -863,7 +863,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, Some(&super::PREFIX_BAZ), &super::NS_BAZ); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_BAZ); return Ok(Some(Event::Start(bytes))); } Inner2TypeSerializerState::B(x) => match x.next(helper).transpose()? { diff --git a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_no_alt.rs b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_no_alt.rs index 59037985..5e5d0e56 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_no_alt.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/expected/quick_xml_local_no_alt.rs @@ -730,7 +730,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FooTypeSerializerState::Inner1(x) => match x.next(helper).transpose()? { @@ -801,7 +801,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_6); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_6); return Ok(Some(Event::Start(bytes))); } Inner1TypeSerializerState::A(x) => match x.next(helper).transpose()? { @@ -861,7 +861,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_7); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_7); return Ok(Some(Event::Start(bytes))); } Inner2TypeSerializerState::B(x) => match x.next(helper).transpose()? { diff --git a/xsd-parser/tests/feature/namespaces_qualified/mod.rs b/xsd-parser/tests/feature/namespaces_qualified/mod.rs index 2a9de17b..bcf12580 100644 --- a/xsd-parser/tests/feature/namespaces_qualified/mod.rs +++ b/xsd-parser/tests/feature/namespaces_qualified/mod.rs @@ -168,6 +168,27 @@ fn write_quick_xml_global_alt() { ); } +#[test] +#[cfg(not(feature = "update-expectations"))] +fn write_quick_xml_global_alt_prefixed() { + use quick_xml_global_alt::{Foo, Inner1Type, Inner2Type}; + + let obj = Foo { + inner_1: Inner1Type { + a: "Bar String".into(), + }, + inner_2: Inner2Type { + b: "Baz String".into(), + }, + }; + + crate::utils::quick_xml_write_test( + &obj, + "tns:Foo", + "tests/feature/namespaces_qualified/example/global_alt_prefixed.xml", + ); +} + #[cfg(not(feature = "update-expectations"))] mod quick_xml_global_alt { #![allow(unused_imports)] diff --git a/xsd-parser/tests/feature/namespaces_unqualified/example/default.xml b/xsd-parser/tests/feature/namespaces_unqualified/example/default.xml new file mode 100644 index 00000000..1e70d8d6 --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/example/default.xml @@ -0,0 +1,5 @@ + + + hello + 42 + diff --git a/xsd-parser/tests/feature/namespaces_unqualified/example/prefixed.xml b/xsd-parser/tests/feature/namespaces_unqualified/example/prefixed.xml new file mode 100644 index 00000000..53084a08 --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/example/prefixed.xml @@ -0,0 +1,5 @@ + + + hello + 42 + diff --git a/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml.rs b/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml.rs new file mode 100644 index 00000000..4b24071b --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml.rs @@ -0,0 +1,373 @@ +use xsd_parser_types::{ + misc::{Namespace, NamespacePrefix}, + quick_xml::{Error, WithDeserializer, WithSerializer}, +}; +pub const NS_XS: Namespace = Namespace::new_const(b"http://www.w3.org/2001/XMLSchema"); +pub const NS_XML: Namespace = Namespace::new_const(b"http://www.w3.org/XML/1998/namespace"); +pub const NS_XSI: Namespace = Namespace::new_const(b"http://www.w3.org/2001/XMLSchema-instance"); +pub const NS_UNNAMED_5: Namespace = Namespace::new_const(b"http://example.com"); +pub const PREFIX_XS: NamespacePrefix = NamespacePrefix::new_const(b"xs"); +pub const PREFIX_XML: NamespacePrefix = NamespacePrefix::new_const(b"xml"); +pub const PREFIX_XSI: NamespacePrefix = NamespacePrefix::new_const(b"xsi"); +pub type Foo = FooType; +#[derive(Debug)] +pub struct FooType { + pub bar: String, + pub baz: i32, +} +impl WithSerializer for FooType { + type Serializer<'x> = quick_xml_serialize::FooTypeSerializer<'x>; + fn serializer<'ser>( + &'ser self, + name: Option<&'ser str>, + is_root: bool, + ) -> Result, Error> { + Ok(quick_xml_serialize::FooTypeSerializer { + value: self, + state: Box::new(quick_xml_serialize::FooTypeSerializerState::Init__), + name: name.unwrap_or("FooType"), + is_root, + }) + } +} +impl WithDeserializer for FooType { + type Deserializer = quick_xml_deserialize::FooTypeDeserializer; +} +pub mod quick_xml_deserialize { + use core::mem::replace; + use xsd_parser_types::quick_xml::{ + BytesStart, DeserializeHelper, Deserializer, DeserializerArtifact, DeserializerEvent, + DeserializerOutput, DeserializerResult, ElementHandlerOutput, Error, ErrorKind, Event, + RawByteStr, WithDeserializer, + }; + #[derive(Debug)] + pub struct FooTypeDeserializer { + bar: Option, + baz: Option, + state__: Box, + } + #[derive(Debug)] + enum FooTypeDeserializerState { + Init__, + Bar(Option<::Deserializer>), + Baz(Option<::Deserializer>), + Done__, + Unknown__, + } + impl FooTypeDeserializer { + fn from_bytes_start( + helper: &mut DeserializeHelper, + bytes_start: &BytesStart<'_>, + ) -> Result { + for attrib in helper.filter_xmlns_attributes(bytes_start) { + let attrib = attrib?; + helper.raise_unexpected_attrib_checked(&attrib)?; + } + Ok(Self { + bar: None, + baz: None, + state__: Box::new(FooTypeDeserializerState::Init__), + }) + } + fn finish_state( + &mut self, + helper: &mut DeserializeHelper, + state: FooTypeDeserializerState, + ) -> Result<(), Error> { + use FooTypeDeserializerState as S; + match state { + S::Bar(Some(deserializer)) => self.store_bar(deserializer.finish(helper)?)?, + S::Baz(Some(deserializer)) => self.store_baz(deserializer.finish(helper)?)?, + _ => (), + } + Ok(()) + } + fn store_bar(&mut self, value: String) -> Result<(), Error> { + if self.bar.is_some() { + Err(ErrorKind::DuplicateElement(RawByteStr::from_slice(b"Bar")))?; + } + self.bar = Some(value); + Ok(()) + } + fn store_baz(&mut self, value: i32) -> Result<(), Error> { + if self.baz.is_some() { + Err(ErrorKind::DuplicateElement(RawByteStr::from_slice(b"Baz")))?; + } + self.baz = Some(value); + Ok(()) + } + fn handle_bar<'de>( + &mut self, + helper: &mut DeserializeHelper, + output: DeserializerOutput<'de, String>, + fallback: &mut Option, + ) -> Result, Error> { + use FooTypeDeserializerState as S; + let DeserializerOutput { + artifact, + event, + allow_any, + } = output; + if artifact.is_none() { + fallback.get_or_insert(S::Bar(None)); + if matches!(&fallback, Some(S::Init__)) { + return Ok(ElementHandlerOutput::break_(event, allow_any)); + } else { + return Ok(ElementHandlerOutput::return_to_root(event, allow_any)); + } + } + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + match artifact { + DeserializerArtifact::None => unreachable!(), + DeserializerArtifact::Data(data) => { + self.store_bar(data)?; + *self.state__ = S::Baz(None); + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + DeserializerArtifact::Deserializer(deserializer) => { + fallback.get_or_insert(S::Bar(Some(deserializer))); + *self.state__ = S::Baz(None); + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + } + } + fn handle_baz<'de>( + &mut self, + helper: &mut DeserializeHelper, + output: DeserializerOutput<'de, i32>, + fallback: &mut Option, + ) -> Result, Error> { + use FooTypeDeserializerState as S; + let DeserializerOutput { + artifact, + event, + allow_any, + } = output; + if artifact.is_none() { + fallback.get_or_insert(S::Baz(None)); + if matches!(&fallback, Some(S::Init__)) { + return Ok(ElementHandlerOutput::break_(event, allow_any)); + } else { + return Ok(ElementHandlerOutput::return_to_root(event, allow_any)); + } + } + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + match artifact { + DeserializerArtifact::None => unreachable!(), + DeserializerArtifact::Data(data) => { + self.store_baz(data)?; + *self.state__ = S::Done__; + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + DeserializerArtifact::Deserializer(deserializer) => { + fallback.get_or_insert(S::Baz(Some(deserializer))); + *self.state__ = S::Done__; + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + } + } + } + impl<'de> Deserializer<'de, super::FooType> for FooTypeDeserializer { + fn init( + helper: &mut DeserializeHelper, + event: Event<'de>, + ) -> DeserializerResult<'de, super::FooType> { + helper.init_deserializer_from_start_event(event, Self::from_bytes_start) + } + fn next( + mut self, + helper: &mut DeserializeHelper, + event: Event<'de>, + ) -> DeserializerResult<'de, super::FooType> { + use FooTypeDeserializerState as S; + let mut event = event; + let mut fallback = None; + let mut allow_any_element = false; + let (event, allow_any) = loop { + let state = replace(&mut *self.state__, S::Unknown__); + event = match (state, event) { + (S::Unknown__, _) => unreachable!(), + (S::Bar(Some(deserializer)), event) => { + let output = deserializer.next(helper, event)?; + match self.handle_bar(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Baz(Some(deserializer)), event) => { + let output = deserializer.next(helper, event)?; + match self.handle_baz(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (_, Event::End(_)) => { + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + return Ok(DeserializerOutput { + artifact: DeserializerArtifact::Data(self.finish(helper)?), + event: DeserializerEvent::None, + allow_any: false, + }); + } + (S::Init__, event) => { + fallback.get_or_insert(S::Init__); + *self.state__ = S::Bar(None); + event + } + (S::Bar(None), event @ (Event::Start(_) | Event::Empty(_))) => { + let output = helper.init_start_tag_deserializer( + event, + Some(&super::NS_UNNAMED_5), + b"Bar", + false, + )?; + match self.handle_bar(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Baz(None), event @ (Event::Start(_) | Event::Empty(_))) => { + let output = helper.init_start_tag_deserializer( + event, + Some(&super::NS_UNNAMED_5), + b"Baz", + false, + )?; + match self.handle_baz(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Done__, event) => { + *self.state__ = S::Done__; + break (DeserializerEvent::Continue(event), allow_any_element); + } + (state, event) => { + *self.state__ = state; + break (DeserializerEvent::Break(event), false); + } + } + }; + if let Some(fallback) = fallback { + *self.state__ = fallback; + } + Ok(DeserializerOutput { + artifact: DeserializerArtifact::Deserializer(self), + event, + allow_any, + }) + } + fn finish(mut self, helper: &mut DeserializeHelper) -> Result { + let state = replace(&mut *self.state__, FooTypeDeserializerState::Unknown__); + self.finish_state(helper, state)?; + Ok(super::FooType { + bar: helper.finish_element("Bar", self.bar)?, + baz: helper.finish_element("Baz", self.baz)?, + }) + } + } +} +pub mod quick_xml_serialize { + use xsd_parser_types::quick_xml::{ + BytesEnd, BytesStart, Error, Event, SerializeHelper, Serializer, WithSerializer, + }; + #[derive(Debug)] + pub struct FooTypeSerializer<'ser> { + pub(super) value: &'ser super::FooType, + pub(super) state: Box>, + pub(super) name: &'ser str, + pub(super) is_root: bool, + } + #[derive(Debug)] + pub(super) enum FooTypeSerializerState<'ser> { + Init__, + Bar(::Serializer<'ser>), + Baz(::Serializer<'ser>), + End__, + Done__, + Phantom__(&'ser ()), + } + impl<'ser> FooTypeSerializer<'ser> { + fn next_event( + &mut self, + helper: &mut SerializeHelper, + ) -> Result>, Error> { + loop { + match &mut *self.state { + FooTypeSerializerState::Init__ => { + *self.state = FooTypeSerializerState::Bar(WithSerializer::serializer( + &self.value.bar, + Some("Bar"), + false, + )?); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); + } + return Ok(Some(Event::Start(bytes))); + } + FooTypeSerializerState::Bar(x) => match x.next(helper).transpose()? { + Some(event) => return Ok(Some(event)), + None => { + *self.state = FooTypeSerializerState::Baz(WithSerializer::serializer( + &self.value.baz, + Some("Baz"), + false, + )?) + } + }, + FooTypeSerializerState::Baz(x) => match x.next(helper).transpose()? { + Some(event) => return Ok(Some(event)), + None => *self.state = FooTypeSerializerState::End__, + }, + FooTypeSerializerState::End__ => { + *self.state = FooTypeSerializerState::Done__; + helper.end_ns_scope(); + return Ok(Some(Event::End(BytesEnd::new(self.name)))); + } + FooTypeSerializerState::Done__ => return Ok(None), + FooTypeSerializerState::Phantom__(_) => unreachable!(), + } + } + } + } + impl<'ser> Serializer<'ser> for FooTypeSerializer<'ser> { + fn next(&mut self, helper: &mut SerializeHelper) -> Option, Error>> { + match self.next_event(helper) { + Ok(Some(event)) => Some(Ok(event)), + Ok(None) => None, + Err(error) => { + *self.state = FooTypeSerializerState::Done__; + Some(Err(error)) + } + } + } + } +} diff --git a/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml_local.rs b/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml_local.rs new file mode 100644 index 00000000..a4489f0d --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml_local.rs @@ -0,0 +1,371 @@ +use xsd_parser_types::{ + misc::{Namespace, NamespacePrefix}, + quick_xml::{Error, WithDeserializer, WithSerializer}, +}; +pub const PREFIX_XS: NamespacePrefix = NamespacePrefix::new_const(b"xs"); +pub const PREFIX_XML: NamespacePrefix = NamespacePrefix::new_const(b"xml"); +pub const PREFIX_XSI: NamespacePrefix = NamespacePrefix::new_const(b"xsi"); +pub const NS_XS: Namespace = Namespace::new_const(b"http://www.w3.org/2001/XMLSchema"); +pub const NS_XML: Namespace = Namespace::new_const(b"http://www.w3.org/XML/1998/namespace"); +pub const NS_XSI: Namespace = Namespace::new_const(b"http://www.w3.org/2001/XMLSchema-instance"); +pub const NS_UNNAMED_5: Namespace = Namespace::new_const(b"http://example.com"); +pub type Foo = FooType; +#[derive(Debug)] +pub struct FooType { + pub bar: String, + pub baz: i32, +} +impl WithDeserializer for FooType { + type Deserializer = quick_xml_deserialize::FooTypeDeserializer; +} +impl WithSerializer for FooType { + type Serializer<'x> = quick_xml_serialize::FooTypeSerializer<'x>; + fn serializer<'ser>( + &'ser self, + name: Option<&'ser str>, + is_root: bool, + ) -> Result, Error> { + Ok(quick_xml_serialize::FooTypeSerializer { + value: self, + state: Box::new(quick_xml_serialize::FooTypeSerializerState::Init__), + name: name.unwrap_or("FooType"), + is_root, + }) + } +} +pub mod quick_xml_deserialize { + use core::mem::replace; + use xsd_parser_types::quick_xml::{ + BytesStart, DeserializeHelper, Deserializer, DeserializerArtifact, DeserializerEvent, + DeserializerOutput, DeserializerResult, ElementHandlerOutput, Error, ErrorKind, Event, + RawByteStr, WithDeserializer, + }; + #[derive(Debug)] + pub struct FooTypeDeserializer { + bar: Option, + baz: Option, + state__: Box, + } + #[derive(Debug)] + enum FooTypeDeserializerState { + Init__, + Bar(Option<::Deserializer>), + Baz(Option<::Deserializer>), + Done__, + Unknown__, + } + impl FooTypeDeserializer { + fn from_bytes_start( + helper: &mut DeserializeHelper, + bytes_start: &BytesStart<'_>, + ) -> Result { + for attrib in helper.filter_xmlns_attributes(bytes_start) { + let attrib = attrib?; + helper.raise_unexpected_attrib_checked(&attrib)?; + } + Ok(Self { + bar: None, + baz: None, + state__: Box::new(FooTypeDeserializerState::Init__), + }) + } + fn finish_state( + &mut self, + helper: &mut DeserializeHelper, + state: FooTypeDeserializerState, + ) -> Result<(), Error> { + use FooTypeDeserializerState as S; + match state { + S::Bar(Some(deserializer)) => self.store_bar(deserializer.finish(helper)?)?, + S::Baz(Some(deserializer)) => self.store_baz(deserializer.finish(helper)?)?, + _ => (), + } + Ok(()) + } + fn store_bar(&mut self, value: String) -> Result<(), Error> { + if self.bar.is_some() { + Err(ErrorKind::DuplicateElement(RawByteStr::from_slice(b"Bar")))?; + } + self.bar = Some(value); + Ok(()) + } + fn store_baz(&mut self, value: i32) -> Result<(), Error> { + if self.baz.is_some() { + Err(ErrorKind::DuplicateElement(RawByteStr::from_slice(b"Baz")))?; + } + self.baz = Some(value); + Ok(()) + } + fn handle_bar<'de>( + &mut self, + helper: &mut DeserializeHelper, + output: DeserializerOutput<'de, String>, + fallback: &mut Option, + ) -> Result, Error> { + use FooTypeDeserializerState as S; + let DeserializerOutput { + artifact, + event, + allow_any, + } = output; + if artifact.is_none() { + fallback.get_or_insert(S::Bar(None)); + if matches!(&fallback, Some(S::Init__)) { + return Ok(ElementHandlerOutput::break_(event, allow_any)); + } else { + return Ok(ElementHandlerOutput::return_to_root(event, allow_any)); + } + } + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + match artifact { + DeserializerArtifact::None => unreachable!(), + DeserializerArtifact::Data(data) => { + self.store_bar(data)?; + *self.state__ = S::Baz(None); + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + DeserializerArtifact::Deserializer(deserializer) => { + fallback.get_or_insert(S::Bar(Some(deserializer))); + *self.state__ = S::Baz(None); + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + } + } + fn handle_baz<'de>( + &mut self, + helper: &mut DeserializeHelper, + output: DeserializerOutput<'de, i32>, + fallback: &mut Option, + ) -> Result, Error> { + use FooTypeDeserializerState as S; + let DeserializerOutput { + artifact, + event, + allow_any, + } = output; + if artifact.is_none() { + fallback.get_or_insert(S::Baz(None)); + if matches!(&fallback, Some(S::Init__)) { + return Ok(ElementHandlerOutput::break_(event, allow_any)); + } else { + return Ok(ElementHandlerOutput::return_to_root(event, allow_any)); + } + } + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + match artifact { + DeserializerArtifact::None => unreachable!(), + DeserializerArtifact::Data(data) => { + self.store_baz(data)?; + *self.state__ = S::Done__; + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + DeserializerArtifact::Deserializer(deserializer) => { + fallback.get_or_insert(S::Baz(Some(deserializer))); + *self.state__ = S::Done__; + Ok(ElementHandlerOutput::from_event(event, allow_any)) + } + } + } + } + impl<'de> Deserializer<'de, super::FooType> for FooTypeDeserializer { + fn init( + helper: &mut DeserializeHelper, + event: Event<'de>, + ) -> DeserializerResult<'de, super::FooType> { + helper.init_deserializer_from_start_event(event, Self::from_bytes_start) + } + fn next( + mut self, + helper: &mut DeserializeHelper, + event: Event<'de>, + ) -> DeserializerResult<'de, super::FooType> { + use FooTypeDeserializerState as S; + let mut event = event; + let mut fallback = None; + let mut allow_any_element = false; + let (event, allow_any) = loop { + let state = replace(&mut *self.state__, S::Unknown__); + event = match (state, event) { + (S::Unknown__, _) => unreachable!(), + (S::Bar(Some(deserializer)), event) => { + let output = deserializer.next(helper, event)?; + match self.handle_bar(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Baz(Some(deserializer)), event) => { + let output = deserializer.next(helper, event)?; + match self.handle_baz(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (_, Event::End(_)) => { + if let Some(fallback) = fallback.take() { + self.finish_state(helper, fallback)?; + } + return Ok(DeserializerOutput { + artifact: DeserializerArtifact::Data(self.finish(helper)?), + event: DeserializerEvent::None, + allow_any: false, + }); + } + (S::Init__, event) => { + fallback.get_or_insert(S::Init__); + *self.state__ = S::Bar(None); + event + } + (S::Bar(None), event @ (Event::Start(_) | Event::Empty(_))) => { + let output = helper.init_start_tag_deserializer( + event, + Some(&super::NS_UNNAMED_5), + b"Bar", + false, + )?; + match self.handle_bar(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Baz(None), event @ (Event::Start(_) | Event::Empty(_))) => { + let output = helper.init_start_tag_deserializer( + event, + Some(&super::NS_UNNAMED_5), + b"Baz", + false, + )?; + match self.handle_baz(helper, output, &mut fallback)? { + ElementHandlerOutput::Continue { event, allow_any } => { + allow_any_element = allow_any_element || allow_any; + event + } + ElementHandlerOutput::Break { event, allow_any } => { + break (event, allow_any) + } + } + } + (S::Done__, event) => { + *self.state__ = S::Done__; + break (DeserializerEvent::Continue(event), allow_any_element); + } + (state, event) => { + *self.state__ = state; + break (DeserializerEvent::Break(event), false); + } + } + }; + if let Some(fallback) = fallback { + *self.state__ = fallback; + } + Ok(DeserializerOutput { + artifact: DeserializerArtifact::Deserializer(self), + event, + allow_any, + }) + } + fn finish(mut self, helper: &mut DeserializeHelper) -> Result { + let state = replace(&mut *self.state__, FooTypeDeserializerState::Unknown__); + self.finish_state(helper, state)?; + Ok(super::FooType { + bar: helper.finish_element("Bar", self.bar)?, + baz: helper.finish_element("Baz", self.baz)?, + }) + } + } +} +pub mod quick_xml_serialize { + use xsd_parser_types::quick_xml::{ + BytesEnd, BytesStart, Error, Event, SerializeHelper, Serializer, WithSerializer, + }; + #[derive(Debug)] + pub struct FooTypeSerializer<'ser> { + pub(super) value: &'ser super::FooType, + pub(super) state: Box>, + pub(super) name: &'ser str, + pub(super) is_root: bool, + } + #[derive(Debug)] + pub(super) enum FooTypeSerializerState<'ser> { + Init__, + Bar(::Serializer<'ser>), + Baz(::Serializer<'ser>), + End__, + Done__, + Phantom__(&'ser ()), + } + impl<'ser> FooTypeSerializer<'ser> { + fn next_event( + &mut self, + helper: &mut SerializeHelper, + ) -> Result>, Error> { + loop { + match &mut *self.state { + FooTypeSerializerState::Init__ => { + *self.state = FooTypeSerializerState::Bar(WithSerializer::serializer( + &self.value.bar, + Some("Bar"), + false, + )?); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); + return Ok(Some(Event::Start(bytes))); + } + FooTypeSerializerState::Bar(x) => match x.next(helper).transpose()? { + Some(event) => return Ok(Some(event)), + None => { + *self.state = FooTypeSerializerState::Baz(WithSerializer::serializer( + &self.value.baz, + Some("Baz"), + false, + )?) + } + }, + FooTypeSerializerState::Baz(x) => match x.next(helper).transpose()? { + Some(event) => return Ok(Some(event)), + None => *self.state = FooTypeSerializerState::End__, + }, + FooTypeSerializerState::End__ => { + *self.state = FooTypeSerializerState::Done__; + helper.end_ns_scope(); + return Ok(Some(Event::End(BytesEnd::new(self.name)))); + } + FooTypeSerializerState::Done__ => return Ok(None), + FooTypeSerializerState::Phantom__(_) => unreachable!(), + } + } + } + } + impl<'ser> Serializer<'ser> for FooTypeSerializer<'ser> { + fn next(&mut self, helper: &mut SerializeHelper) -> Option, Error>> { + match self.next_event(helper) { + Ok(Some(event)) => Some(Ok(event)), + Ok(None) => None, + Err(error) => { + *self.state = FooTypeSerializerState::Done__; + Some(Err(error)) + } + } + } + } +} diff --git a/xsd-parser/tests/feature/namespaces_unqualified/mod.rs b/xsd-parser/tests/feature/namespaces_unqualified/mod.rs new file mode 100644 index 00000000..94f3ccc2 --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/mod.rs @@ -0,0 +1,132 @@ +use xsd_parser::{ + config::NamespaceIdent, pipeline::renderer::NamespaceSerialization, Config, IdentType, +}; + +use crate::utils::{generate_test, ConfigEx}; + +fn config() -> Config { + Config::test_default().with_generate([( + IdentType::Element, + Some(NamespaceIdent::namespace(b"http://example.com")), + "Foo", + )]) +} + +/* quick_xml */ + +#[test] +fn generate_quick_xml() { + generate_test( + "tests/feature/namespaces_unqualified/schema.xsd", + "tests/feature/namespaces_unqualified/expected/quick_xml.rs", + config().with_quick_xml(), + ); +} + +#[test] +#[cfg(not(feature = "update-expectations"))] +fn read_quick_xml() { + use quick_xml::Foo; + + let obj = crate::utils::quick_xml_read_test::( + "tests/feature/namespaces_unqualified/example/default.xml", + ); + + assert_eq!(obj.bar, "hello"); + assert_eq!(obj.baz, 42); +} + +#[test] +#[cfg(not(feature = "update-expectations"))] +fn write_quick_xml() { + use quick_xml::Foo; + + let obj = Foo { + bar: "hello".into(), + baz: 42, + }; + + crate::utils::quick_xml_write_test( + &obj, + "Foo", + "tests/feature/namespaces_unqualified/example/default.xml", + ); +} + +#[test] +#[cfg(not(feature = "update-expectations"))] +fn write_quick_xml_prefixed() { + use quick_xml::Foo; + + let obj = Foo { + bar: "hello".into(), + baz: 42, + }; + + crate::utils::quick_xml_write_test( + &obj, + "tns:Foo", + "tests/feature/namespaces_unqualified/example/prefixed.xml", + ); +} + +#[cfg(not(feature = "update-expectations"))] +mod quick_xml { + #![allow(unused_imports)] + + include!("expected/quick_xml.rs"); +} + +/* quick_xml_local */ + +#[test] +fn generate_quick_xml_local() { + generate_test( + "tests/feature/namespaces_unqualified/schema.xsd", + "tests/feature/namespaces_unqualified/expected/quick_xml_local.rs", + config() + .with_quick_xml_deserialize() + .with_quick_xml_serialize_config(NamespaceSerialization::Local, None), + ); +} + +#[test] +#[cfg(not(feature = "update-expectations"))] +fn write_quick_xml_local() { + use quick_xml_local::Foo; + + let obj = Foo { + bar: "hello".into(), + baz: 42, + }; + + crate::utils::quick_xml_write_test( + &obj, + "Foo", + "tests/feature/namespaces_unqualified/example/default.xml", + ); +} + +#[test] +#[cfg(not(feature = "update-expectations"))] +fn write_quick_xml_local_prefixed() { + use quick_xml_local::Foo; + + let obj = Foo { + bar: "hello".into(), + baz: 42, + }; + + crate::utils::quick_xml_write_test( + &obj, + "tns:Foo", + "tests/feature/namespaces_unqualified/example/prefixed.xml", + ); +} + +#[cfg(not(feature = "update-expectations"))] +mod quick_xml_local { + #![allow(unused_imports)] + + include!("expected/quick_xml_local.rs"); +} diff --git a/xsd-parser/tests/feature/namespaces_unqualified/schema.xsd b/xsd-parser/tests/feature/namespaces_unqualified/schema.xsd new file mode 100644 index 00000000..a64c4ec7 --- /dev/null +++ b/xsd-parser/tests/feature/namespaces_unqualified/schema.xsd @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/xsd-parser/tests/feature/nillable/example/bar.xml b/xsd-parser/tests/feature/nillable/example/bar.xml index b7427574..de653206 100644 --- a/xsd-parser/tests/feature/nillable/example/bar.xml +++ b/xsd-parser/tests/feature/nillable/example/bar.xml @@ -1,4 +1,4 @@ - + 1 2 diff --git a/xsd-parser/tests/feature/nillable/example/dynamic_no_nil.xml b/xsd-parser/tests/feature/nillable/example/dynamic_no_nil.xml index 5d3b7b76..209d1d47 100644 --- a/xsd-parser/tests/feature/nillable/example/dynamic_no_nil.xml +++ b/xsd-parser/tests/feature/nillable/example/dynamic_no_nil.xml @@ -1,4 +1,4 @@ - + 42 100 200 diff --git a/xsd-parser/tests/feature/nillable/example/dynamic_with_nil.xml b/xsd-parser/tests/feature/nillable/example/dynamic_with_nil.xml index b3b4c7f0..41af067a 100644 --- a/xsd-parser/tests/feature/nillable/example/dynamic_with_nil.xml +++ b/xsd-parser/tests/feature/nillable/example/dynamic_with_nil.xml @@ -1,4 +1,4 @@ - + 42 diff --git a/xsd-parser/tests/feature/nillable/example/serialize.xml b/xsd-parser/tests/feature/nillable/example/serialize.xml index 09848801..b4944764 100644 --- a/xsd-parser/tests/feature/nillable/example/serialize.xml +++ b/xsd-parser/tests/feature/nillable/example/serialize.xml @@ -1,4 +1,4 @@ - + 1 diff --git a/xsd-parser/tests/feature/nillable/expected/dynamic_quick_xml.rs b/xsd-parser/tests/feature/nillable/expected/dynamic_quick_xml.rs index 4da74a09..cc312966 100644 --- a/xsd-parser/tests/feature/nillable/expected/dynamic_quick_xml.rs +++ b/xsd-parser/tests/feature/nillable/expected/dynamic_quick_xml.rs @@ -787,6 +787,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } return Ok(Some(Event::Start(bytes))); @@ -880,6 +881,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); CollectNamespaces::collect_namespaces(self.value, helper, &mut bytes); } return Ok(Some(Event::Start(bytes))); diff --git a/xsd-parser/tests/feature/nillable/expected/quick_xml.rs b/xsd-parser/tests/feature/nillable/expected/quick_xml.rs index 4a0d43ae..29affd7a 100644 --- a/xsd-parser/tests/feature/nillable/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/nillable/expected/quick_xml.rs @@ -767,6 +767,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); helper.write_xmlns( &mut bytes, Some(&super::PREFIX_XSI), @@ -861,7 +862,11 @@ pub mod quick_xml_serialize { Some("X"), false, )?); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } return Ok(Some(Event::Start(bytes))); } BarTypeSerializerState::X(x) => match x.next(helper).transpose()? { @@ -880,6 +885,7 @@ pub mod quick_xml_serialize { }, BarTypeSerializerState::End__ => { *self.state = BarTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } BarTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/nillable_dynamic_types/example/default.xml b/xsd-parser/tests/feature/nillable_dynamic_types/example/default.xml index 73492f88..a9413ed4 100644 --- a/xsd-parser/tests/feature/nillable_dynamic_types/example/default.xml +++ b/xsd-parser/tests/feature/nillable_dynamic_types/example/default.xml @@ -1,4 +1,4 @@ - + diff --git a/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml.rs b/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml.rs index 837e50f3..17a60477 100644 --- a/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml.rs @@ -710,6 +710,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); helper.write_xmlns( &mut bytes, Some(&super::PREFIX_XSI), @@ -768,12 +769,17 @@ pub mod quick_xml_serialize { IntermediateTypeSerializerState::Init__ => { *self.state = IntermediateTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, "intermediateValue", &self.value.intermediate_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } IntermediateTypeSerializerState::Done__ => return Ok(None), @@ -817,6 +823,10 @@ pub mod quick_xml_serialize { FinalTypeSerializerState::Init__ => { *self.state = FinalTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, @@ -828,6 +838,7 @@ pub mod quick_xml_serialize { "finalValue", &self.value.final_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } FinalTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml_optimized.rs b/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml_optimized.rs index b6b11115..73677310 100644 --- a/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml_optimized.rs +++ b/xsd-parser/tests/feature/nillable_dynamic_types/expected/quick_xml_optimized.rs @@ -786,6 +786,7 @@ pub mod quick_xml_serialize { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); helper.write_xmlns( &mut bytes, Some(&super::PREFIX_XSI), @@ -905,12 +906,17 @@ pub mod quick_xml_serialize { IntermediateTypeSerializerState::Init__ => { *self.state = IntermediateTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, "intermediateValue", &self.value.intermediate_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } IntermediateTypeSerializerState::Done__ => return Ok(None), @@ -954,6 +960,10 @@ pub mod quick_xml_serialize { FinalTypeSerializerState::Init__ => { *self.state = FinalTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib_opt(&mut bytes, "baseValue", &self.value.base_value)?; helper.write_attrib_opt( &mut bytes, @@ -965,6 +975,7 @@ pub mod quick_xml_serialize { "finalValue", &self.value.final_value, )?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } FinalTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/nonzero_int/example/default.xml b/xsd-parser/tests/feature/nonzero_int/example/default.xml index b9780377..24bbd449 100644 --- a/xsd-parser/tests/feature/nonzero_int/example/default.xml +++ b/xsd-parser/tests/feature/nonzero_int/example/default.xml @@ -1 +1 @@ - + diff --git a/xsd-parser/tests/feature/nonzero_int/expected/quick_xml.rs b/xsd-parser/tests/feature/nonzero_int/expected/quick_xml.rs index 20c78468..6451a144 100644 --- a/xsd-parser/tests/feature/nonzero_int/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/nonzero_int/expected/quick_xml.rs @@ -153,8 +153,13 @@ pub mod quick_xml_serialize { FooTypeSerializerState::Init__ => { *self.state = FooTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } helper.write_attrib(&mut bytes, "a-int", &self.value.a_int)?; helper.write_attrib(&mut bytes, "b-int", &self.value.b_int)?; + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } FooTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/feature/override_/expected/quick_xml.rs b/xsd-parser/tests/feature/override_/expected/quick_xml.rs index 1b3f7785..c72459a9 100644 --- a/xsd-parser/tests/feature/override_/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/override_/expected/quick_xml.rs @@ -425,8 +425,16 @@ pub mod tns { false, )?, ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -451,6 +459,7 @@ pub mod tns { } PersonTypeSerializerState::End__ => { *self.state = PersonTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -757,8 +766,16 @@ pub mod tns { false, ), ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -771,6 +788,7 @@ pub mod tns { } PersonsTypeSerializerState::End__ => { *self.state = PersonsTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -1620,8 +1638,16 @@ pub mod tns { false, ), ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -1634,6 +1660,7 @@ pub mod tns { } AdvancedPersonsTypeSerializerState::End__ => { *self.state = AdvancedPersonsTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -1692,8 +1719,16 @@ pub mod tns { false, )?, ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -1742,6 +1777,7 @@ pub mod tns { } PersonTypeSerializerState::End__ => { *self.state = PersonTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); diff --git a/xsd-parser/tests/feature/redefine/expected/quick_xml.rs b/xsd-parser/tests/feature/redefine/expected/quick_xml.rs index 1e2c3f2c..a42bffd3 100644 --- a/xsd-parser/tests/feature/redefine/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/redefine/expected/quick_xml.rs @@ -425,8 +425,16 @@ pub mod tns { false, )?, ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -451,6 +459,7 @@ pub mod tns { } PersonTypeSerializerState::End__ => { *self.state = PersonTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -757,8 +766,16 @@ pub mod tns { false, ), ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -771,6 +788,7 @@ pub mod tns { } PersonsTypeSerializerState::End__ => { *self.state = PersonsTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -1620,8 +1638,16 @@ pub mod tns { false, ), ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -1634,6 +1660,7 @@ pub mod tns { } AdvancedPersonsTypeSerializerState::End__ => { *self.state = AdvancedPersonsTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); @@ -1692,8 +1719,16 @@ pub mod tns { false, )?, ); - let bytes = + let mut bytes = ::xsd_parser_types::quick_xml::BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::super::NS_TNS, + ); + } return Ok(Some(::xsd_parser_types::quick_xml::Event::Start( bytes, ))); @@ -1742,6 +1777,7 @@ pub mod tns { } PersonTypeSerializerState::End__ => { *self.state = PersonTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(::xsd_parser_types::quick_xml::Event::End( ::xsd_parser_types::quick_xml::BytesEnd::new(self.name), ))); diff --git a/xsd-parser/tests/feature/schema_no_prefix/expected/quick_xml.rs b/xsd-parser/tests/feature/schema_no_prefix/expected/quick_xml.rs index 74df72be..c3e14526 100644 --- a/xsd-parser/tests/feature/schema_no_prefix/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/schema_no_prefix/expected/quick_xml.rs @@ -499,7 +499,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FooTypeSerializerState::Once(x) => match x.next(helper).transpose()? { diff --git a/xsd-parser/tests/feature/static_list/example/default.xml b/xsd-parser/tests/feature/static_list/example/default.xml index 212e012d..977382a4 100644 --- a/xsd-parser/tests/feature/static_list/example/default.xml +++ b/xsd-parser/tests/feature/static_list/example/default.xml @@ -1,5 +1,5 @@ - + 111 222 333 diff --git a/xsd-parser/tests/feature/static_list/expected/quick_xml.rs b/xsd-parser/tests/feature/static_list/expected/quick_xml.rs index fc6c0bbd..e4cc877d 100644 --- a/xsd-parser/tests/feature/static_list/expected/quick_xml.rs +++ b/xsd-parser/tests/feature/static_list/expected/quick_xml.rs @@ -232,7 +232,11 @@ pub mod quick_xml_serialize { Some("Item"), false, )); - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_TNS); + } return Ok(Some(Event::Start(bytes))); } ArrayTypeSerializerState::Item(x) => match x.next(helper).transpose()? { @@ -241,6 +245,7 @@ pub mod quick_xml_serialize { }, ArrayTypeSerializerState::End__ => { *self.state = ArrayTypeSerializerState::Done__; + helper.end_ns_scope(); return Ok(Some(Event::End(BytesEnd::new(self.name)))); } ArrayTypeSerializerState::Done__ => return Ok(None), diff --git a/xsd-parser/tests/schema/bmecat_etim_310/expected/quick_xml.rs b/xsd-parser/tests/schema/bmecat_etim_310/expected/quick_xml.rs index f914d878..d2b614df 100644 --- a/xsd-parser/tests/schema/bmecat_etim_310/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/bmecat_etim_310/expected/quick_xml.rs @@ -24004,7 +24004,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "version", &self.value.version)?; return Ok(Some(Event::Start(bytes))); } @@ -24158,7 +24158,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } HeaderElementTypeSerializerState::GeneratorInfo(x) => { @@ -24281,7 +24281,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } TNewCatalogElementTypeSerializerState::Product(x) => { @@ -24347,7 +24347,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib( &mut bytes, "prev_version", @@ -24418,7 +24418,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib( &mut bytes, "prev_version", @@ -24492,7 +24492,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } CatalogElementTypeSerializerState::Language(x) => { @@ -24654,7 +24654,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } BuyerElementTypeSerializerState::BuyerId(x) => { @@ -24746,7 +24746,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } SupplierElementTypeSerializerState::SupplierId(x) => { @@ -24851,7 +24851,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxHeaderSerializerState::UdxEdxfVersion(x) => { @@ -24955,7 +24955,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "mode", &self.value.mode)?; return Ok(Some(Event::Start(bytes))); } @@ -25167,7 +25167,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { TUpdateProductsProductElementTypeSerializerState :: Init__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdateProductsProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductDetails (WithSerializer :: serializer (& self . value . product_details , Some ("PRODUCT_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (IterSerializer :: new (& self . value . product_features [..] , Some ("PRODUCT_FEATURES") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (WithSerializer :: serializer (& self . value . product_order_details , Some ("PRODUCT_ORDER_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: MimeInfo (IterSerializer :: new (self . value . mime_info . as_ref () , Some ("MIME_INFO") , false)) , } TUpdateProductsProductElementTypeSerializerState :: MimeInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductReference (IterSerializer :: new (& self . value . product_reference [..] , Some ("PRODUCT_REFERENCE") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductReference (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (IterSerializer :: new (self . value . product_logistic_details . as_ref () , Some ("PRODUCT_LOGISTIC_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: End__ , } TUpdateProductsProductElementTypeSerializerState :: End__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdateProductsProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdateProductsProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { TUpdateProductsProductElementTypeSerializerState :: Init__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdateProductsProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductDetails (WithSerializer :: serializer (& self . value . product_details , Some ("PRODUCT_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (IterSerializer :: new (& self . value . product_features [..] , Some ("PRODUCT_FEATURES") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (WithSerializer :: serializer (& self . value . product_order_details , Some ("PRODUCT_ORDER_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: MimeInfo (IterSerializer :: new (self . value . mime_info . as_ref () , Some ("MIME_INFO") , false)) , } TUpdateProductsProductElementTypeSerializerState :: MimeInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductReference (IterSerializer :: new (& self . value . product_reference [..] , Some ("PRODUCT_REFERENCE") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductReference (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (IterSerializer :: new (self . value . product_logistic_details . as_ref () , Some ("PRODUCT_LOGISTIC_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: End__ , } TUpdateProductsProductElementTypeSerializerState :: End__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdateProductsProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdateProductsProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -25214,7 +25214,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { TUpdatePricesProductElementTypeSerializerState :: Init__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdatePricesProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: End__ , } TUpdatePricesProductElementTypeSerializerState :: End__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdatePricesProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdatePricesProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { TUpdatePricesProductElementTypeSerializerState :: Init__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdatePricesProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: End__ , } TUpdatePricesProductElementTypeSerializerState :: End__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdatePricesProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdatePricesProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -25258,7 +25258,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "default", &self.value.default)?; return Ok(Some(Event::Start(bytes))); } @@ -25319,7 +25319,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "lang", &self.value.lang)?; return Ok(Some(Event::Start(bytes))); } @@ -25380,7 +25380,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -25466,7 +25466,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -25532,7 +25532,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -25677,7 +25677,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } MimeInfoElementTypeSerializerState::Mime(x) => { @@ -25737,7 +25737,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -25833,7 +25833,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductDetailsElementTypeSerializerState::DescriptionShort(x) => { @@ -26064,7 +26064,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductFeaturesElementTypeSerializerState::ReferenceFeatureSystemName(x) => { @@ -26160,7 +26160,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductOrderDetailsElementTypeSerializerState::OrderUnit(x) => { @@ -26310,7 +26310,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductPriceDetailsElementTypeSerializerState::Datetime(x) => { @@ -26481,7 +26481,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxProductSerializerState::UdxEdxfManufacturerAcronym(x) => { @@ -26827,7 +26827,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; helper.write_attrib_opt(&mut bytes, "quantity", &self.value.quantity)?; return Ok(Some(Event::Start(bytes))); @@ -26931,7 +26931,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductLogisticDetailsElementTypeSerializerState::CustomsTariffNumber(x) => { @@ -27029,7 +27029,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } MimeElementTypeSerializerState::MimeType(x) => { @@ -27142,7 +27142,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -27203,7 +27203,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -27264,7 +27264,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -27327,7 +27327,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "lang", &self.value.lang)?; helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); @@ -27389,7 +27389,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "lang", &self.value.lang)?; helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); @@ -27451,7 +27451,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -27515,7 +27515,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FeatureElementTypeSerializerState::Fname(x) => match x @@ -27615,7 +27615,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -27722,7 +27722,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "price_type", &self.value.price_type)?; return Ok(Some(Event::Start(bytes))); } @@ -27856,7 +27856,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfDiscountGroupElementTypeSerializerState::Content__(x) => match x @@ -27952,7 +27952,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; helper.write_attrib_opt(&mut bytes, "date", &self.value.date)?; return Ok(Some(Event::Start(bytes))); @@ -28009,7 +28009,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfAdditionalFactorsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (WithSerializer :: serializer (& self . value . udx_edxf_additional_price_factor , Some ("UDX.EDXF.ADDITIONAL_PRICE_FACTOR") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (WithSerializer :: serializer (& self . value . udx_edxf_additional_factor_info , Some ("UDX.EDXF.ADDITIONAL_FACTOR_INFO") , false) ?) , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfAdditionalFactorsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfAdditionalFactorsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (WithSerializer :: serializer (& self . value . udx_edxf_additional_price_factor , Some ("UDX.EDXF.ADDITIONAL_PRICE_FACTOR") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (WithSerializer :: serializer (& self . value . udx_edxf_additional_factor_info , Some ("UDX.EDXF.ADDITIONAL_FACTOR_INFO") , false) ?) , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfAdditionalFactorsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28052,7 +28052,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (IterSerializer :: new (& self . value . udx_edxf_country_branch_number [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_NUMBER") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (IterSerializer :: new (& self . value . udx_edxf_country_branch_number [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_NUMBER") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28084,7 +28084,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (IterSerializer :: new (& self . value . udx_edxf_country_branch_supplier_id [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_SUPPLIER_ID") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (IterSerializer :: new (& self . value . udx_edxf_country_branch_supplier_id [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_SUPPLIER_ID") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28139,7 +28139,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfPackingUnitsElementTypeSerializerState::UdxEdxfPackingUnit(x) => match x @@ -28194,7 +28194,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (IterSerializer :: new (self . value . udx_edxf_netweight . as_ref () , Some ("UDX.EDXF.NETWEIGHT") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (IterSerializer :: new (self . value . udx_edxf_region_of_origin . as_ref () , Some ("UDX.EDXF.REGION_OF_ORIGIN") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (IterSerializer :: new (self . value . udx_edxf_netweight . as_ref () , Some ("UDX.EDXF.NETWEIGHT") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (IterSerializer :: new (self . value . udx_edxf_region_of_origin . as_ref () , Some ("UDX.EDXF.REGION_OF_ORIGIN") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28243,7 +28243,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfReachElementTypeSerializerState::UdxEdxfReachListdate(x) => { @@ -28329,7 +28329,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfSurchargeListElementTypeSerializerState::UdxEdxfSurcharge(x) => match x @@ -28394,7 +28394,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } CustomsTariffNumberElementTypeSerializerState::CustomsNumber(x) => match x @@ -28453,7 +28453,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28503,7 +28503,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28554,7 +28554,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfPackingUnitElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (WithSerializer :: serializer (& self . value . udx_edxf_quantity_min , Some ("UDX.EDXF.QUANTITY_MIN") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (IterSerializer :: new (self . value . udx_edxf_quantity_max . as_ref () , Some ("UDX.EDXF.QUANTITY_MAX") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (WithSerializer :: serializer (& self . value . udx_edxf_packing_unit_code , Some ("UDX.EDXF.PACKING_UNIT_CODE") , false) ?) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (IterSerializer :: new (& self . value . udx_edxf_packing_unit_name [..] , Some ("UDX.EDXF.PACKING_UNIT_NAME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (IterSerializer :: new (self . value . udx_edxf_package_break . as_ref () , Some ("UDX.EDXF.PACKAGE_BREAK") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (IterSerializer :: new (self . value . udx_edxf_volume . as_ref () , Some ("UDX.EDXF.VOLUME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (IterSerializer :: new (self . value . udx_edxf_weight . as_ref () , Some ("UDX.EDXF.WEIGHT") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (IterSerializer :: new (self . value . udx_edxf_length . as_ref () , Some ("UDX.EDXF.LENGTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (IterSerializer :: new (self . value . udx_edxf_width . as_ref () , Some ("UDX.EDXF.WIDTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (IterSerializer :: new (self . value . udx_edxf_depth . as_ref () , Some ("UDX.EDXF.DEPTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (IterSerializer :: new (self . value . udx_edxf_diameter . as_ref () , Some ("UDX.EDXF.DIAMETER") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (IterSerializer :: new (self . value . udx_edxf_gtin . as_ref () , Some ("UDX.EDXF.GTIN") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (IterSerializer :: new (self . value . udx_edxf_gs_1128 . as_ref () , Some ("UDX.EDXF.GS1_128") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: End__ , } UdxEdxfPackingUnitElementTypeSerializerState :: End__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfPackingUnitElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfPackingUnitElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfPackingUnitElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (WithSerializer :: serializer (& self . value . udx_edxf_quantity_min , Some ("UDX.EDXF.QUANTITY_MIN") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (IterSerializer :: new (self . value . udx_edxf_quantity_max . as_ref () , Some ("UDX.EDXF.QUANTITY_MAX") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (WithSerializer :: serializer (& self . value . udx_edxf_packing_unit_code , Some ("UDX.EDXF.PACKING_UNIT_CODE") , false) ?) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (IterSerializer :: new (& self . value . udx_edxf_packing_unit_name [..] , Some ("UDX.EDXF.PACKING_UNIT_NAME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (IterSerializer :: new (self . value . udx_edxf_package_break . as_ref () , Some ("UDX.EDXF.PACKAGE_BREAK") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (IterSerializer :: new (self . value . udx_edxf_volume . as_ref () , Some ("UDX.EDXF.VOLUME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (IterSerializer :: new (self . value . udx_edxf_weight . as_ref () , Some ("UDX.EDXF.WEIGHT") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (IterSerializer :: new (self . value . udx_edxf_length . as_ref () , Some ("UDX.EDXF.LENGTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (IterSerializer :: new (self . value . udx_edxf_width . as_ref () , Some ("UDX.EDXF.WIDTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (IterSerializer :: new (self . value . udx_edxf_depth . as_ref () , Some ("UDX.EDXF.DEPTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (IterSerializer :: new (self . value . udx_edxf_diameter . as_ref () , Some ("UDX.EDXF.DIAMETER") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (IterSerializer :: new (self . value . udx_edxf_gtin . as_ref () , Some ("UDX.EDXF.GTIN") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (IterSerializer :: new (self . value . udx_edxf_gs_1128 . as_ref () , Some ("UDX.EDXF.GS1_128") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: End__ , } UdxEdxfPackingUnitElementTypeSerializerState :: End__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfPackingUnitElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfPackingUnitElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -28604,7 +28604,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfSurchargeElementTypeSerializerState::Content__(x) => { diff --git a/xsd-parser/tests/schema/bmecat_etim_501/expected/quick_xml.rs b/xsd-parser/tests/schema/bmecat_etim_501/expected/quick_xml.rs index 141dfe1e..9144df0e 100644 --- a/xsd-parser/tests/schema/bmecat_etim_501/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/bmecat_etim_501/expected/quick_xml.rs @@ -35845,7 +35845,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "version", &self.value.version)?; return Ok(Some(Event::Start(bytes))); } @@ -36011,7 +36011,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } HeaderElementTypeSerializerState::GeneratorInfo(x) => { @@ -36134,7 +36134,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } TNewCatalogElementTypeSerializerState::Product(x) => { @@ -36200,7 +36200,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib( &mut bytes, "prev_version", @@ -36271,7 +36271,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib( &mut bytes, "prev_version", @@ -36342,7 +36342,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } TNewProductdataElementTypeSerializerState::Product(x) => { @@ -36411,7 +36411,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } CatalogElementTypeSerializerState::Language(x) => { @@ -36570,7 +36570,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } BuyerElementTypeSerializerState::BuyerId(x) => { @@ -36662,7 +36662,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } SupplierElementTypeSerializerState::SupplierId(x) => { @@ -36767,7 +36767,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxHeaderSerializerState::UdxEdxfVersion(x) => { @@ -36864,7 +36864,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "mode", &self.value.mode)?; return Ok(Some(Event::Start(bytes))); } @@ -37055,7 +37055,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { TUpdateProductsProductElementTypeSerializerState :: Init__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdateProductsProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductDetails (WithSerializer :: serializer (& self . value . product_details , Some ("PRODUCT_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (IterSerializer :: new (& self . value . product_features [..] , Some ("PRODUCT_FEATURES") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (WithSerializer :: serializer (& self . value . product_order_details , Some ("PRODUCT_ORDER_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductReference (IterSerializer :: new (& self . value . product_reference [..] , Some ("PRODUCT_REFERENCE") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductReference (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (IterSerializer :: new (self . value . product_logistic_details . as_ref () , Some ("PRODUCT_LOGISTIC_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: End__ , } TUpdateProductsProductElementTypeSerializerState :: End__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdateProductsProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdateProductsProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { TUpdateProductsProductElementTypeSerializerState :: Init__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdateProductsProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductDetails (WithSerializer :: serializer (& self . value . product_details , Some ("PRODUCT_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (IterSerializer :: new (& self . value . product_features [..] , Some ("PRODUCT_FEATURES") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductFeatures (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (WithSerializer :: serializer (& self . value . product_order_details , Some ("PRODUCT_ORDER_DETAILS") , false) ?) , } TUpdateProductsProductElementTypeSerializerState :: ProductOrderDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductReference (IterSerializer :: new (& self . value . product_reference [..] , Some ("PRODUCT_REFERENCE") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductReference (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (IterSerializer :: new (self . value . product_logistic_details . as_ref () , Some ("PRODUCT_LOGISTIC_DETAILS") , false)) , } TUpdateProductsProductElementTypeSerializerState :: ProductLogisticDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdateProductsProductElementTypeSerializerState :: End__ , } TUpdateProductsProductElementTypeSerializerState :: End__ => { * self . state = TUpdateProductsProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdateProductsProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdateProductsProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -37102,7 +37102,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { TUpdatePricesProductElementTypeSerializerState :: Init__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdatePricesProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: End__ , } TUpdatePricesProductElementTypeSerializerState :: End__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdatePricesProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdatePricesProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { TUpdatePricesProductElementTypeSerializerState :: Init__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: SupplierPid (WithSerializer :: serializer (& self . value . supplier_pid , Some ("SUPPLIER_PID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "mode" , & self . value . mode) ? ; return Ok (Some (Event :: Start (bytes))) } TUpdatePricesProductElementTypeSerializerState :: SupplierPid (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (IterSerializer :: new (& self . value . product_price_details [..] , Some ("PRODUCT_PRICE_DETAILS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: ProductPriceDetails (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (IterSerializer :: new (self . value . user_defined_extensions . as_ref () , Some ("USER_DEFINED_EXTENSIONS") , false)) , } TUpdatePricesProductElementTypeSerializerState :: UserDefinedExtensions (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = TUpdatePricesProductElementTypeSerializerState :: End__ , } TUpdatePricesProductElementTypeSerializerState :: End__ => { * self . state = TUpdatePricesProductElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } TUpdatePricesProductElementTypeSerializerState :: Done__ => return Ok (None) , TUpdatePricesProductElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -37168,7 +37168,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "mode", &self.value.mode)?; return Ok(Some(Event::Start(bytes))); } @@ -37289,7 +37289,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "default", &self.value.default)?; return Ok(Some(Event::Start(bytes))); } @@ -37350,7 +37350,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "lang", &self.value.lang)?; return Ok(Some(Event::Start(bytes))); } @@ -37409,7 +37409,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -37470,7 +37470,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -37536,7 +37536,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -37681,7 +37681,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } MimeInfoElementTypeSerializerState::Mime(x) => { @@ -37788,7 +37788,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductDetailsElementTypeSerializerState::DescriptionShort(x) => { @@ -38047,7 +38047,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductFeaturesElementTypeSerializerState::ReferenceFeatureSystemName(x) => { @@ -38143,7 +38143,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductOrderDetailsElementTypeSerializerState::OrderUnit(x) => { @@ -38300,7 +38300,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductPriceDetailsElementTypeSerializerState::Datetime(x) => { @@ -38529,7 +38529,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxProductSerializerState::UdxEdxfMimeInfo(x) => { @@ -38992,7 +38992,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; helper.write_attrib_opt(&mut bytes, "quantity", &self.value.quantity)?; return Ok(Some(Event::Start(bytes))); @@ -39111,7 +39111,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } ProductLogisticDetailsElementTypeSerializerState::CustomsTariffNumber(x) => { @@ -39257,7 +39257,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxProductdataSerializerState::UdxEdxfMimeInfo(x) => { @@ -39526,7 +39526,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } MimeElementTypeSerializerState::MimeSource(x) => { @@ -39612,7 +39612,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -39673,7 +39673,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -39734,7 +39734,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -39797,7 +39797,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib_opt(&mut bytes, "lang", &self.value.lang)?; helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); @@ -39862,7 +39862,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } FeatureElementTypeSerializerState::Fname(x) => match x @@ -39960,7 +39960,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); } @@ -40037,7 +40037,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); helper.write_attrib(&mut bytes, "price_type", &self.value.price_type)?; return Ok(Some(Event::Start(bytes))); } @@ -40170,7 +40170,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } PriceBaseElementTypeSerializerState::PriceUnit(x) => { @@ -40254,7 +40254,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfMimeInfoElementTypeSerializerState::UdxEdxfMime(x) => { @@ -40320,7 +40320,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfDiscountGroupElementTypeSerializerState::Content__(x) => match x @@ -40412,7 +40412,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfAdditionalFactorsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (WithSerializer :: serializer (& self . value . udx_edxf_additional_price_factor , Some ("UDX.EDXF.ADDITIONAL_PRICE_FACTOR") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (IterSerializer :: new (& self . value . udx_edxf_additional_factor_info [..] , Some ("UDX.EDXF.ADDITIONAL_FACTOR_INFO") , false)) , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfAdditionalFactorsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfAdditionalFactorsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (WithSerializer :: serializer (& self . value . udx_edxf_additional_price_factor , Some ("UDX.EDXF.ADDITIONAL_PRICE_FACTOR") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalPriceFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (IterSerializer :: new (& self . value . udx_edxf_additional_factor_info [..] , Some ("UDX.EDXF.ADDITIONAL_FACTOR_INFO") , false)) , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: UdxEdxfAdditionalFactorInfo (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ , } UdxEdxfAdditionalFactorsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfAdditionalFactorsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfAdditionalFactorsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -40455,7 +40455,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (IterSerializer :: new (& self . value . udx_edxf_country_branch_number [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_NUMBER") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (IterSerializer :: new (& self . value . udx_edxf_country_branch_number [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_NUMBER") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: UdxEdxfCountryBranchNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -40487,7 +40487,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (IterSerializer :: new (& self . value . udx_edxf_country_branch_supplier_id [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_SUPPLIER_ID") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (IterSerializer :: new (& self . value . udx_edxf_country_branch_supplier_id [..] , Some ("UDX.EDXF.COUNTRY_BRANCH_SUPPLIER_ID") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: UdxEdxfCountryBranchSupplierId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -40542,7 +40542,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfPackingUnitsElementTypeSerializerState::UdxEdxfPackingUnit(x) => match x @@ -40602,7 +40602,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetvolume (IterSerializer :: new (self . value . udx_edxf_netvolume . as_ref () , Some ("UDX.EDXF.NETVOLUME") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetvolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (IterSerializer :: new (self . value . udx_edxf_netweight . as_ref () , Some ("UDX.EDXF.NETWEIGHT") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetlength (IterSerializer :: new (self . value . udx_edxf_netlength . as_ref () , Some ("UDX.EDXF.NETLENGTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetlength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetwidth (IterSerializer :: new (self . value . udx_edxf_netwidth . as_ref () , Some ("UDX.EDXF.NETWIDTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetwidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdepth (IterSerializer :: new (self . value . udx_edxf_netdepth . as_ref () , Some ("UDX.EDXF.NETDEPTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdiameter (IterSerializer :: new (self . value . udx_edxf_netdiameter . as_ref () , Some ("UDX.EDXF.NETDIAMETER") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (IterSerializer :: new (self . value . udx_edxf_region_of_origin . as_ref () , Some ("UDX.EDXF.REGION_OF_ORIGIN") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetvolume (IterSerializer :: new (self . value . udx_edxf_netvolume . as_ref () , Some ("UDX.EDXF.NETVOLUME") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetvolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (IterSerializer :: new (self . value . udx_edxf_netweight . as_ref () , Some ("UDX.EDXF.NETWEIGHT") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetweight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetlength (IterSerializer :: new (self . value . udx_edxf_netlength . as_ref () , Some ("UDX.EDXF.NETLENGTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetlength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetwidth (IterSerializer :: new (self . value . udx_edxf_netwidth . as_ref () , Some ("UDX.EDXF.NETWIDTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetwidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdepth (IterSerializer :: new (self . value . udx_edxf_netdepth . as_ref () , Some ("UDX.EDXF.NETDEPTH") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdiameter (IterSerializer :: new (self . value . udx_edxf_netdiameter . as_ref () , Some ("UDX.EDXF.NETDIAMETER") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfNetdiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (IterSerializer :: new (self . value . udx_edxf_region_of_origin . as_ref () , Some ("UDX.EDXF.REGION_OF_ORIGIN") , false)) , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: UdxEdxfRegionOfOrigin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ , } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductLogisticDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -40653,7 +40653,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfReachElementTypeSerializerState::UdxEdxfReachListdate(x) => { @@ -40816,7 +40816,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardousSubstances (IterSerializer :: new (& self . value . udx_edxf_hazardous_substances [..] , Some ("UDX.EDXF.HAZARDOUS_SUBSTANCES") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardousSubstances (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfShippingName (IterSerializer :: new (self . value . udx_edxf_shipping_name . as_ref () , Some ("UDX.EDXF.SHIPPING_NAME") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfShippingName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPackingGroup (IterSerializer :: new (self . value . udx_edxf_packing_group . as_ref () , Some ("UDX.EDXF.PACKING_GROUP") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPackingGroup (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTransportCategory (IterSerializer :: new (self . value . udx_edxf_transport_category . as_ref () , Some ("UDX.EDXF.TRANSPORT_CATEGORY") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTransportCategory (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfMultiplicationFactor (IterSerializer :: new (self . value . udx_edxf_multiplication_factor . as_ref () , Some ("UDX.EDXF.MULTIPLICATION_FACTOR") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfMultiplicationFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLimitedQuantities (IterSerializer :: new (self . value . udx_edxf_limited_quantities . as_ref () , Some ("UDX.EDXF.LIMITED_QUANTITIES") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLimitedQuantities (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfExceptedQuantities (IterSerializer :: new (self . value . udx_edxf_excepted_quantities . as_ref () , Some ("UDX.EDXF.EXCEPTED_QUANTITIES") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfExceptedQuantities (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfAggregationState (IterSerializer :: new (self . value . udx_edxf_aggregation_state . as_ref () , Some ("UDX.EDXF.AGGREGATION_STATE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfAggregationState (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfSpecialProvisionId (IterSerializer :: new (& self . value . udx_edxf_special_provision_id [..] , Some ("UDX.EDXF.SPECIAL_PROVISION_ID") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfSpecialProvisionId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardClass (IterSerializer :: new (& self . value . udx_edxf_hazard_class [..] , Some ("UDX.EDXF.HAZARD_CLASS") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardClass (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfClassificationCode (IterSerializer :: new (self . value . udx_edxf_classification_code . as_ref () , Some ("UDX.EDXF.CLASSIFICATION_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfClassificationCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardLabel (IterSerializer :: new (& self . value . udx_edxf_hazard_label [..] , Some ("UDX.EDXF.HAZARD_LABEL") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardLabel (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfEnvironmentalHazards (IterSerializer :: new (self . value . udx_edxf_environmental_hazards . as_ref () , Some ("UDX.EDXF.ENVIRONMENTAL_HAZARDS") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfEnvironmentalHazards (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTunnelCode (IterSerializer :: new (self . value . udx_edxf_tunnel_code . as_ref () , Some ("UDX.EDXF.TUNNEL_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTunnelCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsLabelCode (IterSerializer :: new (& self . value . udx_edxf_ghs_label_code [..] , Some ("UDX.EDXF.GHS_LABEL_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsLabelCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsSignalWord (IterSerializer :: new (self . value . udx_edxf_ghs_signal_word . as_ref () , Some ("UDX.EDXF.GHS_SIGNAL_WORD") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsSignalWord (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardStatement (IterSerializer :: new (& self . value . udx_edxf_hazard_statement [..] , Some ("UDX.EDXF.HAZARD_STATEMENT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardStatement (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPrecautionaryStatement (IterSerializer :: new (& self . value . udx_edxf_precautionary_statement [..] , Some ("UDX.EDXF.PRECAUTIONARY_STATEMENT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPrecautionaryStatement (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLiIonTested (IterSerializer :: new (self . value . udx_edxf_li_ion_tested . as_ref () , Some ("UDX.EDXF.LI-ION_TESTED") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLiIonTested (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLithiumAmount (IterSerializer :: new (self . value . udx_edxf_lithium_amount . as_ref () , Some ("UDX.EDXF.LITHIUM_AMOUNT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLithiumAmount (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfBatteryEnergy (IterSerializer :: new (self . value . udx_edxf_battery_energy . as_ref () , Some ("UDX.EDXF.BATTERY_ENERGY") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfBatteryEnergy (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfNos274 (IterSerializer :: new (self . value . udx_edxf_nos_274 . as_ref () , Some ("UDX.EDXF.NOS_274") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfNos274 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardTrigger (IterSerializer :: new (& self . value . udx_edxf_hazard_trigger [..] , Some ("UDX.EDXF.HAZARD_TRIGGER") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardTrigger (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: End__ , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardousSubstances (IterSerializer :: new (& self . value . udx_edxf_hazardous_substances [..] , Some ("UDX.EDXF.HAZARDOUS_SUBSTANCES") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardousSubstances (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfShippingName (IterSerializer :: new (self . value . udx_edxf_shipping_name . as_ref () , Some ("UDX.EDXF.SHIPPING_NAME") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfShippingName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPackingGroup (IterSerializer :: new (self . value . udx_edxf_packing_group . as_ref () , Some ("UDX.EDXF.PACKING_GROUP") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPackingGroup (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTransportCategory (IterSerializer :: new (self . value . udx_edxf_transport_category . as_ref () , Some ("UDX.EDXF.TRANSPORT_CATEGORY") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTransportCategory (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfMultiplicationFactor (IterSerializer :: new (self . value . udx_edxf_multiplication_factor . as_ref () , Some ("UDX.EDXF.MULTIPLICATION_FACTOR") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfMultiplicationFactor (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLimitedQuantities (IterSerializer :: new (self . value . udx_edxf_limited_quantities . as_ref () , Some ("UDX.EDXF.LIMITED_QUANTITIES") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLimitedQuantities (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfExceptedQuantities (IterSerializer :: new (self . value . udx_edxf_excepted_quantities . as_ref () , Some ("UDX.EDXF.EXCEPTED_QUANTITIES") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfExceptedQuantities (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfAggregationState (IterSerializer :: new (self . value . udx_edxf_aggregation_state . as_ref () , Some ("UDX.EDXF.AGGREGATION_STATE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfAggregationState (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfSpecialProvisionId (IterSerializer :: new (& self . value . udx_edxf_special_provision_id [..] , Some ("UDX.EDXF.SPECIAL_PROVISION_ID") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfSpecialProvisionId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardClass (IterSerializer :: new (& self . value . udx_edxf_hazard_class [..] , Some ("UDX.EDXF.HAZARD_CLASS") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardClass (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfClassificationCode (IterSerializer :: new (self . value . udx_edxf_classification_code . as_ref () , Some ("UDX.EDXF.CLASSIFICATION_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfClassificationCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardLabel (IterSerializer :: new (& self . value . udx_edxf_hazard_label [..] , Some ("UDX.EDXF.HAZARD_LABEL") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardLabel (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfEnvironmentalHazards (IterSerializer :: new (self . value . udx_edxf_environmental_hazards . as_ref () , Some ("UDX.EDXF.ENVIRONMENTAL_HAZARDS") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfEnvironmentalHazards (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTunnelCode (IterSerializer :: new (self . value . udx_edxf_tunnel_code . as_ref () , Some ("UDX.EDXF.TUNNEL_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfTunnelCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsLabelCode (IterSerializer :: new (& self . value . udx_edxf_ghs_label_code [..] , Some ("UDX.EDXF.GHS_LABEL_CODE") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsLabelCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsSignalWord (IterSerializer :: new (self . value . udx_edxf_ghs_signal_word . as_ref () , Some ("UDX.EDXF.GHS_SIGNAL_WORD") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfGhsSignalWord (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardStatement (IterSerializer :: new (& self . value . udx_edxf_hazard_statement [..] , Some ("UDX.EDXF.HAZARD_STATEMENT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardStatement (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPrecautionaryStatement (IterSerializer :: new (& self . value . udx_edxf_precautionary_statement [..] , Some ("UDX.EDXF.PRECAUTIONARY_STATEMENT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfPrecautionaryStatement (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLiIonTested (IterSerializer :: new (self . value . udx_edxf_li_ion_tested . as_ref () , Some ("UDX.EDXF.LI-ION_TESTED") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLiIonTested (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLithiumAmount (IterSerializer :: new (self . value . udx_edxf_lithium_amount . as_ref () , Some ("UDX.EDXF.LITHIUM_AMOUNT") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfLithiumAmount (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfBatteryEnergy (IterSerializer :: new (self . value . udx_edxf_battery_energy . as_ref () , Some ("UDX.EDXF.BATTERY_ENERGY") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfBatteryEnergy (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfNos274 (IterSerializer :: new (self . value . udx_edxf_nos_274 . as_ref () , Some ("UDX.EDXF.NOS_274") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfNos274 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardTrigger (IterSerializer :: new (& self . value . udx_edxf_hazard_trigger [..] , Some ("UDX.EDXF.HAZARD_TRIGGER") , false)) , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: UdxEdxfHazardTrigger (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: End__ , } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfSpecialTreatmentClassDetailsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -40872,7 +40872,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfSurchargeListElementTypeSerializerState::UdxEdxfSurcharge(x) => match x @@ -40939,7 +40939,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfWarrantyElementTypeSerializerState::UdxEdxfWarrantyBusiness(x) => { @@ -41005,7 +41005,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfProductEtimDynamicElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: UdxEdxfProductEtimReleaseDate (WithSerializer :: serializer (& self . value . udx_edxf_product_etim_release_date , Some ("UDX.EDXF.PRODUCT_ETIM_RELEASE_DATE") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductEtimDynamicElementTypeSerializerState :: UdxEdxfProductEtimReleaseDate (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: End__ , } UdxEdxfProductEtimDynamicElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductEtimDynamicElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductEtimDynamicElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfProductEtimDynamicElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: UdxEdxfProductEtimReleaseDate (WithSerializer :: serializer (& self . value . udx_edxf_product_etim_release_date , Some ("UDX.EDXF.PRODUCT_ETIM_RELEASE_DATE") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductEtimDynamicElementTypeSerializerState :: UdxEdxfProductEtimReleaseDate (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: End__ , } UdxEdxfProductEtimDynamicElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductEtimDynamicElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductEtimDynamicElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductEtimDynamicElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41057,7 +41057,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfProductFeaturesMcElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcId (WithSerializer :: serializer (& self . value . udx_edxf_reference_feature_mc_id , Some ("UDX.EDXF.REFERENCE_FEATURE_MC_ID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcVersion (WithSerializer :: serializer (& self . value . udx_edxf_reference_feature_mc_version , Some ("UDX.EDXF.REFERENCE_FEATURE_MC_VERSION") , false) ?) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcVersion (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfBimStatus (IterSerializer :: new (self . value . udx_edxf_bim_status . as_ref () , Some ("UDX.EDXF.BIM_STATUS") , false)) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfBimStatus (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfFeatureMc (IterSerializer :: new (& self . value . udx_edxf_feature_mc [..] , Some ("UDX.EDXF.FEATURE_MC") , false)) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfFeatureMc (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: End__ , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductFeaturesMcElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductFeaturesMcElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfProductFeaturesMcElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcId (WithSerializer :: serializer (& self . value . udx_edxf_reference_feature_mc_id , Some ("UDX.EDXF.REFERENCE_FEATURE_MC_ID") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcId (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcVersion (WithSerializer :: serializer (& self . value . udx_edxf_reference_feature_mc_version , Some ("UDX.EDXF.REFERENCE_FEATURE_MC_VERSION") , false) ?) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfReferenceFeatureMcVersion (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfBimStatus (IterSerializer :: new (self . value . udx_edxf_bim_status . as_ref () , Some ("UDX.EDXF.BIM_STATUS") , false)) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfBimStatus (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfFeatureMc (IterSerializer :: new (& self . value . udx_edxf_feature_mc [..] , Some ("UDX.EDXF.FEATURE_MC") , false)) , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: UdxEdxfFeatureMc (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: End__ , } UdxEdxfProductFeaturesMcElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductFeaturesMcElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductFeaturesMcElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductFeaturesMcElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41100,7 +41100,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfProductCharacteristicsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: UdxEdxfProductCharacteristic (IterSerializer :: new (& self . value . udx_edxf_product_characteristic [..] , Some ("UDX.EDXF.PRODUCT_CHARACTERISTIC") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductCharacteristicsElementTypeSerializerState :: UdxEdxfProductCharacteristic (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: End__ , } UdxEdxfProductCharacteristicsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductCharacteristicsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductCharacteristicsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfProductCharacteristicsElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: UdxEdxfProductCharacteristic (IterSerializer :: new (& self . value . udx_edxf_product_characteristic [..] , Some ("UDX.EDXF.PRODUCT_CHARACTERISTIC") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfProductCharacteristicsElementTypeSerializerState :: UdxEdxfProductCharacteristic (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: End__ , } UdxEdxfProductCharacteristicsElementTypeSerializerState :: End__ => { * self . state = UdxEdxfProductCharacteristicsElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfProductCharacteristicsElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfProductCharacteristicsElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41148,7 +41148,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } CustomsTariffNumberElementTypeSerializerState::CustomsNumber(x) => match x @@ -41220,7 +41220,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfMimeElementTypeSerializerState::UdxEdxfMimeSource(x) => { @@ -41381,7 +41381,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchNumbersUdxEdxfCountryBranchNumberElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41431,7 +41431,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "type" , & self . value . type_) ? ; helper . write_attrib (& mut bytes , "country" , & self . value . country) ? ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Content__ (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ , } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: End__ => { * self . state = UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfCountryBranchSupplierIdsUdxEdxfCountryBranchSupplierIdElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41483,7 +41483,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfPackingUnitElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (WithSerializer :: serializer (& self . value . udx_edxf_quantity_min , Some ("UDX.EDXF.QUANTITY_MIN") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (IterSerializer :: new (self . value . udx_edxf_quantity_max . as_ref () , Some ("UDX.EDXF.QUANTITY_MAX") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (WithSerializer :: serializer (& self . value . udx_edxf_packing_unit_code , Some ("UDX.EDXF.PACKING_UNIT_CODE") , false) ?) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (IterSerializer :: new (& self . value . udx_edxf_packing_unit_name [..] , Some ("UDX.EDXF.PACKING_UNIT_NAME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (IterSerializer :: new (self . value . udx_edxf_package_break . as_ref () , Some ("UDX.EDXF.PACKAGE_BREAK") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingParts (IterSerializer :: new (self . value . udx_edxf_packing_parts . as_ref () , Some ("UDX.EDXF.PACKING_PARTS") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingParts (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (IterSerializer :: new (self . value . udx_edxf_volume . as_ref () , Some ("UDX.EDXF.VOLUME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (IterSerializer :: new (self . value . udx_edxf_weight . as_ref () , Some ("UDX.EDXF.WEIGHT") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (IterSerializer :: new (self . value . udx_edxf_length . as_ref () , Some ("UDX.EDXF.LENGTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (IterSerializer :: new (self . value . udx_edxf_width . as_ref () , Some ("UDX.EDXF.WIDTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (IterSerializer :: new (self . value . udx_edxf_depth . as_ref () , Some ("UDX.EDXF.DEPTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (IterSerializer :: new (self . value . udx_edxf_diameter . as_ref () , Some ("UDX.EDXF.DIAMETER") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (IterSerializer :: new (self . value . udx_edxf_gtin . as_ref () , Some ("UDX.EDXF.GTIN") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (IterSerializer :: new (self . value . udx_edxf_gs_1128 . as_ref () , Some ("UDX.EDXF.GS1_128") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: End__ , } UdxEdxfPackingUnitElementTypeSerializerState :: End__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfPackingUnitElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfPackingUnitElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfPackingUnitElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (WithSerializer :: serializer (& self . value . udx_edxf_quantity_min , Some ("UDX.EDXF.QUANTITY_MIN") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (IterSerializer :: new (self . value . udx_edxf_quantity_max . as_ref () , Some ("UDX.EDXF.QUANTITY_MAX") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfQuantityMax (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (WithSerializer :: serializer (& self . value . udx_edxf_packing_unit_code , Some ("UDX.EDXF.PACKING_UNIT_CODE") , false) ?) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitCode (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (IterSerializer :: new (& self . value . udx_edxf_packing_unit_name [..] , Some ("UDX.EDXF.PACKING_UNIT_NAME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingUnitName (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (IterSerializer :: new (self . value . udx_edxf_package_break . as_ref () , Some ("UDX.EDXF.PACKAGE_BREAK") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackageBreak (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingParts (IterSerializer :: new (self . value . udx_edxf_packing_parts . as_ref () , Some ("UDX.EDXF.PACKING_PARTS") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfPackingParts (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (IterSerializer :: new (self . value . udx_edxf_volume . as_ref () , Some ("UDX.EDXF.VOLUME") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfVolume (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (IterSerializer :: new (self . value . udx_edxf_weight . as_ref () , Some ("UDX.EDXF.WEIGHT") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWeight (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (IterSerializer :: new (self . value . udx_edxf_length . as_ref () , Some ("UDX.EDXF.LENGTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfLength (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (IterSerializer :: new (self . value . udx_edxf_width . as_ref () , Some ("UDX.EDXF.WIDTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfWidth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (IterSerializer :: new (self . value . udx_edxf_depth . as_ref () , Some ("UDX.EDXF.DEPTH") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDepth (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (IterSerializer :: new (self . value . udx_edxf_diameter . as_ref () , Some ("UDX.EDXF.DIAMETER") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfDiameter (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (IterSerializer :: new (self . value . udx_edxf_gtin . as_ref () , Some ("UDX.EDXF.GTIN") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGtin (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (IterSerializer :: new (self . value . udx_edxf_gs_1128 . as_ref () , Some ("UDX.EDXF.GS1_128") , false)) , } UdxEdxfPackingUnitElementTypeSerializerState :: UdxEdxfGs1128 (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: End__ , } UdxEdxfPackingUnitElementTypeSerializerState :: End__ => { * self . state = UdxEdxfPackingUnitElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfPackingUnitElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfPackingUnitElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41522,7 +41522,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfHazardousSubstancesElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfUnNumber (WithSerializer :: serializer (& self . value . udx_edxf_un_number , Some ("UDX.EDXF.UN_NUMBER") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfUnNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfNetWeightOfHazardousSubstance (IterSerializer :: new (self . value . udx_edxf_net_weight_of_hazardous_substance . as_ref () , Some ("UDX.EDXF.NET_WEIGHT_OF_HAZARDOUS_SUBSTANCE") , false)) , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfNetWeightOfHazardousSubstance (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfVolumeOfHazardousSubstances (IterSerializer :: new (self . value . udx_edxf_volume_of_hazardous_substances . as_ref () , Some ("UDX.EDXF.VOLUME_OF_HAZARDOUS_SUBSTANCES") , false)) , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfVolumeOfHazardousSubstances (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: End__ , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: End__ => { * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfHazardousSubstancesElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfHazardousSubstancesElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfHazardousSubstancesElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfUnNumber (WithSerializer :: serializer (& self . value . udx_edxf_un_number , Some ("UDX.EDXF.UN_NUMBER") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfUnNumber (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfNetWeightOfHazardousSubstance (IterSerializer :: new (self . value . udx_edxf_net_weight_of_hazardous_substance . as_ref () , Some ("UDX.EDXF.NET_WEIGHT_OF_HAZARDOUS_SUBSTANCE") , false)) , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfNetWeightOfHazardousSubstance (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfVolumeOfHazardousSubstances (IterSerializer :: new (self . value . udx_edxf_volume_of_hazardous_substances . as_ref () , Some ("UDX.EDXF.VOLUME_OF_HAZARDOUS_SUBSTANCES") , false)) , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: UdxEdxfVolumeOfHazardousSubstances (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: End__ , } UdxEdxfHazardousSubstancesElementTypeSerializerState :: End__ => { * self . state = UdxEdxfHazardousSubstancesElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfHazardousSubstancesElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfHazardousSubstancesElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -41572,7 +41572,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfSurchargeElementTypeSerializerState::Content__(x) => { @@ -41668,7 +41668,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfFeatureMcElementTypeSerializerState::Content__(x) => { @@ -41777,7 +41777,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfProductCharacteristicElementTypeSerializerState::Content__(x) => { @@ -41905,7 +41905,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UdxEdxfMatrixValuesElementTypeSerializerState::UdxEdxfMatrixValue(x) => match x @@ -41960,7 +41960,7 @@ pub mod quick_xml_serialize { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { UdxEdxfMatrixValueElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixSourceValue (WithSerializer :: serializer (& self . value . udx_edxf_matrix_source_value , Some ("UDX.EDXF.MATRIX_SOURCE_VALUE") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixSourceValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixResultValue (WithSerializer :: serializer (& self . value . udx_edxf_matrix_result_value , Some ("UDX.EDXF.MATRIX_RESULT_VALUE") , false) ?) , } UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixResultValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: End__ , } UdxEdxfMatrixValueElementTypeSerializerState :: End__ => { * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfMatrixValueElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfMatrixValueElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { UdxEdxfMatrixValueElementTypeSerializerState :: Init__ => { * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixSourceValue (WithSerializer :: serializer (& self . value . udx_edxf_matrix_source_value , Some ("UDX.EDXF.MATRIX_SOURCE_VALUE") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixSourceValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixResultValue (WithSerializer :: serializer (& self . value . udx_edxf_matrix_result_value , Some ("UDX.EDXF.MATRIX_RESULT_VALUE") , false) ?) , } UdxEdxfMatrixValueElementTypeSerializerState :: UdxEdxfMatrixResultValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: End__ , } UdxEdxfMatrixValueElementTypeSerializerState :: End__ => { * self . state = UdxEdxfMatrixValueElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } UdxEdxfMatrixValueElementTypeSerializerState :: Done__ => return Ok (None) , UdxEdxfMatrixValueElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } diff --git a/xsd-parser/tests/schema/ideal_merchant_acquirer/expected/quick_xml.rs b/xsd-parser/tests/schema/ideal_merchant_acquirer/expected/quick_xml.rs index 04948781..b9b66848 100644 --- a/xsd-parser/tests/schema/ideal_merchant_acquirer/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/ideal_merchant_acquirer/expected/quick_xml.rs @@ -9139,7 +9139,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); if self.is_root { helper.write_xmlns(&mut bytes, Some(&super::PREFIX_DS), &super::NS_DS); } @@ -9236,7 +9236,7 @@ pub mod quick_xml_serialize { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } DirectoryReqMerchantTypeSerializerState::MerchantId(x) => { diff --git a/xsd-parser/tests/schema/musicxml/expected/quick_xml.rs b/xsd-parser/tests/schema/musicxml/expected/quick_xml.rs index 205b916c..adbaae25 100644 --- a/xsd-parser/tests/schema/musicxml/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/musicxml/expected/quick_xml.rs @@ -161889,6 +161889,11 @@ pub mod xs { ::xsd_parser_types::quick_xml::BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_XS, + ); helper.write_xmlns( &mut bytes, Some(&super::super::PREFIX_XSI), diff --git a/xsd-parser/tests/schema/ofd/expected/quick_xml.rs b/xsd-parser/tests/schema/ofd/expected/quick_xml.rs index fbcfcab2..38b546a3 100644 --- a/xsd-parser/tests/schema/ofd/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/ofd/expected/quick_xml.rs @@ -478,7 +478,11 @@ pub mod annotations { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } AnnotationsXElementTypeSerializerState::Page(x) => { @@ -542,7 +546,11 @@ pub mod annotations { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "PageID", &self.value.page_id)?; return Ok(Some(Event::Start(bytes))); } @@ -2560,7 +2568,11 @@ pub mod annotion { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } PageAnnotXElementTypeSerializerState::Annot(x) => { @@ -2634,7 +2646,11 @@ pub mod annotion { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib(&mut bytes, "Creator", &self.value.creator)?; @@ -2750,7 +2766,11 @@ pub mod annotion { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } PageAnnotAnnotParametersXElementTypeSerializerState::Parameter(x) => { @@ -2825,7 +2845,11 @@ pub mod annotion { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "Boundary", @@ -2928,7 +2952,11 @@ pub mod annotion { * self . state = PageAnnotAnnotParametersParameterXElementTypeSerializerState :: Content__ (WithSerializer :: serializer (& self . value . content , None , false) ?) ; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Name", &self.value.name)?; return Ok(Some(Event::Start(bytes))); } @@ -3518,7 +3546,11 @@ pub mod attachments { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } AttachmentsXElementTypeSerializerState::Attachment(x) => { @@ -3582,7 +3614,11 @@ pub mod attachments { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "Name", &self.value.name)?; helper.write_attrib_opt(&mut bytes, "Format", &self.value.format)?; @@ -4188,7 +4224,11 @@ pub mod custom_tags { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CustomTagsXElementTypeSerializerState::CustomTag(x) => { @@ -4253,7 +4293,11 @@ pub mod custom_tags { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "NameSpace", &self.value.name_space)?; return Ok(Some(Event::Start(bytes))); } @@ -8490,7 +8534,11 @@ pub mod definition { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Event", &self.value.event)?; return Ok(Some(Event::Start(bytes))); } @@ -8657,7 +8705,11 @@ pub mod definition { *self.state = CtDestXTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib(&mut bytes, "PageID", &self.value.page_id)?; helper.write_attrib_opt(&mut bytes, "Left", &self.value.left)?; @@ -8721,7 +8773,11 @@ pub mod definition { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtPageAreaXTypeSerializerState::PhysicalBox(x) => { @@ -8831,7 +8887,11 @@ pub mod definition { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtRegionXTypeSerializerState::Area(x) => { @@ -8905,7 +8965,11 @@ pub mod definition { } let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtActionGotoXElementTypeSerializerState::Dest(x) => { @@ -8971,7 +9035,11 @@ pub mod definition { *self.state = CtActionUriXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "URI", &self.value.uri)?; helper.write_attrib_opt(&mut bytes, "Base", &self.value.base)?; helper.write_attrib_opt(&mut bytes, "Target", &self.value.target)?; @@ -9020,7 +9088,11 @@ pub mod definition { *self.state = CtActionGotoAxElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "AttachID", &self.value.attach_id)?; helper.write_attrib(&mut bytes, "NewWindow", &self.value.new_window)?; helper.end_ns_scope(); @@ -9068,7 +9140,11 @@ pub mod definition { *self.state = CtActionSoundXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "ResourceID", @@ -9126,7 +9202,11 @@ pub mod definition { *self.state = CtActionMovieXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "ResourceID", @@ -9188,7 +9268,11 @@ pub mod definition { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Start", &self.value.start)?; return Ok(Some(Event::Start(bytes))); } @@ -9388,7 +9472,11 @@ pub mod definition { *self.state = CtActionGotoBookmarkXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Name", &self.value.name)?; helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); @@ -9437,7 +9525,11 @@ pub mod definition { *self.state = CtRegionAreaLineXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Point1", &self.value.point_1)?; helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); @@ -9485,7 +9577,11 @@ pub mod definition { CtRegionAreaOuadraticBezierXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Pointl", &self.value.pointl)?; helper.write_attrib(&mut bytes, "Point2", &self.value.point_2)?; helper.end_ns_scope(); @@ -9539,7 +9635,11 @@ pub mod definition { CtRegionAreaCubicBezierXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt(&mut bytes, "Point1", &self.value.point_1)?; helper.write_attrib_opt(&mut bytes, "Point2", &self.value.point_2)?; helper.write_attrib(&mut bytes, "Point3", &self.value.point_3)?; @@ -9592,7 +9692,11 @@ pub mod definition { *self.state = CtRegionAreaArcXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "SweepDirection", @@ -14979,7 +15083,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Name", &self.value.name)?; return Ok(Some(Event::Start(bytes))); } @@ -15052,7 +15160,11 @@ pub mod document { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Title", &self.value.title)?; helper.write_attrib_opt(&mut bytes, "Count", &self.value.count)?; helper.write_attrib(&mut bytes, "Expanded", &self.value.expanded)?; @@ -15148,7 +15260,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtPermissionXTypeSerializerState::Edit(x) => { @@ -15312,7 +15428,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtVPreferencesXTypeSerializerState::Content__(x) => { @@ -15575,7 +15695,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocumentXElementTypeSerializerState::CommonData(x) => { @@ -15771,7 +15895,11 @@ pub mod document { *self.state = CtPermissionPrintXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Printable", &self.value.printable)?; helper.write_attrib(&mut bytes, "Copies", &self.value.copies)?; helper.end_ns_scope(); @@ -15822,7 +15950,11 @@ pub mod document { CtPermissionValidPeriodXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "StartDate", @@ -15899,7 +16031,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocumentCommonDataXElementTypeSerializerState::MaxUnitId(x) => { @@ -16045,7 +16181,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocumentPagesXElementTypeSerializerState::Page(x) => match x @@ -16112,7 +16252,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocumentOutlinesXElementTypeSerializerState::OutlineElem(x) => { @@ -16178,7 +16322,11 @@ pub mod document { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocumentBookmarksXElementTypeSerializerState::Bookmark(x) => { @@ -16240,7 +16388,11 @@ pub mod document { DocumentCommonDataTemplatePageXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib_opt(&mut bytes, "ZOrder", &self.value.z_order)?; @@ -16295,7 +16447,11 @@ pub mod document { *self.state = DocumentPagesPageXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "BaseLoc", &self.value.base_loc)?; helper.end_ns_scope(); @@ -17406,7 +17562,11 @@ pub mod extensions { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "AppName", &self.value.app_name)?; helper.write_attrib_opt(&mut bytes, "Company", &self.value.company)?; helper.write_attrib_opt( @@ -17561,7 +17721,11 @@ pub mod extensions { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } ExtensionsXElementTypeSerializerState::Extension(x) => { @@ -17621,7 +17785,11 @@ pub mod extensions { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Name", &self.value.name)?; helper.write_attrib_opt(&mut bytes, "Type", &self.value.type_)?; return Ok(Some(Event::Start(bytes))); @@ -20391,7 +20559,11 @@ pub mod ofd { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtDocInfoXTypeSerializerState::DocId(x) => { @@ -20622,7 +20794,11 @@ pub mod ofd { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Version", &self.value.version)?; helper.write_attrib(&mut bytes, "DocType", &self.value.doc_type)?; return Ok(Some(Event::Start(bytes))); @@ -20688,7 +20864,11 @@ pub mod ofd { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtDocInfoKeywordsXElementTypeSerializerState::Keyword(x) => { @@ -20764,7 +20944,11 @@ pub mod ofd { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtDocInfoCustomDatasXElementTypeSerializerState::CustomData(x) => { @@ -20842,7 +21026,11 @@ pub mod ofd { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } OfdDocBodyXElementTypeSerializerState::DocInfo(x) => { @@ -20954,7 +21142,11 @@ pub mod ofd { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } OfdDocBodyVersionsXElementTypeSerializerState::Version(x) => { @@ -21016,7 +21208,11 @@ pub mod ofd { OfdDocBodyVersionsVersionXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "Index", &self.value.index)?; helper.write_attrib(&mut bytes, "Current", &self.value.current)?; @@ -37550,7 +37746,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "MapType", &self.value.map_type)?; helper.write_attrib_opt(&mut bytes, "MapUnit", &self.value.map_unit)?; helper.write_attrib(&mut bytes, "Extend", &self.value.extend)?; @@ -37622,7 +37822,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "CodePosition", @@ -37701,7 +37905,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtClipXTypeSerializerState::Area(x) => match x.next(helper).transpose()? { @@ -37765,7 +37973,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt(&mut bytes, "Value", &self.value.value)?; helper.write_attrib_opt(&mut bytes, "Index", &self.value.index)?; helper.write_attrib_opt( @@ -37947,7 +38159,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -38060,7 +38276,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt(&mut bytes, "Extend", &self.value.extend)?; return Ok(Some(Event::Start(bytes))); } @@ -38151,7 +38371,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -38276,7 +38500,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -38412,7 +38640,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "VerticesPerRow", @@ -38498,7 +38730,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib_opt( &mut bytes, @@ -38678,7 +38914,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtPageBlockXTypeSerializerState::Content__(x) => { @@ -38881,7 +39121,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -39029,7 +39273,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Width", &self.value.width)?; helper.write_attrib(&mut bytes, "Height", &self.value.height)?; helper.write_attrib_opt(&mut bytes, "XStep", &self.value.x_step)?; @@ -39113,7 +39361,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "MapType", &self.value.map_type)?; helper.write_attrib_opt(&mut bytes, "MapUnit", &self.value.map_unit)?; helper.write_attrib( @@ -39196,7 +39448,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -39442,7 +39698,11 @@ pub mod page { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } PageXElementTypeSerializerState::Template(x) => { @@ -39561,7 +39821,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "Position", @@ -39631,7 +39895,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "DrawParam", @@ -39773,7 +40041,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtGraphicUnitActionsXElementTypeSerializerState::Action(x) => { @@ -39838,7 +40110,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtGraphicUnitClipsXElementTypeSerializerState::Clip(x) => { @@ -39907,7 +40183,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "X", &self.value.x)?; helper.write_attrib(&mut bytes, "y", &self.value.y)?; helper.write_attrib_opt( @@ -39985,7 +40265,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "LineWidth", &self.value.line_width)?; helper.write_attrib( &mut bytes, @@ -40071,7 +40355,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt(&mut bytes, "X", &self.value.x)?; helper.write_attrib_opt(&mut bytes, "y", &self.value.y)?; return Ok(Some(Event::Start(bytes))); @@ -40145,7 +40433,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -40320,7 +40612,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -40501,7 +40797,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -40660,7 +40960,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; helper.write_attrib(&mut bytes, "Visible", &self.value.visible)?; @@ -40784,7 +41088,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; return Ok(Some(Event::Start(bytes))); } @@ -40906,7 +41214,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "Thumbnail", @@ -41025,7 +41337,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt(&mut bytes, "X", &self.value.x)?; helper.write_attrib_opt(&mut bytes, "y", &self.value.y)?; helper.write_attrib_opt(&mut bytes, "DeltaX", &self.value.delta_x)?; @@ -41086,7 +41402,11 @@ pub mod page { *self.state = PageTemplateXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "TemplateID", @@ -41148,7 +41468,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } PageContentXElementTypeSerializerState::Layer(x) => { @@ -41214,7 +41538,11 @@ pub mod page { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib_opt( &mut bytes, @@ -46804,7 +47132,11 @@ pub mod res { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib( &mut bytes, @@ -46887,7 +47219,11 @@ pub mod res { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "Relative", @@ -46987,7 +47323,11 @@ pub mod res { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "FontName", &self.value.font_name)?; helper.write_attrib_opt( &mut bytes, @@ -47066,7 +47406,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib_opt(&mut bytes, "Format", &self.value.format)?; return Ok(Some(Event::Start(bytes))); @@ -47133,7 +47477,11 @@ pub mod res { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Width", &self.value.width)?; helper.write_attrib(&mut bytes, "Height", &self.value.height)?; return Ok(Some(Event::Start(bytes))); @@ -47229,7 +47577,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "BaseLoc", &self.value.base_loc)?; return Ok(Some(Event::Start(bytes))); } @@ -47395,7 +47747,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } CtColorSpacePaletteXElementTypeSerializerState::Cv(x) => { @@ -47470,7 +47826,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } ResColorSpacesXElementTypeSerializerState::ColorSpace(x) => match x @@ -47541,7 +47901,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } ResDrawParamsXElementTypeSerializerState::DrawParam(x) => match x @@ -47608,7 +47972,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } ResFontsXElementTypeSerializerState::Font(x) => { @@ -47678,7 +48046,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } ResMultiMediasXElementTypeSerializerState::MultiMedia(x) => match x @@ -47738,7 +48110,7 @@ pub mod res { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { ResCompositeGraphicUnitsXElementTypeSerializerState :: Init__ => { * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: CompositeGraphicUnit (IterSerializer :: new (& self . value . composite_graphic_unit [..] , Some ("CompositeGraphicUnit") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } ResCompositeGraphicUnitsXElementTypeSerializerState :: CompositeGraphicUnit (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: End__ , } ResCompositeGraphicUnitsXElementTypeSerializerState :: End__ => { * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } ResCompositeGraphicUnitsXElementTypeSerializerState :: Done__ => return Ok (None) , ResCompositeGraphicUnitsXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { ResCompositeGraphicUnitsXElementTypeSerializerState :: Init__ => { * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: CompositeGraphicUnit (IterSerializer :: new (& self . value . composite_graphic_unit [..] , Some ("CompositeGraphicUnit") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } ResCompositeGraphicUnitsXElementTypeSerializerState :: CompositeGraphicUnit (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: End__ , } ResCompositeGraphicUnitsXElementTypeSerializerState :: End__ => { * self . state = ResCompositeGraphicUnitsXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } ResCompositeGraphicUnitsXElementTypeSerializerState :: Done__ => return Ok (None) , ResCompositeGraphicUnitsXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -47793,7 +48165,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib( &mut bytes, @@ -47887,7 +48263,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib_opt( &mut bytes, "Relative", @@ -47995,7 +48375,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "FontName", &self.value.font_name)?; helper.write_attrib_opt( &mut bytes, @@ -48077,7 +48461,11 @@ pub mod res { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib_opt(&mut bytes, "Format", &self.value.format)?; helper.write_attrib(&mut bytes, "ID", &self.value.id)?; @@ -48146,7 +48534,7 @@ pub mod res { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Init__ => { * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Thumbnail (IterSerializer :: new (self . value . thumbnail . as_ref () , Some ("Thumbnail") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "Width" , & self . value . width) ? ; helper . write_attrib (& mut bytes , "Height" , & self . value . height) ? ; helper . write_attrib (& mut bytes , "ID" , & self . value . id) ? ; return Ok (Some (Event :: Start (bytes))) } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Thumbnail (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Substitution (IterSerializer :: new (self . value . substitution . as_ref () , Some ("Substitution") , false)) , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Substitution (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Content (WithSerializer :: serializer (& self . value . content , Some ("Content") , false) ?) , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Content (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: End__ , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: End__ => { * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Done__ => return Ok (None) , ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Init__ => { * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Thumbnail (IterSerializer :: new (self . value . thumbnail . as_ref () , Some ("Thumbnail") , false)) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "Width" , & self . value . width) ? ; helper . write_attrib (& mut bytes , "Height" , & self . value . height) ? ; helper . write_attrib (& mut bytes , "ID" , & self . value . id) ? ; return Ok (Some (Event :: Start (bytes))) } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Thumbnail (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Substitution (IterSerializer :: new (self . value . substitution . as_ref () , Some ("Substitution") , false)) , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Substitution (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Content (WithSerializer :: serializer (& self . value . content , Some ("Content") , false) ?) , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Content (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: End__ , } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: End__ => { * self . state = ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Done__ => return Ok (None) , ResCompositeGraphicUnitsCompositeGraphicUnitXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -50079,7 +50467,11 @@ pub mod signature { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } SianatureXElementTypeSerializerState::SiqnedInfo(x) => { @@ -50171,7 +50563,7 @@ pub mod signature { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { SianatureSiqnedInfoXElementTypeSerializerState :: Init__ => { * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Provider (WithSerializer :: serializer (& self . value . provider , Some ("Provider") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } SianatureSiqnedInfoXElementTypeSerializerState :: Provider (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: SignatureMethod (IterSerializer :: new (self . value . signature_method . as_ref () , Some ("SignatureMethod") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: SignatureMethod (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: SianatureDateTime (IterSerializer :: new (self . value . sianature_date_time . as_ref () , Some ("SianatureDateTime") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: SianatureDateTime (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: References (WithSerializer :: serializer (& self . value . references , Some ("References") , false) ?) , } SianatureSiqnedInfoXElementTypeSerializerState :: References (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: StampAnnot (IterSerializer :: new (& self . value . stamp_annot [..] , Some ("StampAnnot") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: StampAnnot (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Seal (IterSerializer :: new (self . value . seal . as_ref () , Some ("Seal") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: Seal (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: End__ , } SianatureSiqnedInfoXElementTypeSerializerState :: End__ => { * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } SianatureSiqnedInfoXElementTypeSerializerState :: Done__ => return Ok (None) , SianatureSiqnedInfoXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { SianatureSiqnedInfoXElementTypeSerializerState :: Init__ => { * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Provider (WithSerializer :: serializer (& self . value . provider , Some ("Provider") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: super :: NS_UNNAMED_5) ; return Ok (Some (Event :: Start (bytes))) } SianatureSiqnedInfoXElementTypeSerializerState :: Provider (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: SignatureMethod (IterSerializer :: new (self . value . signature_method . as_ref () , Some ("SignatureMethod") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: SignatureMethod (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: SianatureDateTime (IterSerializer :: new (self . value . sianature_date_time . as_ref () , Some ("SianatureDateTime") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: SianatureDateTime (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: References (WithSerializer :: serializer (& self . value . references , Some ("References") , false) ?) , } SianatureSiqnedInfoXElementTypeSerializerState :: References (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: StampAnnot (IterSerializer :: new (& self . value . stamp_annot [..] , Some ("StampAnnot") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: StampAnnot (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Seal (IterSerializer :: new (self . value . seal . as_ref () , Some ("Seal") , false)) , } SianatureSiqnedInfoXElementTypeSerializerState :: Seal (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: End__ , } SianatureSiqnedInfoXElementTypeSerializerState :: End__ => { * self . state = SianatureSiqnedInfoXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } SianatureSiqnedInfoXElementTypeSerializerState :: Done__ => return Ok (None) , SianatureSiqnedInfoXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -50212,7 +50604,11 @@ pub mod signature { SianatureSiqnedInfoProviderXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "ProviderName", @@ -50285,7 +50681,11 @@ pub mod signature { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib( &mut bytes, "CheckMethod", @@ -50354,7 +50754,11 @@ pub mod signature { SianatureSiqnedInfoStampAnnotXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "PageRef", &self.value.page_ref)?; helper.write_attrib(&mut bytes, "Boundary", &self.value.boundary)?; @@ -50418,7 +50822,11 @@ pub mod signature { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } SianatureSiqnedInfoSealXElementTypeSerializerState::BaseLoc(x) => { @@ -50480,7 +50888,7 @@ pub mod signature { helper: &mut SerializeHelper, ) -> Result>, Error> { loop { - match & mut * self . state { SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Init__ => { * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: CheckValue (WithSerializer :: serializer (& self . value . check_value , Some ("CheckValue") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns (& mut bytes , None , & super :: super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "FileRef" , & self . value . file_ref) ? ; return Ok (Some (Event :: Start (bytes))) } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: CheckValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: End__ , } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: End__ => { * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Done__ => return Ok (None) , SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } + match & mut * self . state { SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Init__ => { * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: CheckValue (WithSerializer :: serializer (& self . value . check_value , Some ("CheckValue") , false) ?) ; let mut bytes = BytesStart :: new (self . name) ; helper . begin_ns_scope () ; helper . write_xmlns_for_tag (& mut bytes , self . name , & super :: super :: NS_UNNAMED_5) ; helper . write_attrib (& mut bytes , "FileRef" , & self . value . file_ref) ? ; return Ok (Some (Event :: Start (bytes))) } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: CheckValue (x) => match x . next (helper) . transpose () ? { Some (event) => return Ok (Some (event)) , None => * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: End__ , } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: End__ => { * self . state = SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Done__ ; helper . end_ns_scope () ; return Ok (Some (Event :: End (BytesEnd :: new (self . name)))) ; } SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Done__ => return Ok (None) , SianatureSiqnedInfoReferencesReferenceXElementTypeSerializerState :: Phantom__ (_) => unreachable ! () , } } } } @@ -51003,7 +51411,11 @@ pub mod signatures { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } SiqnaturesXElementTypeSerializerState::MaxSignId(x) => { @@ -51073,7 +51485,11 @@ pub mod signatures { *self.state = SiqnaturesSignatureXElementTypeSerializerState::Done__; let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib(&mut bytes, "Type", &self.value.type_)?; helper.write_attrib(&mut bytes, "BaseLoc", &self.value.base_loc)?; @@ -51865,7 +52281,11 @@ pub mod version { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; helper.write_attrib_opt(&mut bytes, "Version", &self.value.version)?; helper.write_attrib_opt(&mut bytes, "Name", &self.value.name)?; @@ -51953,7 +52373,11 @@ pub mod version { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); return Ok(Some(Event::Start(bytes))); } DocVersionFileListXElementTypeSerializerState::File(x) => { @@ -52019,7 +52443,11 @@ pub mod version { ); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::super::NS_UNNAMED_5); + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_UNNAMED_5, + ); helper.write_attrib(&mut bytes, "ID", &self.value.id)?; return Ok(Some(Event::Start(bytes))); } @@ -52341,6 +52769,11 @@ pub mod xs { let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); if self.is_root { + helper.write_xmlns_for_tag( + &mut bytes, + self.name, + &super::super::NS_XS, + ); helper.write_xmlns( &mut bytes, Some(&super::super::PREFIX_XSI), diff --git a/xsd-parser/tests/schema/sitemap/expected/quick_xml.rs b/xsd-parser/tests/schema/sitemap/expected/quick_xml.rs index 1a0eaa17..e92b73f4 100644 --- a/xsd-parser/tests/schema/sitemap/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/sitemap/expected/quick_xml.rs @@ -735,7 +735,7 @@ pub mod quick_xml_serialize { )); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } UrlsetTypeSerializerState::Url(x) => match x.next(helper).transpose()? { @@ -800,7 +800,7 @@ pub mod quick_xml_serialize { )?); let mut bytes = BytesStart::new(self.name); helper.begin_ns_scope(); - helper.write_xmlns(&mut bytes, None, &super::NS_UNNAMED_5); + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_UNNAMED_5); return Ok(Some(Event::Start(bytes))); } TUrlTypeSerializerState::Loc(x) => match x.next(helper).transpose()? { diff --git a/xsd-parser/tests/schema/xcb/expected/quick_xml.rs b/xsd-parser/tests/schema/xcb/expected/quick_xml.rs index ddfe5ff3..e11af91c 100644 --- a/xsd-parser/tests/schema/xcb/expected/quick_xml.rs +++ b/xsd-parser/tests/schema/xcb/expected/quick_xml.rs @@ -18006,7 +18006,12 @@ pub mod quick_xml_serialize { match &mut *self.state { AnyTypeSerializerState::Init__ => { *self.state = AnyTypeSerializerState::Done__; - let bytes = BytesStart::new(self.name); + let mut bytes = BytesStart::new(self.name); + helper.begin_ns_scope(); + if self.is_root { + helper.write_xmlns_for_tag(&mut bytes, self.name, &super::NS_XS); + } + helper.end_ns_scope(); return Ok(Some(Event::Empty(bytes))); } AnyTypeSerializerState::Done__ => return Ok(None),