System::Xml::Schema::XmlSchemaComplexType Class Reference

Represents the complexType element from XML Schema as specified by the World Wide Web Consortium (W3C). This class defines a complex type that determines the set of attributes and content of an element. More...

Inherits System::Xml::Schema::XmlSchemaType.

Public Types

using Ptr = SharedPtr< XmlSchemaComplexType >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::Schema::XmlSchemaType
using Ptr = SharedPtr< XmlSchemaType >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::Schema::XmlSchemaAnnotated
using Ptr = SharedPtr< XmlSchemaAnnotated >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::Schema::XmlSchemaObject
using Ptr = SharedPtr< XmlSchemaObject >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 

Public Member Functions

ASPOSECPP_SHARED_API bool get_IsAbstract ()
 Returns the information that determines if the complexType element can be used in the instance document. More...
 
ASPOSECPP_SHARED_API void set_IsAbstract (bool value)
 Sets the information that determines if the complexType element can be used in the instance document. More...
 
ASPOSECPP_SHARED_API XmlSchemaDerivationMethod get_Block ()
 Returns the block attribute. More...
 
ASPOSECPP_SHARED_API void set_Block (XmlSchemaDerivationMethod value)
 Sets the block attribute. More...
 
ASPOSECPP_SHARED_API bool get_IsMixed () override
 Returns information that determines if the complex type has a mixed content model (markup within the content). More...
 
ASPOSECPP_SHARED_API void set_IsMixed (bool value) override
 Sets information that determines if the complex type has a mixed content model (markup within the content). More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaContentModelget_ContentModel ()
 Returns the post-compilation XmlSchemaContentModel of this complex type. More...
 
ASPOSECPP_SHARED_API void set_ContentModel (const SharedPtr< XmlSchemaContentModel > &value)
 Sets the post-compilation XmlSchemaContentModel of this complex type. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaParticleget_Particle ()
 Returns the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes. More...
 
ASPOSECPP_SHARED_API void set_Particle (const SharedPtr< XmlSchemaParticle > &value)
 Sets the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaObjectCollectionget_Attributes ()
 Returns the collection of attributes for the complex type. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaAnyAttributeget_AnyAttribute ()
 Returns the value for the XmlSchemaAnyAttribute component of the complex type. More...
 
ASPOSECPP_SHARED_API void set_AnyAttribute (const SharedPtr< XmlSchemaAnyAttribute > &value)
 Sets the value for the XmlSchemaAnyAttribute component of the complex type. More...
 
ASPOSECPP_SHARED_API XmlSchemaContentType get_ContentType ()
 Returns the content model of the complex type which holds the post-compilation value. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaParticleget_ContentTypeParticle ()
 Returns the particle that holds the post-compilation value of the XmlSchemaComplexType::get_ContentType particle. More...
 
ASPOSECPP_SHARED_API XmlSchemaDerivationMethod get_BlockResolved ()
 Returns the value after the type has been compiled to the post-schema-validation information set (infoset). This value indicates how the type is enforced when xsi:type is used in the instance document. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaObjectTableget_AttributeUses ()
 Returns the collection of all the complied attributes of this complex type and its base types. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaAnyAttributeget_AttributeWildcard ()
 Returns the post-compilation value for anyAttribute for this complex type and its base type(s). More...
 
ASPOSECPP_SHARED_API XmlSchemaComplexType ()
 Initializes a new instance of the XmlSchemaComplexType class. More...
 
- Public Member Functions inherited from System::Xml::Schema::XmlSchemaType
ASPOSECPP_SHARED_API String get_Name ()
 Returns the name of the type. More...
 
ASPOSECPP_SHARED_API void set_Name (const String &value)
 Sets the name of the type. More...
 
ASPOSECPP_SHARED_API XmlSchemaDerivationMethod get_Final ()
 Returns the final attribute of the type derivation that indicates if further derivations are allowed. More...
 
ASPOSECPP_SHARED_API void set_Final (XmlSchemaDerivationMethod value)
 Sets the final attribute of the type derivation that indicates if further derivations are allowed. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlQualifiedNameget_QualifiedName ()
 Returns the qualified name for the type built from the Name attribute of this type. This is a post-schema-compilation value. More...
 
ASPOSECPP_SHARED_API XmlSchemaDerivationMethod get_FinalResolved ()
 Returns the post-compilation interpretation of the XmlSchemaType::get_Final value. More...
 
ASPOSECPP_SHARED_API SharedPtr< Objectget_BaseSchemaType ()
 Returns the post-compilation object type or the built-in XML Schema Definition Language (XSD) data type, simpleType element, or complexType element. This is a post-schema-compilation infoset value. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaTypeget_BaseXmlSchemaType ()
 Returns the post-compilation value for the base type of this schema type. More...
 
ASPOSECPP_SHARED_API XmlSchemaDerivationMethod get_DerivedBy ()
 Returns the post-compilation information on how this element was derived from its base type. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaDatatypeget_Datatype ()
 Returns the post-compilation value for the data type of the complex type. More...
 
ASPOSECPP_SHARED_API XmlTypeCode get_TypeCode ()
 Returns the XmlTypeCode of the type. More...
 
ASPOSECPP_SHARED_API XmlSchemaType ()
 Initializes a new instance of the XmlSchemaType class. More...
 
- Public Member Functions inherited from System::Xml::Schema::XmlSchemaAnnotated
ASPOSECPP_SHARED_API String get_Id ()
 Returns the string id. More...
 
ASPOSECPP_SHARED_API void set_Id (const String &value)
 Sets the string id. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaAnnotationget_Annotation ()
 Returns the annotation property. More...
 
ASPOSECPP_SHARED_API void set_Annotation (const SharedPtr< XmlSchemaAnnotation > &value)
 Sets the annotation property. More...
 
ASPOSECPP_SHARED_API ArrayPtr< SharedPtr< XmlAttribute > > get_UnhandledAttributes ()
 Returns the qualified attributes that do not belong to the current schema's target namespace. More...
 
ASPOSECPP_SHARED_API void set_UnhandledAttributes (const ArrayPtr< SharedPtr< XmlAttribute >> &value)
 Sets the qualified attributes that do not belong to the current schema's target namespace. More...
 
- Public Member Functions inherited from System::Xml::Schema::XmlSchemaObject
ASPOSECPP_SHARED_API int32_t get_LineNumber ()
 Returns the line number in the file to which the schema element refers. More...
 
ASPOSECPP_SHARED_API void set_LineNumber (int32_t value)
 Sets the line number in the file to which the schema element refers. More...
 
ASPOSECPP_SHARED_API int32_t get_LinePosition ()
 Returns the line position in the file to which the schema element refers. More...
 
ASPOSECPP_SHARED_API void set_LinePosition (int32_t value)
 Sets the line position in the file to which the schema element refers. More...
 
ASPOSECPP_SHARED_API String get_SourceUri ()
 Returns the source location for the file that loaded the schema. More...
 
ASPOSECPP_SHARED_API void set_SourceUri (const String &value)
 Sets the source location for the file that loaded the schema. More...
 
ASPOSECPP_SHARED_API SharedPtr< XmlSchemaObjectget_Parent ()
 Returns the parent of this XmlSchemaObject. More...
 
ASPOSECPP_SHARED_API void set_Parent (const SharedPtr< XmlSchemaObject > &value)
 Sets the parent of this XmlSchemaObject. More...
 
ASPOSECPP_SHARED_API SharedPtr< System::Xml::Serialization::XmlSerializerNamespacesget_Namespaces ()
 Returns the XmlSerializerNamespaces to use with this schema object. More...
 
ASPOSECPP_SHARED_API void set_Namespaces (const SharedPtr< System::Xml::Serialization::XmlSerializerNamespaces > &value)
 Sets the XmlSerializerNamespaces to use with this schema object. More...
 
ASPOSECPP_SHARED_API XmlSchemaObject ()
 Initializes a new instance of the XmlSchemaObject class. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from System::Xml::Schema::XmlSchemaType
static ASPOSECPP_SHARED_API SharedPtr< XmlSchemaSimpleTypeGetBuiltInSimpleType (const SharedPtr< XmlQualifiedName > &qualifiedName)
 Returns an XmlSchemaSimpleType that represents the built-in simple type of the simple type that is specified by the qualified name. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlSchemaSimpleTypeGetBuiltInSimpleType (XmlTypeCode typeCode)
 Returns an XmlSchemaSimpleType that represents the built-in simple type of the specified simple type. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlSchemaComplexTypeGetBuiltInComplexType (XmlTypeCode typeCode)
 Returns an XmlSchemaComplexType that represents the built-in complex type of the complex type specified. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlSchemaComplexTypeGetBuiltInComplexType (const SharedPtr< XmlQualifiedName > &qualifiedName)
 Returns an XmlSchemaComplexType that represents the built-in complex type of the complex type specified by qualified name. More...
 
static ASPOSECPP_SHARED_API bool IsDerivedFrom (SharedPtr< XmlSchemaType > derivedType, const SharedPtr< XmlSchemaType > &baseType, XmlSchemaDerivationMethod except)
 Returns a value indicating if the derived schema type specified is derived from the base schema type specified. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 
- Protected Member Functions inherited from System::Xml::Schema::XmlSchemaType
virtual ASPOSECPP_SHARED_API ~XmlSchemaType ()
 

Detailed Description

Represents the complexType element from XML Schema as specified by the World Wide Web Consortium (W3C). This class defines a complex type that determines the set of attributes and content of an element.

Attention
Objects of this class should only be allocated using System::MakeObject() function. Never create instances of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Member Typedef Documentation

◆ Ptr

An alias for shared pointer to an instance of this class.

Constructor & Destructor Documentation

◆ XmlSchemaComplexType()

ASPOSECPP_SHARED_API System::Xml::Schema::XmlSchemaComplexType::XmlSchemaComplexType ( )

Initializes a new instance of the XmlSchemaComplexType class.

Member Function Documentation

◆ get_AnyAttribute()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaAnyAttribute> System::Xml::Schema::XmlSchemaComplexType::get_AnyAttribute ( )

Returns the value for the XmlSchemaAnyAttribute component of the complex type.

Returns
The XmlSchemaAnyAttribute component of the complex type.

◆ get_Attributes()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaObjectCollection> System::Xml::Schema::XmlSchemaComplexType::get_Attributes ( )

Returns the collection of attributes for the complex type.

Returns
Contains XmlSchemaAttribute and XmlSchemaAttributeGroupRef classes.

◆ get_AttributeUses()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaObjectTable> System::Xml::Schema::XmlSchemaComplexType::get_AttributeUses ( )

Returns the collection of all the complied attributes of this complex type and its base types.

Returns
The collection of all the attributes from this complex type and its base types. The post-compilation the AttributeUses value.

◆ get_AttributeWildcard()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaAnyAttribute> System::Xml::Schema::XmlSchemaComplexType::get_AttributeWildcard ( )

Returns the post-compilation value for anyAttribute for this complex type and its base type(s).

Returns
The post-compilation value of the anyAttribute element.

◆ get_Block()

ASPOSECPP_SHARED_API XmlSchemaDerivationMethod System::Xml::Schema::XmlSchemaComplexType::get_Block ( )

Returns the block attribute.

Returns
The block attribute prevents a complex type from being used in the specified type of derivation. The default is XmlSchemaDerivationMethod::None. Optional.

◆ get_BlockResolved()

ASPOSECPP_SHARED_API XmlSchemaDerivationMethod System::Xml::Schema::XmlSchemaComplexType::get_BlockResolved ( )

Returns the value after the type has been compiled to the post-schema-validation information set (infoset). This value indicates how the type is enforced when xsi:type is used in the instance document.

Returns
The post-schema-validated infoset value. The default is BlockDefault value on the schema element.

◆ get_ContentModel()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaContentModel> System::Xml::Schema::XmlSchemaComplexType::get_ContentModel ( )

Returns the post-compilation XmlSchemaContentModel of this complex type.

Returns
The content model type that is one of the XmlSchemaSimpleContent or XmlSchemaComplexContent classes.

◆ get_ContentType()

ASPOSECPP_SHARED_API XmlSchemaContentType System::Xml::Schema::XmlSchemaComplexType::get_ContentType ( )

Returns the content model of the complex type which holds the post-compilation value.

Returns
The post-compilation value of the content model for the complex type.

◆ get_ContentTypeParticle()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaParticle> System::Xml::Schema::XmlSchemaComplexType::get_ContentTypeParticle ( )

Returns the particle that holds the post-compilation value of the XmlSchemaComplexType::get_ContentType particle.

Returns
The particle for the content type. The post-compilation value of the XmlSchemaComplexType::get_ContentType particle.

◆ get_IsAbstract()

ASPOSECPP_SHARED_API bool System::Xml::Schema::XmlSchemaComplexType::get_IsAbstract ( )

Returns the information that determines if the complexType element can be used in the instance document.

Returns
If true, an element cannot use this complexType element directly and must use a complex type that is derived from this complexType element. The default is false. Optional.

◆ get_IsMixed()

ASPOSECPP_SHARED_API bool System::Xml::Schema::XmlSchemaComplexType::get_IsMixed ( )
overridevirtual

Returns information that determines if the complex type has a mixed content model (markup within the content).

Returns
true, if character data can appear between child elements of this complex type; otherwise, false. The default is false. Optional.

Reimplemented from System::Xml::Schema::XmlSchemaType.

◆ get_Particle()

ASPOSECPP_SHARED_API SharedPtr<XmlSchemaParticle> System::Xml::Schema::XmlSchemaComplexType::get_Particle ( )

Returns the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes.

Returns
The compositor type.

◆ set_AnyAttribute()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_AnyAttribute ( const SharedPtr< XmlSchemaAnyAttribute > &  value)

Sets the value for the XmlSchemaAnyAttribute component of the complex type.

Parameters
valueThe value to set.

◆ set_Block()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_Block ( XmlSchemaDerivationMethod  value)

Sets the block attribute.

Parameters
valueThe value to set.

◆ set_ContentModel()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_ContentModel ( const SharedPtr< XmlSchemaContentModel > &  value)

Sets the post-compilation XmlSchemaContentModel of this complex type.

Parameters
valueThe value to set.

◆ set_IsAbstract()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_IsAbstract ( bool  value)

Sets the information that determines if the complexType element can be used in the instance document.

Parameters
valueThe value to set.

◆ set_IsMixed()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_IsMixed ( bool  value)
overridevirtual

Sets information that determines if the complex type has a mixed content model (markup within the content).

Parameters
valueThe value to set.

Reimplemented from System::Xml::Schema::XmlSchemaType.

◆ set_Particle()

ASPOSECPP_SHARED_API void System::Xml::Schema::XmlSchemaComplexType::set_Particle ( const SharedPtr< XmlSchemaParticle > &  value)

Sets the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes.

Parameters
valueThe value to set.