nom_xml/prolog/subset/entity/
entity_definition.rs1use crate::{
2 prolog::{external_id::ExternalID, textdecl::TextDecl},
3 Name,
4};
5
6use super::entity_value::EntityValue;
7
8#[derive(Clone, PartialEq, Eq)]
9pub enum EntityDefinition {
10 EntityValue(EntityValue),
11 External {
12 id: ExternalID,
13 n_data: Option<Name>,
14 text_decl: Option<TextDecl>,
15 },
16}
17
18impl EntityDefinition {
19 pub fn get_entity_value(&self) -> Option<&EntityValue> {
20 if let EntityDefinition::EntityValue(value) = self {
21 Some(value)
22 } else {
23 None
24 }
25 }
26
27 pub fn get_external_id(&self) -> Option<&ExternalID> {
28 if let EntityDefinition::External { id, .. } = self {
29 Some(id)
30 } else {
31 None
32 }
33 }
34}