pub enum Term {
Element(Arc<ElementDecl>),
Group {
kind: GroupKind,
particles: Arc<[Particle]>,
},
Wildcard(Wildcard),
GroupRef(QName),
}Variants§
Element(Arc<ElementDecl>)
Reference to an element declaration (top-level by name, or a local declaration inlined into the particle).
Group
Nested particle group: sequence / choice / all. Particles live
in an Arc<[Particle]> so the validator’s cursor can clone it
(one refcount bump) instead of allocating a fresh Vec per
element entered.
Wildcard(Wildcard)
<xs:any> wildcard.
GroupRef(QName)
<xs:group ref="..."> reference to a named model group.
Emitted by the parser; replaced with the referenced group’s
Group particle by a post-pass during schema compile. The
validator and DFA builder should never see this variant.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Term
impl RefUnwindSafe for Term
impl Send for Term
impl Sync for Term
impl Unpin for Term
impl UnsafeUnpin for Term
impl UnwindSafe for Term
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more