XmlSchemaSimpleType Class

 

Represents the simpleType element for simple content from XML Schema as specified by the World Wide Web Consortium (W3C). This class defines a simple type. Simple types can specify information and constraints for the value of attributes or elements with text-only content.

Namespace:   System.Xml.Schema
Assembly:  System.Xml (in System.Xml.dll)

System::Object
  System.Xml.Schema::XmlSchemaObject
    System.Xml.Schema::XmlSchemaAnnotated
      System.Xml.Schema::XmlSchemaType
        System.Xml.Schema::XmlSchemaSimpleType

public ref class XmlSchemaSimpleType : XmlSchemaType

NameDescription
System_CAPS_pubmethodXmlSchemaSimpleType()

Initializes a new instance of the XmlSchemaSimpleType class.

NameDescription
System_CAPS_pubpropertyAnnotation

Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.)

System_CAPS_pubpropertyBaseSchemaType

Obsolete. Gets 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 property.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyBaseXmlSchemaType

Gets the post-compilation value for the base type of this schema type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyContent
System_CAPS_pubpropertyDatatype

Gets the post-compilation value for the data type of the complex type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyDerivedBy

Gets the post-compilation information on how this element was derived from its base type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyFinal

Gets or sets the final attribute of the type derivation that indicates if further derivations are allowed.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyFinalResolved

Gets the post-compilation value of the Final property.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyId

Gets or sets the string id.(Inherited from XmlSchemaAnnotated.)

System_CAPS_pubpropertyIsMixed

Gets or sets a value indicating if this type has a mixed content model. This property is only valid in a complex type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyLineNumber

Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyLinePosition

Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyName

Gets or sets the name of the type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyNamespaces

Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyParent

Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyQualifiedName

Gets the qualified name for the type built from the Name attribute of this type. This is a post-schema-compilation property.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertySourceUri

Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.)

System_CAPS_pubpropertyTypeCode

Gets the XmlTypeCode of the type.(Inherited from XmlSchemaType.)

System_CAPS_pubpropertyUnhandledAttributes

Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.)

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

Simple types are defined by deriving them from existing simple types (built-in data types and derived simple types). A simple type cannot contain elements and cannot have attributes.

The following example shows the use of the XmlSchemaSimpleType class.

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;

ref class XMLSchemaExamples
{
private:
	static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
	{
		Console::WriteLine(args->Message);
	}

public:
	static void Main()
	{
		XmlSchema^ schema = gcnew XmlSchema();

		// <xs:simpleType name="LotteryNumber">
		XmlSchemaSimpleType^ LotteryNumberType = gcnew XmlSchemaSimpleType();
		LotteryNumberType->Name = "LotteryNumber";

		// <xs:restriction base="xs:int">
		XmlSchemaSimpleTypeRestriction^ LotteryNumberRestriction = gcnew XmlSchemaSimpleTypeRestriction();
		LotteryNumberRestriction->BaseTypeName = gcnew XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");

		// <xs:minInclusive value="1"/>
		XmlSchemaMinInclusiveFacet^ minInclusive = gcnew XmlSchemaMinInclusiveFacet();
		minInclusive->Value = "1";
		LotteryNumberRestriction->Facets->Add(minInclusive);

		// <xs:maxInclusive value="99"/>
		XmlSchemaMaxInclusiveFacet^ maxInclusive = gcnew XmlSchemaMaxInclusiveFacet();
		maxInclusive->Value = "99";
		LotteryNumberRestriction->Facets->Add(maxInclusive);

		LotteryNumberType->Content = LotteryNumberRestriction;
		schema->Items->Add(LotteryNumberType);

		// <xs:simpleType name="LotteryNumberList">
		XmlSchemaSimpleType^ LotteryNumberListType = gcnew XmlSchemaSimpleType();
		LotteryNumberListType->Name = "LotteryNumberList";

		// <xs:list itemType="LotteryNumber"/>
		XmlSchemaSimpleTypeList^ list = gcnew XmlSchemaSimpleTypeList();
		list->ItemTypeName = gcnew XmlQualifiedName("LotteryNumber", "");
		LotteryNumberListType->Content = list;

		schema->Items->Add(LotteryNumberListType);

		// <xs:simpleType name="LotteryNumbers">
		XmlSchemaSimpleType^ LotteryNumbersType = gcnew XmlSchemaSimpleType();
		LotteryNumbersType->Name = "LotteryNumbers";

		// <xs:restriction base="LotteryNumberList">
		XmlSchemaSimpleTypeRestriction^ LotteryNumbersRestriction = gcnew XmlSchemaSimpleTypeRestriction();
		LotteryNumbersRestriction->BaseTypeName = gcnew XmlQualifiedName("LotteryNumberList", "");

		// <xs:length value="5"/>
		XmlSchemaLengthFacet^ length = gcnew XmlSchemaLengthFacet();
		length->Value = "5";
		LotteryNumbersRestriction->Facets->Add(length);

		LotteryNumbersType->Content = LotteryNumbersRestriction;

		schema->Items->Add(LotteryNumbersType);

		// <xs:element name="TodaysLottery" type="LotteryNumbers">
		XmlSchemaElement^ TodaysLottery = gcnew XmlSchemaElement();
		TodaysLottery->Name = "TodaysLottery";
		TodaysLottery->SchemaTypeName = gcnew XmlQualifiedName("LotteryNumbers", "");

		schema->Items->Add(TodaysLottery);

		XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
		schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
		schemaSet->Add(schema);
		schemaSet->Compile();

		XmlSchema^ compiledSchema = nullptr;

		for each (XmlSchema^ schema1 in schemaSet->Schemas())
		{
			compiledSchema = schema1;
		}

		XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
		nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
		compiledSchema->Write(Console::Out, nsmgr);
	}
};

int main()
{
	XMLSchemaExamples::Main();
	return 0;
}

The following XML file is generated for the preceding code example.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:simpleType name="LotteryNumber">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="99"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="LotteryNumberList">
        <xs:list itemType="LotteryNumber"/>
    </xs:simpleType>

    <xs:simpleType name="LotteryNumbers">
        <xs:restriction base="LotteryNumberList">
            <xs:length value="5"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:element name="TodaysLottery" type="LotteryNumbers">
    </xs:element>

</xs:schema>

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: