pub struct Dfa {
pub states: Vec<DfaState>,
pub initial: StateId,
pub defined_siblings: Arc<[QName]>,
}Fields§
§states: Vec<DfaState>§initial: StateId§defined_siblings: Arc<[QName]>Names of every element declaration that appears statically in
the source content model. Consulted by notQName="##definedSibling"
wildcards (XSD 1.1 §3.10.4) to exclude names declared as
siblings in the enclosing complex type. Sorted by (namespace, local) so membership checks can binary-search if the list
grows; typical schemas keep this short.
Implementations§
Source§impl Dfa
impl Dfa
Sourcepub fn step(
&self,
state: StateId,
qn: &QName,
wildcard_admits: impl FnMut(&Wildcard, &QName) -> bool,
) -> Option<DfaTransition>
pub fn step( &self, state: StateId, qn: &QName, wildcard_admits: impl FnMut(&Wildcard, &QName) -> bool, ) -> Option<DfaTransition>
Look up the next state for an incoming element with name qn.
Element-name transitions return both the next state and the
matched [ElementDecl]; wildcard transitions return the next
state and the wildcard’s processContents.
wildcard_admits decides whether a candidate wildcard accepts
qn — the caller supplies the wildcard-semantics policy
(positive namespace constraint plus the XSD 1.1 notQName /
notNamespace exclusions, including ##defined and
##definedSibling lookups). See [wildcard_admits] for the
canonical implementation.