use {
StrSpan,
};
#[derive(Debug)]
pub enum Token<'a> {
Declaration(StrSpan<'a>, Option<StrSpan<'a>>, Option<StrSpan<'a>>),
ProcessingInstruction(StrSpan<'a>, Option<StrSpan<'a>>),
Comment(StrSpan<'a>),
DtdStart(StrSpan<'a>, Option<ExternalId<'a>>),
EmptyDtd(StrSpan<'a>, Option<ExternalId<'a>>),
EntityDeclaration(StrSpan<'a>, EntityDefinition<'a>),
DtdEnd,
ElementStart(StrSpan<'a>, StrSpan<'a>),
Attribute((StrSpan<'a>, StrSpan<'a>), StrSpan<'a>),
ElementEnd(ElementEnd<'a>),
Text(StrSpan<'a>),
Whitespaces(StrSpan<'a>),
Cdata(StrSpan<'a>),
}
#[derive(Debug, PartialEq, Clone, Copy)]
pub enum ElementEnd<'a> {
Open,
Close(StrSpan<'a>, StrSpan<'a>),
Empty,
}
#[allow(missing_docs)]
#[derive(Debug)]
pub enum ExternalId<'a> {
System(StrSpan<'a>),
Public(StrSpan<'a>, StrSpan<'a>),
}
#[allow(missing_docs)]
#[derive(Debug)]
pub enum EntityDefinition<'a> {
EntityValue(StrSpan<'a>),
ExternalId(ExternalId<'a>),
}