Skip to content

Commit f856fe7

Browse files
committed
Deprecate .prefixes(), .resolve(), .resolve_attribute(), and .resolve_element() of NsReader
Use `NamespaceResolver` methods instead of `NsReader` methods
1 parent 3b7e6db commit f856fe7

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

Changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@
2121
### Misc Changes
2222

2323
- [#908]: Increase minimal supported `serde` version from 1.0.139 to 1.0.180.
24+
- [#913]: Deprecate `.prefixes()`, `.resolve()`, `.resolve_attribute()`, and `.resolve_element()`
25+
of `NsReader`. Use `.resolver().bindings()` and `.resolver().resolve()` methods instead.
2426

2527
[#908]: https://github.com/tafia/quick-xml/pull/908
28+
[#913]: https://github.com/tafia/quick-xml/pull/913
2629

2730

2831
## 0.38.4 -- 2025-11-??

src/name.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,13 +365,11 @@ impl<'a> AsRef<[u8]> for Namespace<'a> {
365365

366366
////////////////////////////////////////////////////////////////////////////////////////////////////
367367

368-
/// Result of [prefix] resolution which creates by [`NamespaceResolver::resolve`], [`NsReader::resolve_attribute`],
369-
/// [`NsReader::resolve_element`], [`NsReader::read_resolved_event`] and
368+
/// Result of [prefix] resolution which creates by [`NamespaceResolver::resolve`],
369+
/// [`NsReader::read_resolved_event`] and
370370
/// [`NsReader::read_resolved_event_into`] methods.
371371
///
372372
/// [prefix]: Prefix
373-
/// [`NsReader::resolve_attribute`]: crate::reader::NsReader::resolve_attribute
374-
/// [`NsReader::resolve_element`]: crate::reader::NsReader::resolve_element
375373
/// [`NsReader::read_resolved_event`]: crate::reader::NsReader::read_resolved_event
376374
/// [`NsReader::read_resolved_event_into`]: crate::reader::NsReader::read_resolved_event_into
377375
#[derive(Clone, PartialEq, Eq, Hash)]
@@ -1084,6 +1082,7 @@ impl<'a> Iterator for NamespaceBindingsIter<'a> {
10841082
impl<'a> FusedIterator for NamespaceBindingsIter<'a> {}
10851083

10861084
/// The previous name for [`NamespaceBindingsIter`].
1085+
#[deprecated = "Use NamespaceBindingsIter instead"]
10871086
pub type PrefixIter<'a> = NamespaceBindingsIter<'a>;
10881087

10891088
/// Iterator on the declared namespace bindings on specified level. Returns pairs of the _(prefix, namespace)_.

src/reader/ns_reader.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ impl<R> NsReader<R> {
130130
/// # quick_xml::Result::Ok(())
131131
/// ```
132132
#[inline]
133+
#[deprecated = "Use `.resolver().bindings()` instead"]
133134
pub const fn prefixes(&self) -> NamespaceBindingsIter<'_> {
134135
self.ns_resolver.bindings()
135136
}
@@ -241,6 +242,7 @@ impl<R> NsReader<R> {
241242
/// [`resolve_attribute()`]: Self::resolve_attribute()
242243
/// [`resolve_element()`]: Self::resolve_element()
243244
#[inline]
245+
#[deprecated = "Use `.resolver().resolve()` instead. Note, that boolean argument should be inverted!"]
244246
pub fn resolve<'n>(
245247
&self,
246248
name: QName<'n>,
@@ -301,6 +303,7 @@ impl<R> NsReader<R> {
301303
/// [`Unknown`]: ResolveResult::Unknown
302304
/// [`read_resolved_event()`]: Self::read_resolved_event
303305
#[inline]
306+
#[deprecated = "Use `.resolver().resolve_element(name)` instead"]
304307
pub fn resolve_element<'n>(&self, name: QName<'n>) -> (ResolveResult<'_>, LocalName<'n>) {
305308
self.ns_resolver.resolve_element(name)
306309
}
@@ -371,6 +374,7 @@ impl<R> NsReader<R> {
371374
/// [`Unbound`]: ResolveResult::Unbound
372375
/// [`Unknown`]: ResolveResult::Unknown
373376
#[inline]
377+
#[deprecated = "Use `.resolver().resolve_attribute(name)` instead"]
374378
pub fn resolve_attribute<'n>(&self, name: QName<'n>) -> (ResolveResult<'_>, LocalName<'n>) {
375379
self.ns_resolver.resolve_attribute(name)
376380
}

0 commit comments

Comments
 (0)