Matching
Tagged URN matching vs CAP-specific matching
Tagged URN Semantics
Generic tagged URN matching supports ?, !, and * with a full cross-product truth table.
Use this model only for TaggedUrn operations.
CAP Direction Matching
CapUrn::accepts(pattern, request) uses media semantics for direction tags:
in:cap_in.accepts(request_in)out:cap_out.conforms_to(request_out)
This is asymmetric by design.
CAP Non-Direction Tag Semantics
For tags other than in/out, CapUrn::accepts does not implement the full tagged-URN ?/! table.
- Every pattern tag must exist in the request.
- If either side is
*, the tag matches. - Otherwise values must be exactly equal.
Pattern: cap:op=extract;format=* Request: cap:op=extract;format=pdf Result: match Pattern: cap:op=extract;format=pdf Request: cap:op=extract Result: no match (missing required tag)