From 3cf431403ce090c618f6c269a2a8e809c01d602c Mon Sep 17 00:00:00 2001 From: Bergmann89 Date: Thu, 26 Mar 2026 18:34:45 +0000 Subject: [PATCH 1/2] Fix duplicated render step bug When using some of the helper methods to add render steps to the config, some of the steps were added twice. This commit fixes that by ensuring that the helper methods only add the render step if it hasn't been added already. --- xsd-parser/src/config/mod.rs | 163 ++++++++++++++++++++++++++++++ xsd-parser/src/config/renderer.rs | 9 +- 2 files changed, 171 insertions(+), 1 deletion(-) 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 { .. }) From 58475fd3304c680580f77e99b48300bac9c35edd Mon Sep 17 00:00:00 2001 From: Bergmann89 Date: Thu, 26 Mar 2026 19:49:52 +0000 Subject: [PATCH 2/2] Fix xmlns emission for unqualified schemas and make it prefix-dependent Emit suitable namespace declarations (xmlns) on the root element for schemas with unqualified elements. In XSD, global elements are always namespace-qualified regardless of elementFormDefault, so the root element must declare its namespace even when local elements are unqualified. Additionally, make the emitted xmlns prefix depend on the tag name passed to the serializer at runtime. If the name contains a prefix (e.g. "tns:Element"), the declaration uses that prefix (xmlns:tns="..."); otherwise it emits the default namespace (xmlns="..."). --- xsd-parser-types/src/quick_xml/serialize.rs | 24 + .../renderer/steps/quick_xml/serialize.rs | 87 ++- .../absolute_paths/expected/quick_xml.rs | 7 +- .../any_simple_type/example/custom.xml | 3 +- .../any_simple_type/example/default.xml | 2 +- .../expected/quick_xml_custom_type.rs | 1 + .../expected/quick_xml_default.rs | 2 + .../feature/any_type/expected/quick_xml.rs | 5 + .../feature/build_in/expected/quick_xml.rs | 7 +- .../complex_type_empty/expected/quick_xml.rs | 2 +- .../feature/custom_type/expected/quick_xml.rs | 2 +- .../duplicate_idents/expected/quick_xml.rs | 35 +- .../feature/dynamic_types/example/default.xml | 2 +- .../dynamic_types/expected/quick_xml.rs | 17 +- .../expected/quick_xml_optimized.rs | 17 +- .../element_refs_with_ns/example/default.xml | 2 +- .../expected/quick_xml.rs | 40 +- .../expected/quick_xml.rs | 7 +- .../empty_string/expected/quick_xml.rs | 7 +- .../tests/feature/facets/example/default.xml | 2 +- .../feature/facets/expected/quick_xml.rs | 7 +- xsd-parser/tests/feature/mod.rs | 1 + .../example/global_alt_prefixed.xml | 8 + .../expected/quick_xml_dynamic_alt.rs | 2 +- .../expected/quick_xml_dynamic_no_alt.rs | 6 +- .../expected/quick_xml_global_alt.rs | 2 +- .../expected/quick_xml_global_no_alt.rs | 6 +- .../expected/quick_xml_local_alt.rs | 6 +- .../expected/quick_xml_local_no_alt.rs | 6 +- .../tests/feature/namespaces_qualified/mod.rs | 21 + .../example/default.xml | 5 + .../example/prefixed.xml | 5 + .../expected/quick_xml.rs | 373 ++++++++++ .../expected/quick_xml_local.rs | 371 ++++++++++ .../feature/namespaces_unqualified/mod.rs | 132 ++++ .../feature/namespaces_unqualified/schema.xsd | 14 + .../tests/feature/nillable/example/bar.xml | 2 +- .../nillable/example/dynamic_no_nil.xml | 2 +- .../nillable/example/dynamic_with_nil.xml | 2 +- .../feature/nillable/example/serialize.xml | 2 +- .../nillable/expected/dynamic_quick_xml.rs | 2 + .../feature/nillable/expected/quick_xml.rs | 8 +- .../example/default.xml | 2 +- .../expected/quick_xml.rs | 11 + .../expected/quick_xml_optimized.rs | 11 + .../feature/nonzero_int/example/default.xml | 2 +- .../feature/nonzero_int/expected/quick_xml.rs | 5 + .../feature/override_/expected/quick_xml.rs | 44 +- .../feature/redefine/expected/quick_xml.rs | 44 +- .../schema_no_prefix/expected/quick_xml.rs | 2 +- .../feature/static_list/example/default.xml | 2 +- .../feature/static_list/expected/quick_xml.rs | 7 +- .../bmecat_etim_310/expected/quick_xml.rs | 100 +-- .../bmecat_etim_501/expected/quick_xml.rs | 124 ++-- .../expected/quick_xml.rs | 4 +- .../schema/musicxml/expected/quick_xml.rs | 5 + .../tests/schema/ofd/expected/quick_xml.rs | 655 +++++++++++++++--- .../schema/sitemap/expected/quick_xml.rs | 4 +- .../tests/schema/xcb/expected/quick_xml.rs | 7 +- 59 files changed, 1974 insertions(+), 309 deletions(-) create mode 100644 xsd-parser/tests/feature/namespaces_qualified/example/global_alt_prefixed.xml create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/example/default.xml create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/example/prefixed.xml create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml.rs create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/expected/quick_xml_local.rs create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/mod.rs create mode 100644 xsd-parser/tests/feature/namespaces_unqualified/schema.xsd 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/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),