XmlSchemaComplexContentRestriction Class
.NET Framework 2.0
Represents the restriction element from XML Schema as specified by the World Wide Web Consortium (W3C). This class is for complex types with a complex content model derived by restriction. It restricts the contents of the complex type to a subset of the inherited complex type.
Namespace: System.Xml.Schema
Assembly: System.Xml (in system.xml.dll)
Assembly: System.Xml (in system.xml.dll)
The following example creates a complexContent element extended by restriction.
Option Explicit On Option Strict On Imports System Imports System.Xml Imports System.Xml.Schema Class XMLSchemaExamples Public Shared Sub Main() Dim schema As New XmlSchema() ' <xs:complexType name="phoneNumber"> Dim phoneNumber As New XmlSchemaComplexType() phoneNumber.Name = "phoneNumber" ' <xs:sequence> Dim phoneNumberSequence As New XmlSchemaSequence() ' <xs:element name="areaCode"/> Dim areaCode1 As New XmlSchemaElement() areaCode1.MinOccurs = 0 areaCode1.MaxOccursString = "1" areaCode1.Name = "areaCode" phoneNumberSequence.Items.Add(areaCode1) ' <xs:element name="prefix"/> Dim prefix1 As New XmlSchemaElement() prefix1.MinOccurs = 1 prefix1.MaxOccursString = "1" prefix1.Name = "prefix" phoneNumberSequence.Items.Add(prefix1) ' <xs:element name="number"/> Dim number1 As New XmlSchemaElement() number1.MinOccurs = 1 number1.MaxOccursString = "1" number1.Name = "number" phoneNumberSequence.Items.Add(number1) phoneNumber.Particle = phoneNumberSequence schema.Items.Add(phoneNumber) ' <xs:complexType name="localPhoneNumber"> Dim localPhoneNumber As New XmlSchemaComplexType() localPhoneNumber.Name = "localPhoneNumber" ' <xs:complexContent> Dim complexContent As New XmlSchemaComplexContent() ' <xs:restriction base="phoneNumber"> Dim restriction As New XmlSchemaComplexContentRestriction() restriction.BaseTypeName = New XmlQualifiedName("phoneNumber", "") ' <xs:sequence> Dim sequence2 As New XmlSchemaSequence() ' <xs:element name="areaCode" minOccurs="0"/> Dim areaCode2 As New XmlSchemaElement() areaCode2.MinOccurs = 0 areaCode2.MaxOccursString = "1" areaCode2.Name = "areaCode" sequence2.Items.Add(areaCode2) ' <xs:element name="prefix"/> Dim prefix2 As New XmlSchemaElement() prefix2.MinOccurs = 1 prefix2.MaxOccursString = "1" prefix2.Name = "prefix" sequence2.Items.Add(prefix2) ' <xs:element name="number"/> Dim number2 As New XmlSchemaElement() number2.MinOccurs = 1 number2.MaxOccursString = "1" number2.Name = "number" sequence2.Items.Add(number2) restriction.Particle = sequence2 complexContent.Content = restriction localPhoneNumber.ContentModel = complexContent schema.Items.Add(localPhoneNumber) Dim schemaSet As New XmlSchemaSet() AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne schemaSet.Add(schema) schemaSet.Compile() Dim compiledSchema As XmlSchema = Nothing For Each schema1 As XmlSchema In schemaSet.Schemas() compiledSchema = schema1 Next Dim nsmgr As New XmlNamespaceManager(New NameTable()) nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema") compiledSchema.Write(Console.Out, nsmgr) End Sub 'Main Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs) Console.WriteLine(args.Message) End Sub 'ValidationCallbackOne End Class 'XMLSchemaExamples
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:complexType name="phoneNumber">
<xs:sequence>
<xs:element name="areaCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="prefix" minOccurs="1" maxOccurs="1"/>
<xs:element name="number" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="localPhoneNumber">
<xs:complexContent mixed="false">
<xs:restriction base="phoneNumber">
<xs:sequence>
<xs:element name="areaCode" minOccurs="0" maxOccurs="1"/>
<xs:element name="prefix" minOccurs="1" maxOccurs="1"/>
<xs:element name="number" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
System.Object
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaContent
System.Xml.Schema.XmlSchemaComplexContentRestriction
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaContent
System.Xml.Schema.XmlSchemaComplexContentRestriction
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Community Additions
ADD
Show: