Skip to content

Commit cc73a42

Browse files
committed
Upgrades quick-xml
1 parent c2e0ee7 commit cc73a42

File tree

9 files changed

+18
-22
lines changed

9 files changed

+18
-22
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ members = [
55
"testsuite",
66
"xml"
77
]
8+
resolver = "2"
89

910
[patch.crates-io]
1011
rio_api = { path = "api" }

testsuite/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ oxiri = "0.2"
1919
permutohedron = "0.2"
2020

2121
[dev-dependencies]
22-
criterion = "0.4"
22+
criterion = "0.5"
2323

2424
[features]
2525
default = []

testsuite/src/manifest.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ pub struct Test {
1616
impl fmt::Display for Test {
1717
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1818
write!(f, "{}", self.kind)?;
19-
for name in &self.name {
19+
if let Some(name) = &self.name {
2020
write!(f, " named \"{}\"", name)?;
2121
}
22-
for comment in &self.comment {
22+
if let Some(comment) = &self.comment {
2323
write!(f, " with comment \"{}\"", comment)?;
2424
}
2525
write!(f, " on file \"{}\"", self.action)?;

turtle/src/shared.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use oxiri::Iri;
55
use rio_api::model::*;
66
use std::char;
77
use std::io::BufRead;
8-
use std::u8;
98

109
pub const MAX_ASCII: u8 = 0x7F;
1110

turtle/src/utils.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use rio_api::parser::LineBytePosition;
44
use std::collections::VecDeque;
55
use std::io::{BufRead, ErrorKind, Read};
66
use std::str;
7-
use std::u8;
87

98
/// Reads the file in streaming
109
pub struct LookAheadByteReader<R: Read> {

xml/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ default = []
2222
oxilangtag = "0.1"
2323
oxiri = "0.2"
2424
rio_api = { version = "0.8", path="../api" }
25-
quick-xml = "0.28"
25+
quick-xml = "0.36"

xml/src/error.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,6 @@ impl From<RdfXmlError> for io::Error {
9999
match error.kind {
100100
RdfXmlErrorKind::Xml(error) => match error {
101101
quick_xml::Error::Io(error) => io::Error::new(error.kind(), error),
102-
quick_xml::Error::UnexpectedEof(error) => {
103-
io::Error::new(io::ErrorKind::UnexpectedEof, error)
104-
}
105102
error => io::Error::new(io::ErrorKind::InvalidData, error),
106103
},
107104
RdfXmlErrorKind::Other(error) => io::Error::new(io::ErrorKind::InvalidData, error),

xml/src/parser.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
use quick_xml::events::*;
2-
use quick_xml::{NsReader, Writer};
3-
use rio_api::model::*;
4-
use rio_api::parser::TriplesParser;
5-
use std::convert::TryInto;
6-
use std::io::BufRead;
7-
use std::str;
8-
91
use crate::error::{RdfXmlError, RdfXmlErrorKind};
102
use crate::model::*;
113
use crate::utils::*;
124
use oxilangtag::LanguageTag;
135
use oxiri::Iri;
6+
use quick_xml::escape::resolve_xml_entity;
147
use quick_xml::escape::unescape_with;
158
use quick_xml::events::attributes::Attribute;
9+
use quick_xml::events::*;
1610
use quick_xml::name::{LocalName, QName, ResolveResult};
11+
use quick_xml::{NsReader, Writer};
12+
use rio_api::model::*;
13+
use rio_api::parser::TriplesParser;
1714
use std::collections::{HashMap, HashSet};
15+
use std::convert::TryInto;
16+
use std::io::BufRead;
17+
use std::str;
1818

1919
/// A [RDF/XML](https://www.w3.org/TR/rdf-syntax-grammar/) streaming parser.
2020
///
@@ -63,7 +63,7 @@ impl<R: BufRead> RdfXmlParser<R> {
6363
/// Builds the parser from a `BufRead` implementation, and a base IRI for relative IRI resolution.
6464
pub fn new(reader: R, base_iri: Option<Iri<String>>) -> Self {
6565
let mut reader = NsReader::from_reader(reader);
66-
reader.expand_empty_elements(true);
66+
reader.config_mut().expand_empty_elements = true;
6767
Self {
6868
reader: RdfXmlReader {
6969
reader,
@@ -80,7 +80,7 @@ impl<R: BufRead> RdfXmlParser<R> {
8080

8181
/// The current byte position in the input data.
8282
pub fn buffer_position(&self) -> usize {
83-
self.reader.reader.buffer_position()
83+
self.reader.reader.buffer_position().try_into().unwrap()
8484
}
8585
}
8686

@@ -1021,7 +1021,7 @@ impl<R: BufRead> RdfXmlReader<R> {
10211021

10221022
fn convert_attribute(&self, attribute: Attribute) -> Result<String, RdfXmlError> {
10231023
Ok(attribute
1024-
.decode_and_unescape_value_with(&self.reader, |e| self.resolve_entity(e))?
1024+
.decode_and_unescape_value_with(self.reader.decoder(), |e| self.resolve_entity(e))?
10251025
.to_string())
10261026
}
10271027

@@ -1036,7 +1036,7 @@ impl<R: BufRead> RdfXmlReader<R> {
10361036
}
10371037

10381038
fn resolve_entity(&self, e: &str) -> Option<&str> {
1039-
self.custom_entities.get(e).map(|e| e.as_str())
1039+
resolve_xml_entity(e).or_else(|| self.custom_entities.get(e).map(String::as_str))
10401040
}
10411041
}
10421042

0 commit comments

Comments
 (0)