xso-proc: validate XML names against rxml_validation::NcName
That way we avoid a fallible conversion at runtime.
This commit is contained in:
parent
bc785fde28
commit
1611c5fba9
4 changed files with 65 additions and 17 deletions
|
|
@ -77,8 +77,8 @@ fn from_xml_impl(input: Item) -> Result<TokenStream> {
|
|||
let from_events_builder_ty_name = quote::format_ident!("{}FromEvents", ident);
|
||||
let state_ty_name = quote::format_ident!("{}FromEventsState", ident);
|
||||
|
||||
let unknown_attr_err = format!("Unknown attribute in {} element.", xml_name.value());
|
||||
let unknown_child_err = format!("Unknown child in {} element.", xml_name.value());
|
||||
let unknown_attr_err = format!("Unknown attribute in {} element.", xml_name.as_str());
|
||||
let unknown_child_err = format!("Unknown child in {} element.", xml_name.as_str());
|
||||
let docstr = format!("Build a [`{}`] from XML events", ident);
|
||||
|
||||
#[cfg_attr(not(feature = "minidom"), allow(unused_mut))]
|
||||
|
|
@ -215,15 +215,7 @@ fn into_xml_impl(input: Item) -> Result<TokenStream> {
|
|||
::xso::exports::rxml::parser::EventMetrics::zero(),
|
||||
(
|
||||
::xso::exports::rxml::Namespace::from_str(#xml_namespace),
|
||||
match ::xso::exports::rxml::NcName::try_from(#xml_name) {
|
||||
::core::result::Result::Ok(v) => v,
|
||||
::core::result::Result::Err(e) => {
|
||||
self.0 = ::core::option::Option::None;
|
||||
return ::core::option::Option::Some(::core::result::Result::Err(e.into()));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
::xso::exports::rxml::NcName::from(#xml_name),
|
||||
),
|
||||
::xso::exports::rxml::AttrMap::new(),
|
||||
)))
|
||||
|
|
|
|||
Loading…
Reference in a new issue