The base class for all simple types and complex types. More...

Inherits System::Xml::Schema::XmlSchemaAnnotated.

Inherited by System::Xml::Schema::XmlSchemaComplexType, and System::Xml::Schema::XmlSchemaSimpleType.

Public Types

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

String get_Name ()
 Returns the name of the type. More...
 
void set_Name (const String &value)
 Sets the name of the type. More...
 
XmlSchemaDerivationMethod get_Final ()
 Returns the final attribute of the type derivation that indicates if further derivations are allowed. More...
 
void set_Final (XmlSchemaDerivationMethod value)
 Sets the final attribute of the type derivation that indicates if further derivations are allowed. More...
 
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...
 
XmlSchemaDerivationMethod get_FinalResolved ()
 Returns the post-compilation interpretation of the XmlSchemaType::get_Final value. More...
 
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...
 
SharedPtr< XmlSchemaTypeget_BaseXmlSchemaType ()
 Returns the post-compilation value for the base type of this schema type. More...
 
XmlSchemaDerivationMethod get_DerivedBy ()
 Returns the post-compilation information on how this element was derived from its base type. More...
 
SharedPtr< XmlSchemaDatatypeget_Datatype ()
 Returns the post-compilation value for the data type of the complex type. More...
 
virtual bool get_IsMixed ()
 Returns a value indicating if this type has a mixed content model. This call is only valid in a complex type. More...
 
virtual void set_IsMixed (bool value)
 Sets a value indicating if this type has a mixed content model. This call is only valid in a complex type. More...
 
XmlTypeCode get_TypeCode ()
 Returns the XmlTypeCode of the type. More...
 
 XmlSchemaType ()
 Initializes a new instance of the XmlSchemaType class. More...
 
- Public Member Functions inherited from System::Xml::Schema::XmlSchemaAnnotated
String get_Id ()
 Returns the string id. More...
 
void set_Id (const String &value)
 Sets the string id. More...
 
SharedPtr< XmlSchemaAnnotationget_Annotation ()
 Returns the annotation property. More...
 
void set_Annotation (const SharedPtr< XmlSchemaAnnotation > &value)
 Sets the annotation property. More...
 
ArrayPtr< SharedPtr< XmlAttribute > > get_UnhandledAttributes ()
 Returns the qualified attributes that do not belong to the current schema's target namespace. More...
 
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
int32_t get_LineNumber ()
 Returns the line number in the file to which the schema element refers. More...
 
void set_LineNumber (int32_t value)
 Sets the line number in the file to which the schema element refers. More...
 
int32_t get_LinePosition ()
 Returns the line position in the file to which the schema element refers. More...
 
void set_LinePosition (int32_t value)
 Sets the line position in the file to which the schema element refers. More...
 
String get_SourceUri ()
 Returns the source location for the file that loaded the schema. More...
 
void set_SourceUri (const String &value)
 Sets the source location for the file that loaded the schema. More...
 
SharedPtr< XmlSchemaObjectget_Parent ()
 Returns the parent of this XmlSchemaObject. More...
 
void set_Parent (const SharedPtr< XmlSchemaObject > &value)
 Sets the parent of this XmlSchemaObject. More...
 
SharedPtr< System::Xml::Serialization::XmlSerializerNamespacesget_Namespaces ()
 Returns the XmlSerializerNamespaces to use with this schema object. More...
 
void set_Namespaces (const SharedPtr< System::Xml::Serialization::XmlSerializerNamespaces > &value)
 Sets the XmlSerializerNamespaces to use with this schema object. More...
 
 XmlSchemaObject ()
 Initializes a new instance of the XmlSchemaObject class. More...
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 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...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual 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 bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. 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...
 

Static Public Member Functions

static 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 SharedPtr< XmlSchemaSimpleTypeGetBuiltInSimpleType (XmlTypeCode typeCode)
 Returns an XmlSchemaSimpleType that represents the built-in simple type of the specified simple type. More...
 
static SharedPtr< XmlSchemaComplexTypeGetBuiltInComplexType (XmlTypeCode typeCode)
 Returns an XmlSchemaComplexType that represents the built-in complex type of the complex type specified. More...
 
static 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 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...
 
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...
 

Protected Member Functions

virtual ~XmlSchemaType ()
 

Detailed Description

The base class for all simple types and complex types.

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

◆ XmlSchemaType()

System::Xml::Schema::XmlSchemaType::XmlSchemaType ( )

Initializes a new instance of the XmlSchemaType class.

◆ ~XmlSchemaType()

virtual System::Xml::Schema::XmlSchemaType::~XmlSchemaType ( )
protectedvirtual

Member Function Documentation

◆ get_BaseSchemaType()

SharedPtr<Object> System::Xml::Schema::XmlSchemaType::get_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.

Returns
The built-in XSD data type, simpleType element, or complexType element.

◆ get_BaseXmlSchemaType()

SharedPtr<XmlSchemaType> System::Xml::Schema::XmlSchemaType::get_BaseXmlSchemaType ( )

Returns the post-compilation value for the base type of this schema type.

Returns
An XmlSchemaType object representing the base type of this schema type.

◆ get_Datatype()

SharedPtr<XmlSchemaDatatype> System::Xml::Schema::XmlSchemaType::get_Datatype ( )

Returns the post-compilation value for the data type of the complex type.

Returns
The XmlSchemaDatatype post-schema-compilation value.

◆ get_DerivedBy()

XmlSchemaDerivationMethod System::Xml::Schema::XmlSchemaType::get_DerivedBy ( )

Returns the post-compilation information on how this element was derived from its base type.

Returns
One of the valid XmlSchemaDerivationMethod values.

◆ get_Final()

XmlSchemaDerivationMethod System::Xml::Schema::XmlSchemaType::get_Final ( )

Returns the final attribute of the type derivation that indicates if further derivations are allowed.

Returns
One of the valid XmlSchemaDerivationMethod values. The default is XmlSchemaDerivationMethod::None.

◆ get_FinalResolved()

XmlSchemaDerivationMethod System::Xml::Schema::XmlSchemaType::get_FinalResolved ( )

Returns the post-compilation interpretation of the XmlSchemaType::get_Final value.

Returns
The post-compilation interpretation of the XmlSchemaType::get_Final value. The default is the finalDefault attribute value of the schema element.

◆ get_IsMixed()

virtual bool System::Xml::Schema::XmlSchemaType::get_IsMixed ( )
virtual

Returns a value indicating if this type has a mixed content model. This call is only valid in a complex type.

Returns
true if the type has a mixed content model; otherwise, false. The default is false.

Reimplemented in System::Xml::Schema::XmlSchemaComplexType.

◆ get_Name()

String System::Xml::Schema::XmlSchemaType::get_Name ( )

Returns the name of the type.

Returns
The name of the type.

◆ get_QualifiedName()

SharedPtr<XmlQualifiedName> System::Xml::Schema::XmlSchemaType::get_QualifiedName ( )

Returns the qualified name for the type built from the Name attribute of this type. This is a post-schema-compilation value.

Returns
The XmlQualifiedName for the type built from the Name attribute of this type.

◆ get_TypeCode()

XmlTypeCode System::Xml::Schema::XmlSchemaType::get_TypeCode ( )

Returns the XmlTypeCode of the type.

Returns
One of the XmlTypeCode values.

◆ GetBuiltInComplexType() [1/2]

static SharedPtr<XmlSchemaComplexType> System::Xml::Schema::XmlSchemaType::GetBuiltInComplexType ( const SharedPtr< XmlQualifiedName > &  qualifiedName)
static

Returns an XmlSchemaComplexType that represents the built-in complex type of the complex type specified by qualified name.

Parameters
qualifiedNameThe XmlQualifiedName of the complex type.
Returns
The XmlSchemaComplexType that represents the built-in complex type.
Exceptions
ArgumentNullExceptionThe XmlQualifiedName parameter is nullptr.

◆ GetBuiltInComplexType() [2/2]

static SharedPtr<XmlSchemaComplexType> System::Xml::Schema::XmlSchemaType::GetBuiltInComplexType ( XmlTypeCode  typeCode)
static

Returns an XmlSchemaComplexType that represents the built-in complex type of the complex type specified.

Parameters
typeCodeOne of the XmlTypeCode values representing the complex type.
Returns
The XmlSchemaComplexType that represents the built-in complex type.

◆ GetBuiltInSimpleType() [1/2]

static SharedPtr<XmlSchemaSimpleType> System::Xml::Schema::XmlSchemaType::GetBuiltInSimpleType ( const SharedPtr< XmlQualifiedName > &  qualifiedName)
static

Returns an XmlSchemaSimpleType that represents the built-in simple type of the simple type that is specified by the qualified name.

Parameters
qualifiedNameThe XmlQualifiedName of the simple type.
Returns
The XmlSchemaSimpleType that represents the built-in simple type.
Exceptions
ArgumentNullExceptionThe XmlQualifiedName parameter is nullptr.

◆ GetBuiltInSimpleType() [2/2]

static SharedPtr<XmlSchemaSimpleType> System::Xml::Schema::XmlSchemaType::GetBuiltInSimpleType ( XmlTypeCode  typeCode)
static

Returns an XmlSchemaSimpleType that represents the built-in simple type of the specified simple type.

Parameters
typeCodeOne of the XmlTypeCode values representing the simple type.
Returns
The XmlSchemaSimpleType that represents the built-in simple type.

◆ IsDerivedFrom()

static bool System::Xml::Schema::XmlSchemaType::IsDerivedFrom ( SharedPtr< XmlSchemaType derivedType,
const SharedPtr< XmlSchemaType > &  baseType,
XmlSchemaDerivationMethod  except 
)
static

Returns a value indicating if the derived schema type specified is derived from the base schema type specified.

Parameters
derivedTypeThe derived XmlSchemaType to test.
baseTypeThe base XmlSchemaType to test the derived XmlSchemaType against.
exceptOne of the XmlSchemaDerivationMethod values representing a type derivation method to exclude from testing.
Returns
true if the derived type is derived from the base type; otherwise, false.

◆ set_Final()

void System::Xml::Schema::XmlSchemaType::set_Final ( XmlSchemaDerivationMethod  value)

Sets the final attribute of the type derivation that indicates if further derivations are allowed.

Parameters
valueThe value to set.

◆ set_IsMixed()

virtual void System::Xml::Schema::XmlSchemaType::set_IsMixed ( bool  value)
virtual

Sets a value indicating if this type has a mixed content model. This call is only valid in a complex type.

Parameters
valueThe value to set.

Reimplemented in System::Xml::Schema::XmlSchemaComplexType.

◆ set_Name()

void System::Xml::Schema::XmlSchemaType::set_Name ( const String value)

Sets the name of the type.

Parameters
valueThe value to set.