nom_xml/prolog/subset/entity/
entity_value.rs1use crate::{
4 prolog::subset::markup_declaration::MarkupDeclaration, reference::Reference, Document,
5};
6
7#[derive(Clone, PartialEq, Eq)]
8pub enum EntityValue {
9 Document(Document),
10 Value(String),
11 Reference(Reference),
12 ParameterReference(Reference),
13 MarkupDecl(Box<MarkupDeclaration>),
14}
15
16impl EntityValue {
17 pub fn get_value(&self) -> Option<String> {
18 match self {
19 EntityValue::Value(value) => Some(value.clone()),
20 _ => None,
21 }
22 }
23
24 pub fn get_reference(&self) -> Option<&Reference> {
25 if let EntityValue::Reference(reference) = self {
26 Some(reference)
27 } else {
28 None
29 }
30 }
31
32 pub fn get_perameter_reference(&self) -> Option<&Reference> {
33 if let EntityValue::ParameterReference(reference) = self {
34 Some(reference)
35 } else {
36 None
37 }
38 }
39}