Skip to main content

ComplexTypeDef

Struct ComplexTypeDef 

Source
pub struct ComplexTypeDef {
Show 16 fields pub name: Option<NameId>, pub target_namespace: Option<NameId>, pub source: Option<SourceRef>, pub base_type: Option<TypeRef>, pub derivation_method: Option<DerivationMethod>, pub content: ComplexTypeContent, pub content_kind: ContentKind, pub attributes: Vec<AttributeUse>, pub attribute_groups: Vec<AttributeGroupKey>, pub attribute_wildcard: Option<AttributeWildcard>, pub final_derivation: DerivationSet, pub block: DerivationSet, pub is_abstract: bool, pub mixed: bool, pub id: Option<String>, pub default_attributes_apply: bool,
}
Expand description

Complex type definition

Represents an XSD complex type with content model and attributes.

Fields§

§name: Option<NameId>

Name (None for anonymous types)

§target_namespace: Option<NameId>

Target namespace

§source: Option<SourceRef>

Source location for error reporting

§base_type: Option<TypeRef>

Base type (from which this type is derived)

§derivation_method: Option<DerivationMethod>

Derivation method (restriction or extension)

§content: ComplexTypeContent

Content model

§content_kind: ContentKind

Content kind (for quick access)

§attributes: Vec<AttributeUse>

Attribute uses

§attribute_groups: Vec<AttributeGroupKey>

Attribute group references

§attribute_wildcard: Option<AttributeWildcard>

Attribute wildcard

§final_derivation: DerivationSet

Final derivation control (which derivations are prohibited)

§block: DerivationSet

Block derivation control (which derivations are blocked for instances)

§is_abstract: bool

Abstract flag (cannot be used directly in instances)

§mixed: bool

Mixed content flag

§id: Option<String>

ID attribute value

§default_attributes_apply: bool

XSD 1.1: Whether schema-level defaultAttributes group applies to this type. Defaults to true; set to false via defaultAttributesApply="false". The resolver injects the schema-level attribute group into resolved_attribute_groups.

Implementations§

Source§

impl ComplexTypeDef

Source

pub fn new(name: Option<NameId>, target_namespace: Option<NameId>) -> Self

Create a new complex type with empty content

Source

pub fn is_anonymous(&self) -> bool

Check if this is an anonymous type

Source

pub fn is_global(&self) -> bool

Check if this is a global (named) type

Source

pub fn has_simple_content(&self) -> bool

Check if this type has simple content

Source

pub fn has_complex_content(&self) -> bool

Check if this type has complex content

Source

pub fn allows_mixed(&self) -> bool

Check if this type allows mixed content

Source

pub fn type_key(&self, key: ComplexTypeKey) -> TypeKey

Get the TypeKey for this complex type (requires its key)

Trait Implementations§

Source§

impl Clone for ComplexTypeDef

Source§

fn clone(&self) -> ComplexTypeDef

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ComplexTypeDef

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.