[go: up one dir, main page]

parsing fails when namespace is redefined

This xml file cannot be loaded in minidom.spectest.xml

<rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
 <rng:name xmlns:rng="http://relaxng.org/ns/structure/1.0"></rng:name>
</rng:grammar>
thread 'spectest' panicked at 'called `Result::unwrap()` on an `Err` value: Error(InvalidElementClosed, State { next_error: None, backtrace: Some(stack backtrace:
   0:       0x56e3199c44 - backtrace::backtrace::libunwind::trace
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/backtrace/libunwind.rs:53
                         - backtrace::backtrace::trace<closure>
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/backtrace/mod.rs:42
   1:       0x56e319a0af - backtrace::capture::{{impl}}::new_unresolved
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/capture.rs:88
   2:       0x56e319a00e - backtrace::capture::{{impl}}::new
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.3/src/capture.rs:63
   3:       0x56e318d18c - error_chain::make_backtrace
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.10.0/src/lib.rs:417
   4:       0x56e318d24f - error_chain::{{impl}}::default
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/error-chain-0.10.0/src/lib.rs:504
   5:       0x56e3173d77 - minidom::error::{{impl}}::from_kind
                        at /home/user/src/relaxng_rust/<error_chain_processed macros>:52
   6:       0x56e3174032 - minidom::error::{{impl}}::from
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/error.rs:5
   7:       0x56e315b002 - core::convert::{{impl}}::into<minidom::error::ErrorKind,minidom::error::Error>
                        at /checkout/src/libcore/convert.rs:398
   8:       0x56e31715dd - minidom::element::{{impl}}::from_reader<&[u8]>
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/element.rs:322
   9:       0x56e31702b5 - minidom::element::{{impl}}::from_str
                        at /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/minidom-0.6.2/src/element.rs:124
  10:       0x56e310e9b3 - core::convert::{{impl}}::try_from<minidom::element::Element>
                        at /checkout/src/libcore/convert.rs:453
  11:       0x56e31093c3 - core::str::{{impl}}::parse<minidom::element::Element>
                        at /checkout/src/libcore/str/mod.rs:2466
  12:       0x56e310d093 - alloc::str::{{impl}}::parse<minidom::element::Element>
                        at /checkout/src/liballoc/str.rs:1724
  13:       0x56e311239d - spec::spectest
                        at tests/spec.rs:9
  14:       0x56e3122751 - <F as test::FnBox<T>>::call_box::h909adad0de87b437
  15:       0x56e321f91c - __rust_maybe_catch_panic
  16:       0x56e311371a - std::sys_common::backtrace::__rust_begin_short_backtrace::h711e533aad7ce303
  17:       0x56e3114462 - std::panicking::try::do_call::hb1969d8724e85263
  18:       0x56e321f91c - __rust_maybe_catch_panic
  19:       0x56e311bf92 - <F as alloc::boxed::FnBox<A>>::call_box::h3d7dc99368b296fa
  20:       0x56e32178cb - std::sys::imp::thread::Thread::new::thread_start::h10fad04495d944f7
  21:     0x7fb7b46b9233 - start_thread
  22:     0x7fb7b41e575e - __GI___clone
  23:                0x0 - <unknown>) })', /checkout/src/libcore/result.rs:860:4
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::_print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::begin_panic_new
   6: std::panicking::begin_panic_fmt
   7: rust_begin_unwind
   8: core::panicking::panic_fmt
   9: core::result::unwrap_failed
             at /checkout/src/libcore/macros.rs:41
  10: <core::result::Result<T, E>>::unwrap
             at /checkout/src/libcore/result.rs:738
  11: spec::spectest
             at tests/spec.rs:9
  12: <F as test::FnBox<T>>::call_box
  13: __rust_maybe_catch_panic