XmlSchemaComplexContentRestriction Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt het element van het restriction XML-schema zoals opgegeven door het World Wide Web Consortium (W3C). Deze klasse is bedoeld voor complexe typen met een complex inhoudsmodel dat is afgeleid door beperking. Hiermee wordt de inhoud van het complexe type beperkt tot een subset van het overgenomen complexe type.
public ref class XmlSchemaComplexContentRestriction : System::Xml::Schema::XmlSchemaContent
public class XmlSchemaComplexContentRestriction : System.Xml.Schema.XmlSchemaContent
type XmlSchemaComplexContentRestriction = class
inherit XmlSchemaContent
Public Class XmlSchemaComplexContentRestriction
Inherits XmlSchemaContent
- Overname
Voorbeelden
In het volgende voorbeeld wordt een complexContent element gemaakt dat is uitgebreid met een beperking.
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:complexType name="phoneNumber">
XmlSchemaComplexType phoneNumber = new XmlSchemaComplexType();
phoneNumber.Name = "phoneNumber";
// <xs:sequence>
XmlSchemaSequence phoneNumberSequence = new XmlSchemaSequence();
// <xs:element name="areaCode"/>
XmlSchemaElement areaCode1 = new XmlSchemaElement();
areaCode1.MinOccurs = 0;
areaCode1.MaxOccursString = "1";
areaCode1.Name = "areaCode";
phoneNumberSequence.Items.Add(areaCode1);
// <xs:element name="prefix"/>
XmlSchemaElement prefix1 = new XmlSchemaElement();
prefix1.MinOccurs = 1;
prefix1.MaxOccursString = "1";
prefix1.Name = "prefix";
phoneNumberSequence.Items.Add(prefix1);
// <xs:element name="number"/>
XmlSchemaElement number1 = 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">
XmlSchemaComplexType localPhoneNumber = new XmlSchemaComplexType();
localPhoneNumber.Name = "localPhoneNumber";
// <xs:complexContent>
XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();
// <xs:restriction base="phoneNumber">
XmlSchemaComplexContentRestriction restriction = new XmlSchemaComplexContentRestriction();
restriction.BaseTypeName = new XmlQualifiedName("phoneNumber", "");
// <xs:sequence>
XmlSchemaSequence sequence2 = new XmlSchemaSequence();
// <xs:element name="areaCode" minOccurs="0"/>
XmlSchemaElement areaCode2 = new XmlSchemaElement();
areaCode2.MinOccurs = 0;
areaCode2.MaxOccursString = "1";
areaCode2.Name = "areaCode";
sequence2.Items.Add(areaCode2);
// <xs:element name="prefix"/>
XmlSchemaElement prefix2 = new XmlSchemaElement();
prefix2.MinOccurs = 1;
prefix2.MaxOccursString = "1";
prefix2.Name = "prefix";
sequence2.Items.Add(prefix2);
// <xs:element name="number"/>
XmlSchemaElement number2 = 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);
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
schemaSet.Add(schema);
schemaSet.Compile();
XmlSchema compiledSchema = null;
foreach (XmlSchema schema1 in schemaSet.Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema.Write(Console.Out, nsmgr);
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
{
Console.WriteLine(args.Message);
}
}
Option Explicit On
Option Strict On
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
Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
Console.WriteLine(args.Message)
End Sub
End Class
Het volgende XML-bestand wordt gegenereerd voor het voorgaande codevoorbeeld.
<?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>
Constructors
| Name | Description |
|---|---|
| XmlSchemaComplexContentRestriction() |
Initialiseert een nieuw exemplaar van de XmlSchemaComplexContentRestriction klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Annotation |
Hiermee haalt u de eigenschap op of stelt u deze |
| AnyAttribute |
Hiermee haalt u het onderdeel van het XmlSchemaAnyAttribute complexe inhoudsmodel op of stelt u het in. |
| Attributes |
Hiermee haalt u de verzameling kenmerken voor het complexe type op. Bevat de XmlSchemaAttribute en XmlSchemaAttributeGroupRef elementen. |
| BaseTypeName |
Hiermee wordt de naam van een complex type opgehaald of ingesteld waaruit dit type wordt afgeleid door beperking. |
| Id |
Hiermee haalt u de tekenreeks-id op of stelt u deze in. (Overgenomen van XmlSchemaAnnotated) |
| LineNumber |
Hiermee haalt u het regelnummer op in het bestand waarnaar het |
| LinePosition |
Hiermee haalt u de lijnpositie op in het bestand waarnaar het |
| Namespaces |
Hiermee wordt het XmlSerializerNamespaces te gebruiken met dit schemaobject opgehaald of ingesteld. (Overgenomen van XmlSchemaObject) |
| Parent |
Hiermee haalt u het bovenliggende item op of stelt u deze XmlSchemaObjectin. (Overgenomen van XmlSchemaObject) |
| Particle |
Hiermee haalt u een van de XmlSchemaGroupRef, XmlSchemaChoiceof XmlSchemaAllklassen op of XmlSchemaSequence stelt u deze in. |
| SourceUri |
Hiermee wordt de bronlocatie opgehaald of ingesteld voor het bestand dat het schema heeft geladen. (Overgenomen van XmlSchemaObject) |
| UnhandledAttributes |
Hiermee worden de gekwalificeerde kenmerken opgehaald of ingesteld die niet behoren tot de doelnaamruimte van het huidige schema. (Overgenomen van XmlSchemaAnnotated) |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |