Struct html5ever::driver::Parser
[−]
[src]
pub struct Parser<Sink> where Sink: TreeSink {
// some fields omitted
}
An HTML parser,
ready to recieve Unicode input through the tendril::TendrilSink
trait’s methods.
Methods
impl<Sink: TreeSink> Parser<Sink>
[src]
fn from_utf8(self) -> Utf8LossyDecoder<Self>
Wrap this parser into a TendrilSink
that accepts UTF-8 bytes.
Use this when your input is bytes that are known to be in the UTF-8 encoding.
Decoding is lossy, like String::from_utf8_lossy
.
fn from_bytes(self, opts: BytesOpts) -> BytesParser<Sink>
Wrap this parser into a TendrilSink
that accepts bytes
and tries to detect the correct character encoding.
Currently this looks for a Byte Order Mark,
then uses BytesOpts::transport_layer_encoding
,
then falls back to UTF-8.
FIXME(https://github.com/servo/html5ever/issues/18): this should look for <meta>
elements
and other data per
https://html.spec.whatwg.org/multipage/syntax.html#determining-the-character-encoding
Trait Implementations
impl<Sink: TreeSink> TendrilSink<UTF8> for Parser<Sink>
[src]
fn process(&mut self, t: StrTendril)
Process this tendril.
fn error(&mut self, desc: Cow<'static, str>)
Indicates that an error has occurred.
type Output = Sink::Output
What the overall result of processing is.
fn finish(self) -> Self::Output
Indicates the end of the stream.
fn one<T>(self, t: T) -> Self::Output where T: Into<Tendril<F, A>>
Process one tendril and finish.
fn from_iter<I>(self, i: I) -> Self::Output where I: IntoIterator, I::Item: Into<Tendril<F, A>>
Consume an iterator of tendrils, processing each item, then finish.
fn read_from<R>(self, r: &mut R) -> Result<Self::Output, Error> where F: SliceFormat<Slice=[u8]>, R: Read
Read from the given stream of bytes until exhaustion and process incrementally, then finish. Return Err
at the first I/O error. Read more
fn from_file<P>(self, path: P) -> Result<Self::Output, Error> where F: SliceFormat<Slice=[u8]>, P: AsRef<Path>
Read from the file at the given path and process incrementally, then finish. Return Err
at the first I/O error. Read more