This documentation is archived and is not being maintained.

XmlSchemaSimpleContent Class

Class for simple types and complex types with a simple content model. Represents the World Wide Web Consortium (W3C) simpleContent element.

For a list of all members of this type, see XmlSchemaSimpleContent Members.


[Visual Basic]
Public Class XmlSchemaSimpleContent
   Inherits XmlSchemaContentModel
public class XmlSchemaSimpleContent : XmlSchemaContentModel
public __gc class XmlSchemaSimpleContent : public
public class XmlSchemaSimpleContent extends XmlSchemaContentModel

Thread Safety

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


XmlSchemaSimpleContent is used to indicate that the content model of the new type contains only character data and no elements. It does this through XmlSchemaSimpleContentExtension or XmlSchemaSimpleContentRestriction.


[Visual Basic, C#, C++] The following example shows the XmlSchemaSimpleContent class.

[Visual Basic] 
Option Explicit
Option Strict

Imports System
Imports System.Xml
Imports System.Xml.Schema

Class XMLSchemaExamples
    Public Shared Sub Main()
        Dim schema As New XmlSchema()
        ' <xs:element name="generalPrice">
        Dim generalPrice As New XmlSchemaElement()
        generalPrice.Name = "generalPrice"
        ' <xs:complexType>
        Dim ct As New XmlSchemaComplexType()
        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        ' <xs:extension base="xs:decimal">
        Dim simpleContent_extension As New XmlSchemaSimpleContentExtension()
        simpleContent_extension.BaseTypeName = New XmlQualifiedName("decimal", "")
        ' <xs:attribute name="currency" type="xs:string" />
        Dim currency As New XmlSchemaAttribute()
        currency.Name = "currency"
        currency.SchemaTypeName = New XmlQualifiedName("string", "")
        simpleContent.Content = simpleContent_extension
        ct.ContentModel = simpleContent
        generalPrice.SchemaType = ct
    schema.Compile(AddressOf ValidationCallbackOne)
    Dim nsmgr As New XmlNamespaceManager(New NameTable())
    nsmgr.AddNamespace("xs", "")
    schema.Write(Console.Out, nsmgr)
    End Sub 'Main
    Public Shared Sub ValidationCallbackOne(sender As Object, args As ValidationEventArgs)

    End Sub 'ValidationCallbackOne
End Class 'XMLSchemaExamples

using System;
using System.Xml;  
using System.Xml.Schema;

class XMLSchemaExamples {
    public static void Main() {
        XmlSchema schema = new XmlSchema();
        // <xs:element name="generalPrice">
        XmlSchemaElement generalPrice = new XmlSchemaElement();
        generalPrice.Name = "generalPrice";

        // <xs:complexType>
        XmlSchemaComplexType ct = new XmlSchemaComplexType();

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        // <xs:extension base="xs:decimal">
        XmlSchemaSimpleContentExtension simpleContent_extension = new XmlSchemaSimpleContentExtension();
        simpleContent_extension.BaseTypeName = new XmlQualifiedName("decimal", "");

        // <xs:attribute name="currency" type="xs:string" />
        XmlSchemaAttribute currency = new XmlSchemaAttribute();
        currency.Name = "currency";
        currency.SchemaTypeName = new XmlQualifiedName("string", "");

        simpleContent.Content = simpleContent_extension;
        ct.ContentModel = simpleContent;
        generalPrice.SchemaType = ct;

        schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
     XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr.AddNamespace("xs", "");
        schema.Write(Console.Out, nsmgr);

    public static void ValidationCallbackOne(object sender, ValidationEventArgs args) {


#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;  
using namespace System::Xml::Schema;

__gc class XMLSchemaExamples {
    static void main() {
        XmlSchema* schema = new XmlSchema();
        // <xs:element name="generalPrice">
        XmlSchemaElement* generalPrice = new XmlSchemaElement();
        generalPrice->Name = S"generalPrice";

        // <xs:complexType>
        XmlSchemaComplexType* ct = new XmlSchemaComplexType();

        // <xs:simpleContent>
        XmlSchemaSimpleContent* simpleContent = new XmlSchemaSimpleContent();
        // <xs:extension base="xs:decimal">
        XmlSchemaSimpleContentExtension* simpleContent_extension = new XmlSchemaSimpleContentExtension();
        simpleContent_extension->BaseTypeName = new XmlQualifiedName(S"decimal", S"");

        // <xs:attribute name="currency" type="xs:string" />
        XmlSchemaAttribute* currency = new XmlSchemaAttribute();
        currency->Name = S"currency";
        currency->SchemaTypeName = new XmlQualifiedName(S"string", S"");

        simpleContent->Content = simpleContent_extension;
        ct->ContentModel = simpleContent;
        generalPrice->SchemaType = ct;

        schema->Compile(new ValidationEventHandler(0, ValidationCallbackOne));
     XmlNamespaceManager* nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr->AddNamespace(S"xs", S"");

    static void ValidationCallbackOne(Object* /*sender*/, ValidationEventArgs* args) {


int main()

[Visual Basic, C#, C++] The following XML file is generated for the preceding code example.

<?xml version="1.0" encoding="IBM437"?>
<xs:schema  xmlns:xs="">
    <xs:element name="generalPrice">
          <xs:extension base="xs:decimal">
            <xs:attribute name="currency" type="xs:string" />

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Namespace: System.Xml.Schema

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

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

See Also

XmlSchemaSimpleContent Members | System.Xml.Schema Namespace