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.
Assembly: System.Xml (in System.Xml.dll)
System.Xml.Schema::XmlSchemaObject
System.Xml.Schema::XmlSchemaAnnotated
System.Xml.Schema::XmlSchemaType
System.Xml.Schema::XmlSchemaSimpleType
| Name | Description | |
|---|---|---|
![]() | XmlSchemaSimpleType() | Initializes a new instance of the XmlSchemaSimpleType class. |
| Name | Description | |
|---|---|---|
![]() | Annotation | Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.) |
![]() | BaseSchemaType | 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.) |
![]() | BaseXmlSchemaType | Gets the post-compilation value for the base type of this schema type.(Inherited from XmlSchemaType.) |
![]() | Content | Gets or sets one of XmlSchemaSimpleTypeUnion, XmlSchemaSimpleTypeList, or XmlSchemaSimpleTypeRestriction. |
![]() | Datatype | Gets the post-compilation value for the data type of the complex type.(Inherited from XmlSchemaType.) |
![]() | DerivedBy | Gets the post-compilation information on how this element was derived from its base type.(Inherited from XmlSchemaType.) |
![]() | Final | Gets or sets the final attribute of the type derivation that indicates if further derivations are allowed.(Inherited from XmlSchemaType.) |
![]() | FinalResolved | Gets the post-compilation value of the Final property.(Inherited from XmlSchemaType.) |
![]() | Id | Gets or sets the string id.(Inherited from XmlSchemaAnnotated.) |
![]() | IsMixed | 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.) |
![]() | LineNumber | Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | LinePosition | Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | Name | Gets or sets the name of the type.(Inherited from XmlSchemaType.) |
![]() | Namespaces | Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.) |
![]() | Parent | Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.) |
![]() | QualifiedName | 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.) |
![]() | SourceUri | Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.) |
![]() | TypeCode | Gets the XmlTypeCode of the type.(Inherited from XmlSchemaType.) |
![]() | UnhandledAttributes | Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | 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>
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.


