Schemas

Struct Schemas 

Source
pub struct Schemas { /* private fields */ }
Expand description

Top-level structure for managing loaded XML schema files and associated namespaces.

This type is created and populated by the Parser, and used by the Interpreter to resolve schema components into meaningful Rust types.

It tracks all loaded schemas, the namespaces they belong to, and which prefixes are associated with which namespace URIs. Each namespace and schema is assigned a unique ID (NamespaceId, SchemaId) to allow efficient lookup and association.

This type supports iterating over loaded schemas and namespaces, as well as resolving prefixes and namespaces during interpretation.

Implementations§

Source§

impl Schemas

Source

pub fn add_schema( &mut self, prefix: Option<NamespacePrefix>, namespace: Option<Namespace>, name: Option<String>, schema: Schema, location: Option<Url>, )

Add a new schema to the schemas structure.

§Errors

Will just forward the errors from get_or_create_namespace_info_mut.

Source

pub fn get_or_create_namespace_info_mut( &mut self, prefix: Option<NamespacePrefix>, namespace: Option<Namespace>, ) -> (NamespaceId, &mut NamespaceInfo)

Get a mutable reference to a NamespaceInfo or create a new one if needed.

Source

pub fn schemas(&self) -> Iter<'_, SchemaId, SchemaInfo>

Returns an iterator over all schemas stored in this structure.

Source

pub fn schemas_mut(&mut self) -> IterMut<'_, SchemaId, SchemaInfo>

Returns a mutable iterator over all schemas stored in this structure.

Source

pub fn namespaces(&self) -> Iter<'_, NamespaceId, NamespaceInfo>

Returns an iterator over all namespace information instances stored in this structure.

Source

pub fn get_schema(&self, id: &SchemaId) -> Option<&SchemaInfo>

Returns a reference to a specific schema by using the schema id, or None if the schema is not known.

Source

pub fn get_schema_mut(&mut self, id: &SchemaId) -> Option<&mut SchemaInfo>

Returns a mutable reference to a specific schema by using the schema id, or None if the schema is not known.

Source

pub fn get_namespace_info(&self, id: &NamespaceId) -> Option<&NamespaceInfo>

Returns a reference to a specific namespace information instance by using the namespace id.

Source

pub fn get_namespace_info_mut( &mut self, id: &NamespaceId, ) -> Option<&mut NamespaceInfo>

Returns a mutable reference to a specific namespace information instance by using the namespace id.

Source

pub fn get_namespace_info_by_namespace( &self, ns: &Option<Namespace>, ) -> Option<&NamespaceInfo>

Returns a reference to a specific namespace information instance by using the namespace URI, or None if the schema is not known.

Source

pub fn resolve_prefix(&self, prefix: &NamespacePrefix) -> Option<NamespaceId>

Try to resolve the namespace prefix to a namespace id.

Returns the namespace id of the given namespace prefix, or None.

Source

pub fn resolve_namespace(&self, ns: &Option<Namespace>) -> Option<NamespaceId>

Try to resolve the namespace to a namespace id.

Returns the namespace id of the given namespace ns, or None.

Trait Implementations§

Source§

impl Debug for Schemas

Source§

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

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

impl Default for Schemas

Source§

fn default() -> Schemas

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<X> AsAny for X
where X: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Get a reference to the current object as Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Get a mutable reference to the current object as Any.
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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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