Skip to main content

Module types

Module types 

Source
Expand description

XSD type definitions and facets

This module contains type definitions, facets, and the type system.

§Module Structure

  • facets - Constraining facets (length, pattern, enumeration, etc.)
  • simple - Simple type definitions (atomic, list, union)
  • complex - Complex type definitions with content models

§Type Code Enums

The module provides three core enums for type identification:

  • XmlTypeCode - Complete type codes matching .NET XmlTypeCode (60+ codes)
  • PrimitiveTypeCode - The 19 primitive XSD types for validator dispatch
  • ValueKind - Runtime value kind for type discrimination

Re-exports§

pub use builtin::BuiltinTypes;
pub use complex::AttributeUse;
pub use complex::AttributeUseKind;
pub use complex::AttributeWildcard;
pub use complex::ComplexTypeContent;
pub use complex::ComplexTypeDef;
pub use complex::Compositor;
pub use complex::ContentKind;
pub use complex::ContentParticle;
pub use complex::ContentTerm;
pub use complex::DerivationMethod;
pub use complex::ModelGroupDef;
pub use complex::NamespaceConstraint;
pub use complex::ProcessContents;
pub use convert::ConversionError;
pub use convert::ConversionResult;
pub use convert::IntoXmlValue;
pub use convert::TypeConverter;
pub use facets::facet_applicable;
pub use facets::facet_applicable_for_type;
pub use facets::normalize_whitespace;
pub use facets::AssertionFacet;
pub use facets::EnumerationFacet;
pub use facets::ExplicitTimezone;
pub use facets::ExplicitTimezoneFacet;
pub use facets::FacetApplicability;
pub use facets::FacetFixed;
pub use facets::FacetKind;
pub use facets::FacetSet;
pub use facets::FractionDigitsFacet;
pub use facets::LengthFacet;
pub use facets::MaxExclusiveFacet;
pub use facets::MaxInclusiveFacet;
pub use facets::MaxLengthFacet;
pub use facets::MinExclusiveFacet;
pub use facets::MinInclusiveFacet;
pub use facets::MinLengthFacet;
pub use facets::PatternFacet;
pub use facets::TotalDigitsFacet;
pub use facets::WhitespaceFacet;
pub use facets::WhitespaceMode;
pub use sequence::resolve_list_item_schema_type;
pub use sequence::ItemType;
pub use sequence::NameTest;
pub use sequence::SequenceType;
pub use sequence::XmlTypeCardinality;
pub use simple::BuiltInType;
pub use simple::SimpleTypeDef;
pub use simple::SimpleTypeDerivationMethod;
pub use simple::SimpleTypeRef;
pub use simple::SimpleTypeVariety;
pub use validators::TypeValidator;
pub use validators::ValidationError;
pub use validators::ValidationResult;
pub use validators::ValidatorRegistry;
pub use validators::VALIDATOR_REGISTRY;
pub use value::DateTimeValue;
pub use value::DateValue;
pub use value::DayTimeDurationValue;
pub use value::DurationValue;
pub use value::GDayValue;
pub use value::GMonthDayValue;
pub use value::GMonthValue;
pub use value::GYearMonthValue;
pub use value::GYearValue;
pub use value::TimeValue;
pub use value::TimezoneOffset;
pub use value::XmlAtomicValue;
pub use value::XmlValue;
pub use value::XmlValueKind;
pub use value::YearMonthDurationValue;

Modules§

builtin
Built-in type registry for XSD types
complex
Complex type definitions
convert
XPath2 type conversion API
equality
Value-space equality helpers shared across validators and XPath.
facets
XSD constraining facets
sequence
XPath2 sequence types for type matching and conversion
simple
Simple type definitions
validators
Type validators for XSD atomic types
value
XSD value types for typed atomic values

Enums§

PrimitiveTypeCode
Primitive type codes identifying the fundamental XSD types.
ValueKind
Runtime value kind for type discrimination.
XmlTypeCode
XSD type codes for type identification and dispatch.