Expand description
Transform pipeline for XMLDSig <Reference> processing.
Implements XMLDSig §6.6:
each <Reference> specifies a chain of transforms applied sequentially to
produce bytes for digest computation.
The pipeline is a simple Vec<Transform> iterated front-to-back — a dramatic
simplification of xmlsec1’s bidirectional push/pop doubly-linked list with
auto-inserted type adapters.
§Supported transforms
| Transform | Direction | Priority |
|---|---|---|
| Enveloped signature | NodeSet → NodeSet | P0 (SAML) |
| Inclusive C14N 1.0/1.1 | NodeSet → Binary | P0 |
| Exclusive C14N 1.0 | NodeSet → Binary | P0 |
| Base64 decode | NodeSet/Binary → Binary | P1 |
| XPath 1.0 | NodeSet → NodeSet | P1 |
| XPath Filter 2.0 | NodeSet → NodeSet | P1 |
Structs§
- XPath
Expression - An XPath 1.0 expression and the namespace bindings in scope where it was declared.
- XPath
Filter - One expression and set operation in an XPath Filter 2.0 transform.
Enums§
- Transform
- A single transform in the pipeline.
- XPath
Filter Operation - Set operation applied by one XPath Filter 2.0 step.
- XPath
Here Semantics - Node returned by the XMLDSig XPath
here()extension function.
Constants§
- BASE64_
TRANSFORM_ URI - The algorithm URI for the Base64 decode transform.
- DEFAULT_
IMPLICIT_ C14N_ URI - The implicit default canonicalization URI applied when no explicit C14N
transform is present in a
<Reference>. - ENVELOPED_
SIGNATURE_ URI - The algorithm URI for the enveloped signature transform.
- MAX_
TRANSFORMS_ PER_ REFERENCE - Maximum transforms accepted for one reference.
- XPATH_
FILTE R2_ TRANSFORM_ URI - The algorithm URI for the XPath Filter 2.0 transform.
- XPATH_
TRANSFORM_ URI - The algorithm URI for the XPath 1.0 transform.
Functions§
- execute_
transforms - Execute a chain of transforms for a single
<Reference>. - parse_
transforms - Parse a
<Transforms>element into aVec<Transform>.