oak_xml/parser/
element_type.rs1use oak_core::{ElementType, UniversalElementRole};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6pub enum XmlElementType {
7 Root,
9 Prolog,
11 Element,
13 StartTag,
15 EndTag,
17 SelfClosingTag,
19 Attribute,
21 Text,
23 Comment,
25 CData,
27}
28
29impl ElementType for XmlElementType {
30 type Role = UniversalElementRole;
31
32 fn role(&self) -> Self::Role {
33 match self {
34 _ => UniversalElementRole::None,
35 }
36 }
37}
38
39impl From<crate::lexer::token_type::XmlTokenType> for XmlElementType {
40 fn from(token: crate::lexer::token_type::XmlTokenType) -> Self {
41 unsafe { std::mem::transmute(token) }
42 }
43}