use crate::document::InterpretedValue;
#[derive(Clone, Debug, Eq, PartialEq)]
pub(crate) struct AttributeValue {
pub(crate) allowable_value: AllowableValue,
pub(crate) modification_context: ModificationContext,
pub(crate) value: InterpretedValue,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum AllowableValue {
Any,
Empty,
Effective(InterpretedValue),
Implied(&'static str),
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum ModificationContext {
ApiOnly,
ApiOrHeader,
ApiOrDocumentBody,
Anywhere,
}