7
7
// option. This file may not be copied, modified, or distributed
8
8
// except according to those terms.
9
9
10
+ use log:: warn;
10
11
pub use markup5ever:: serialize:: { AttrRef , Serialize , Serializer , TraversalScope } ;
12
+ use markup5ever:: { local_name, namespace_url, ns} ;
11
13
use std:: default:: Default ;
12
14
use std:: io:: { self , Write } ;
13
15
14
- use { LocalName , QualName } ;
16
+ use crate :: { LocalName , QualName } ;
15
17
16
18
pub fn serialize < Wr , T > ( writer : Wr , node : & T , opts : SerializeOpts ) -> io:: Result < ( ) >
17
19
where
@@ -104,14 +106,14 @@ impl<Wr: Write> HtmlSerializer<Wr> {
104
106
105
107
fn write_escaped ( & mut self , text : & str , attr_mode : bool ) -> io:: Result < ( ) > {
106
108
for c in text. chars ( ) {
107
- try! ( match c {
109
+ match c {
108
110
'&' => self . writer . write_all ( b"&" ) ,
109
111
'\u{00A0}' => self . writer . write_all ( b" " ) ,
110
112
'"' if attr_mode => self . writer . write_all ( b""" ) ,
111
113
'<' if !attr_mode => self . writer . write_all ( b"<" ) ,
112
114
'>' if !attr_mode => self . writer . write_all ( b">" ) ,
113
115
c => self . writer . write_fmt ( format_args ! ( "{}" , c) ) ,
114
- } ) ;
116
+ } ? ;
115
117
}
116
118
Ok ( ( ) )
117
119
}
@@ -136,33 +138,33 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
136
138
return Ok ( ( ) ) ;
137
139
}
138
140
139
- try! ( self . writer . write_all ( b"<" ) ) ;
140
- try! ( self . writer . write_all ( tagname ( & name) . as_bytes ( ) ) ) ;
141
+ self . writer . write_all ( b"<" ) ? ;
142
+ self . writer . write_all ( tagname ( & name) . as_bytes ( ) ) ? ;
141
143
for ( name, value) in attrs {
142
- try! ( self . writer . write_all ( b" " ) ) ;
144
+ self . writer . write_all ( b" " ) ? ;
143
145
144
146
match name. ns {
145
147
ns ! ( ) => ( ) ,
146
- ns ! ( xml) => try! ( self . writer . write_all ( b"xml:" ) ) ,
148
+ ns ! ( xml) => self . writer . write_all ( b"xml:" ) ? ,
147
149
ns ! ( xmlns) => {
148
150
if name. local != local_name ! ( "xmlns" ) {
149
- try! ( self . writer . write_all ( b"xmlns:" ) ) ;
151
+ self . writer . write_all ( b"xmlns:" ) ? ;
150
152
}
151
153
} ,
152
- ns ! ( xlink) => try! ( self . writer . write_all ( b"xlink:" ) ) ,
154
+ ns ! ( xlink) => self . writer . write_all ( b"xlink:" ) ? ,
153
155
ref ns => {
154
156
// FIXME(#122)
155
157
warn ! ( "attr with weird namespace {:?}" , ns) ;
156
- try! ( self . writer . write_all ( b"unknown_namespace:" ) ) ;
158
+ self . writer . write_all ( b"unknown_namespace:" ) ? ;
157
159
} ,
158
160
}
159
161
160
- try! ( self . writer . write_all ( name. local . as_bytes ( ) ) ) ;
161
- try! ( self . writer . write_all ( b"=\" " ) ) ;
162
- try! ( self . write_escaped ( value, true ) ) ;
163
- try! ( self . writer . write_all ( b"\" " ) ) ;
162
+ self . writer . write_all ( name. local . as_bytes ( ) ) ? ;
163
+ self . writer . write_all ( b"=\" " ) ? ;
164
+ self . write_escaped ( value, true ) ? ;
165
+ self . writer . write_all ( b"\" " ) ? ;
164
166
}
165
- try! ( self . writer . write_all ( b">" ) ) ;
167
+ self . writer . write_all ( b">" ) ? ;
166
168
167
169
let ignore_children = name. ns == ns ! ( html) &&
168
170
match name. local {
@@ -211,8 +213,8 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
211
213
return Ok ( ( ) ) ;
212
214
}
213
215
214
- try! ( self . writer . write_all ( b"</" ) ) ;
215
- try! ( self . writer . write_all ( tagname ( & name) . as_bytes ( ) ) ) ;
216
+ self . writer . write_all ( b"</" ) ? ;
217
+ self . writer . write_all ( tagname ( & name) . as_bytes ( ) ) ? ;
216
218
self . writer . write_all ( b">" )
217
219
}
218
220
@@ -239,22 +241,22 @@ impl<Wr: Write> Serializer for HtmlSerializer<Wr> {
239
241
}
240
242
241
243
fn write_comment ( & mut self , text : & str ) -> io:: Result < ( ) > {
242
- try! ( self . writer . write_all ( b"<!--" ) ) ;
243
- try! ( self . writer . write_all ( text. as_bytes ( ) ) ) ;
244
+ self . writer . write_all ( b"<!--" ) ? ;
245
+ self . writer . write_all ( text. as_bytes ( ) ) ? ;
244
246
self . writer . write_all ( b"-->" )
245
247
}
246
248
247
249
fn write_doctype ( & mut self , name : & str ) -> io:: Result < ( ) > {
248
- try! ( self . writer . write_all ( b"<!DOCTYPE " ) ) ;
249
- try! ( self . writer . write_all ( name. as_bytes ( ) ) ) ;
250
+ self . writer . write_all ( b"<!DOCTYPE " ) ? ;
251
+ self . writer . write_all ( name. as_bytes ( ) ) ? ;
250
252
self . writer . write_all ( b">" )
251
253
}
252
254
253
255
fn write_processing_instruction ( & mut self , target : & str , data : & str ) -> io:: Result < ( ) > {
254
- try! ( self . writer . write_all ( b"<?" ) ) ;
255
- try! ( self . writer . write_all ( target. as_bytes ( ) ) ) ;
256
- try! ( self . writer . write_all ( b" " ) ) ;
257
- try! ( self . writer . write_all ( data. as_bytes ( ) ) ) ;
256
+ self . writer . write_all ( b"<?" ) ? ;
257
+ self . writer . write_all ( target. as_bytes ( ) ) ? ;
258
+ self . writer . write_all ( b" " ) ? ;
259
+ self . writer . write_all ( data. as_bytes ( ) ) ? ;
258
260
self . writer . write_all ( b">" )
259
261
}
260
262
}
0 commit comments