Skip to main content

MetadataRefinement

Struct MetadataRefinement 

Source
pub struct MetadataRefinement {
    pub refines: String,
    pub property: String,
    pub value: String,
    pub lang: Option<String>,
    pub scheme: Option<String>,
}
Expand description

Represents a refinement of a metadata item in an EPUB 3.0 publication

The MetadataRefinement structure provides additional details about a parent metadata item. Refinements are used in EPUB 3.0 to add granular metadata information that would be difficult to express with the basic metadata structure alone.

For example, a creator metadata item might have refinements specifying the creator’s role or the scheme used for an identifier.

§Builder Methods

When the builder feature is enabled, this struct provides convenient builder methods:

use lib_epub::types::MetadataRefinement;

let refinement = MetadataRefinement::new("creator-1", "role", "author")
    .with_lang("en")
    .with_scheme("marc:relators")
    .build();

Fields§

§refines: String§property: String

The refinement property name

Specifies what aspect of the parent metadata item this refinement describes. Common refinement properties include “role”, “file-as”, “alternate-script”, etc.

§value: String

The refinement value

§lang: Option<String>

Optional language code for this refinement

§scheme: Option<String>

Optional scheme identifier for this refinement

Specifies the vocabulary or scheme used for the refinement value. For example, “marc:relators” for MARC relator codes, or “onix:codelist5” for ONIX roles.

Implementations§

Source§

impl MetadataRefinement

Source

pub fn new(refines: &str, property: &str, value: &str) -> Self

Creates a new metadata refinement

Requires the builder feature.

§Parameters
  • refines - The ID of the metadata item being refined
  • property - The refinement property name
  • value - The refinement value
Source

pub fn with_lang(&mut self, lang: &str) -> &mut Self

Sets the language of the refinement

Requires the builder feature.

§Parameters
  • lang - The language code
Source

pub fn with_scheme(&mut self, scheme: &str) -> &mut Self

Sets the scheme of the refinement

Requires the builder feature.

§Parameters
  • scheme - The scheme identifier
Source

pub fn build(&self) -> Self

Builds the final metadata refinement

Requires the builder feature.

Trait Implementations§

Source§

impl Clone for MetadataRefinement

Source§

fn clone(&self) -> MetadataRefinement

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MetadataRefinement

Source§

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

Formats the value using the given formatter. 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.