Skip to main content

NamespaceTable

Struct NamespaceTable 

Source
pub struct NamespaceTable {
    pub types: HashMap<NameId, TypeKey>,
    pub elements: HashMap<NameId, ElementKey>,
    pub attributes: HashMap<NameId, AttributeKey>,
    pub attribute_groups: HashMap<NameId, AttributeGroupKey>,
    pub model_groups: HashMap<NameId, ModelGroupKey>,
    pub notations: HashMap<NameId, NotationKey>,
    pub identity_constraints: HashMap<NameId, IdentityConstraintKey>,
}
Expand description

Per-namespace component lookup tables

Each namespace has its own table mapping local names to component keys. Uses NameId as keys for fast equality checks.

Fields§

§types: HashMap<NameId, TypeKey>

Type definitions (simple and complex)

§elements: HashMap<NameId, ElementKey>

Element declarations

§attributes: HashMap<NameId, AttributeKey>

Attribute declarations

§attribute_groups: HashMap<NameId, AttributeGroupKey>

Attribute groups

§model_groups: HashMap<NameId, ModelGroupKey>

Named model groups

§notations: HashMap<NameId, NotationKey>

Notations

§identity_constraints: HashMap<NameId, IdentityConstraintKey>

Identity constraints (global, for XSD 1.1 refs)

Implementations§

Source§

impl NamespaceTable

Source

pub fn new() -> Self

Source

pub fn register_type(&mut self, name: NameId, key: TypeKey) -> Option<TypeKey>

Register a type in this namespace

Source

pub fn register_element( &mut self, name: NameId, key: ElementKey, ) -> Option<ElementKey>

Register an element in this namespace

Source

pub fn register_attribute( &mut self, name: NameId, key: AttributeKey, ) -> Option<AttributeKey>

Register an attribute in this namespace

Source

pub fn register_model_group( &mut self, name: NameId, key: ModelGroupKey, ) -> Option<ModelGroupKey>

Register a model group in this namespace

Source

pub fn register_attribute_group( &mut self, name: NameId, key: AttributeGroupKey, ) -> Option<AttributeGroupKey>

Register an attribute group in this namespace

Source

pub fn register_notation( &mut self, name: NameId, key: NotationKey, ) -> Option<NotationKey>

Register a notation in this namespace

Trait Implementations§

Source§

impl Debug for NamespaceTable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for NamespaceTable

Source§

fn default() -> NamespaceTable

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> MaybeSendSync for T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.