Skip to main content

ReferenceXml

Trait ReferenceXml 

Source
pub trait ReferenceXml: SignatureXml {
    // Required methods
    fn visit_authenticated_references<VE, W: Work>(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        signature: Self::Id,
        execution: &W,
        visitor: impl for<'view> FnMut(Descriptor<'view, Self::Id>) -> Result<(), VE>,
    ) -> Result<Completeness<Self::Id>, VisitError<Self::Error, VE>>;
    fn resolve_reference<R, W: Work>(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        signature: Self::Id,
        property: Self::Id,
        source: LexicalSource<'_>,
        execution: &W,
        visitor: impl for<'view> FnOnce(Descriptor<'view, Self::Id>) -> R,
    ) -> Result<Resolution<R>, Self::Error>;
    fn boolean_attribute<W: Work>(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        node: Self::Id,
        attribute: Name<'_>,
        execution: &W,
    ) -> Result<Boolean, Self::Error>;
    fn replay_reference<W: Work>(
        &self,
        snapshot: Snapshot<Self::Document, Self::Generation>,
        signature: Self::Id,
        reference: Self::Id,
        mode: Replay<Self::Id>,
        receiver: &mut impl Receiver,
        execution: &W,
    ) -> Result<ReplayOutcome<Self::Error>, Self::Error>;
}
Expand description

XML-owned URI resolution and streaming from one selected verification session.

The owner retains the original request, compiled policy and remaining budgets. No operation here performs a second signature verification, changes the document, resets admission, or acquires an implicit resource. Processing and resource refusals are returned as errors, never as a semantic lookup outcome.

Required Methods§

Source

fn visit_authenticated_references<VE, W: Work>( &self, snapshot: Snapshot<Self::Document, Self::Generation>, signature: Self::Id, execution: &W, visitor: impl for<'view> FnMut(Descriptor<'view, Self::Id>) -> Result<(), VE>, ) -> Result<Completeness<Self::Id>, VisitError<Self::Error, VE>>

Visits the paid original authenticated instruction catalogue once. Direct and signed-Manifest references retain exact parent identities. Detached result arrays, fail-fast partial lists and an empty unprocessed Manifest list must never be relabelled Complete. No implicit verification or policy change is performed to complete the catalogue. The visitor’s short descriptor borrow cannot escape; its refusal terminates traversal.

Source

fn resolve_reference<R, W: Work>( &self, snapshot: Snapshot<Self::Document, Self::Generation>, signature: Self::Id, property: Self::Id, source: LexicalSource<'_>, execution: &W, visitor: impl for<'view> FnOnce(Descriptor<'view, Self::Id>) -> R, ) -> Result<Resolution<R>, Self::Error>

Resolves original lexical data on the property in its XML context. Only selected SignedInfo or authenticated Manifest instructions may reach the visitor. Its borrowed Type and view cannot escape the callback. Multiple simple-content fragments may require fallible current-operation scratch for the existing URI kernel; it cannot reset the operation or return a reader into temporary storage. Malformed simple content retains the owner’s typed source cause instead of becoming absent or unresolved.

Source

fn boolean_attribute<W: Work>( &self, snapshot: Snapshot<Self::Document, Self::Generation>, node: Self::Id, attribute: Name<'_>, execution: &W, ) -> Result<Boolean, Self::Error>

Reads an unqualified attribute through the existing XML Schema boolean kernel. Presence and malformed text must not be defaulted to false.

Source

fn replay_reference<W: Work>( &self, snapshot: Snapshot<Self::Document, Self::Generation>, signature: Self::Id, reference: Self::Id, mode: Replay<Self::Id>, receiver: &mut impl Receiver, execution: &W, ) -> Result<ReplayOutcome<Self::Error>, Self::Error>

Replays the original reference through the one transform/C14N kernel. The owner checks selected membership, generation and method before sink work. Final octets stay unchanged; remaining node-sets use the explicit replay mode. Receiver refusal is sticky and terminal. Direct ordinal queries and Manifest resolution feed this same kernel; retained implicit C14N 1.0 bytes are not universally equivalent output.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§