XmlSchemaAll 類別

定義

代表萬維網聯盟(W3C) all 元素(合成器)。

public ref class XmlSchemaAll : System::Xml::Schema::XmlSchemaGroupBase
public class XmlSchemaAll : System.Xml.Schema.XmlSchemaGroupBase
type XmlSchemaAll = class
    inherit XmlSchemaGroupBase
Public Class XmlSchemaAll
Inherits XmlSchemaGroupBase
繼承

範例

以下範例會產生一個 all 元素。

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

public class Sample
{
    public static void Main()
    {
        XmlSchema schema = new XmlSchema();

        XmlSchemaElement thing1 = new XmlSchemaElement();
        thing1.Name = "thing1";
        thing1.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        schema.Items.Add(thing1);

        XmlSchemaElement thing2 = new XmlSchemaElement();
        thing2.Name = "thing2";
        thing2.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        schema.Items.Add(thing2);

        XmlSchemaElement thing3 = new XmlSchemaElement();
        thing3.Name = "thing3";
        thing3.SchemaTypeName =
        new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        schema.Items.Add(thing3);

        XmlSchemaElement thing4 = new XmlSchemaElement();
        thing4.Name = "thing4";
        thing4.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
        schema.Items.Add(thing4);

        XmlSchemaAttribute myAttribute = new XmlSchemaAttribute();
        myAttribute.Name = "myAttribute";
        myAttribute.SchemaTypeName = new XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema");
        schema.Items.Add(myAttribute);

        XmlSchemaComplexType myComplexType = new XmlSchemaComplexType();
        myComplexType.Name = "myComplexType";

        XmlSchemaAll complexType_all = new XmlSchemaAll();

        XmlSchemaElement complexType_all_thing1 = new XmlSchemaElement();
        complexType_all_thing1.RefName = new XmlQualifiedName("thing1", "");
        complexType_all.Items.Add(complexType_all_thing1);

        XmlSchemaElement complexType_all_thing2 = new XmlSchemaElement();
        complexType_all_thing2.RefName = new XmlQualifiedName("thing2", "");
        complexType_all.Items.Add(complexType_all_thing2);

        XmlSchemaElement complexType_all_thing3 = new XmlSchemaElement();
        complexType_all_thing3.RefName = new XmlQualifiedName("thing3", "");
        complexType_all.Items.Add(complexType_all_thing3);

        XmlSchemaElement complexType_all_thing4 = new XmlSchemaElement();
        complexType_all_thing4.RefName = new XmlQualifiedName("thing4", "");
        complexType_all.Items.Add(complexType_all_thing4);

        myComplexType.Particle = complexType_all;

        XmlSchemaAttribute complexType_myAttribute = new XmlSchemaAttribute();
        complexType_myAttribute.RefName = new XmlQualifiedName("myAttribute", "");
        myComplexType.Attributes.Add(complexType_myAttribute);

        schema.Items.Add(myComplexType);

        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);
    }

    private static void ValidationCallbackOne(object sender, ValidationEventArgs args)
    {
        Console.WriteLine(args.Message);
    }
}
Option Strict On
Option Explicit On

Imports System.Xml
Imports System.Xml.Schema

Public Class Sample

    Public Shared Sub Main()
        Dim schema As New XmlSchema()

        Dim thing1 As New XmlSchemaElement()
        thing1.Name = "thing1"
        thing1.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        schema.Items.Add(thing1)

        Dim thing2 As New XmlSchemaElement()
        thing2.Name = "thing2"
        thing2.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        schema.Items.Add(thing2)

        Dim thing3 As New XmlSchemaElement()
        thing3.Name = "thing3"
        thing3.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        schema.Items.Add(thing3)

        Dim thing4 As New XmlSchemaElement()
        thing4.Name = "thing4"
        thing4.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
        schema.Items.Add(thing4)

        Dim myAttribute As New XmlSchemaAttribute()
        myAttribute.Name = "myAttribute"
        myAttribute.SchemaTypeName = New XmlQualifiedName("decimal", "http://www.w3.org/2001/XMLSchema")
        schema.Items.Add(myAttribute)

        Dim myComplexType As New XmlSchemaComplexType()
        myComplexType.Name = "myComplexType"

        Dim complexType_all As New XmlSchemaAll()

        Dim complexType_all_thing1 As New XmlSchemaElement()
        complexType_all_thing1.RefName = New XmlQualifiedName("thing1", "")
        complexType_all.Items.Add(complexType_all_thing1)

        Dim complexType_all_thing2 As New XmlSchemaElement()
        complexType_all_thing2.RefName = New XmlQualifiedName("thing2", "")
        complexType_all.Items.Add(complexType_all_thing2)

        Dim complexType_all_thing3 As New XmlSchemaElement()
        complexType_all_thing3.RefName = New XmlQualifiedName("thing3", "")
        complexType_all.Items.Add(complexType_all_thing3)

        Dim complexType_all_thing4 As New XmlSchemaElement()
        complexType_all_thing4.RefName = New XmlQualifiedName("thing4", "")
        complexType_all.Items.Add(complexType_all_thing4)

        myComplexType.Particle = complexType_all

        Dim complexType_myAttribute As New XmlSchemaAttribute()
        complexType_myAttribute.RefName = New XmlQualifiedName("myAttribute", "")
        myComplexType.Attributes.Add(complexType_myAttribute)

        schema.Items.Add(myComplexType)

        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


    Private Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
        Console.WriteLine(args.Message)
    End Sub
End Class

以下 XML 檔案是為前述程式碼範例產生的。


<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="thing1" type="xs:string"/>
  <xs:element name="thing2" type="xs:string"/>
  <xs:element name="thing3" type="xs:string"/>
  <xs:element name="thing4" type="xs:string"/>
  <xs:attribute name="myAttribute" type="xs:decimal"/>
  <xs:complexType name="myComplexType">
    <xs:all>
      <xs:element ref="thing1" />
      <xs:element ref="thing2" />
      <xs:element ref="thing3" />
      <xs:element ref="thing4" />
    </xs:all>
      <xs:attribute ref="myAttribute"/>
  </xs:complexType>
</xs:schema>

備註

XmlSchemaAll 類別允許群中的元素以任意順序出現(或不出現)在包含的元素中。

建構函式

名稱 Description
XmlSchemaAll()

初始化 XmlSchemaAll 類別的新執行個體。

屬性

名稱 Description
Annotation

取得或設定該 annotation 屬性。

(繼承來源 XmlSchemaAnnotated)
Id

取得或設定字串 ID。

(繼承來源 XmlSchemaAnnotated)
Items

取得合成器中包含的XmlSchemaElement元素集合all

LineNumber

取得或設定該 schema 元素所指檔案中的行號。

(繼承來源 XmlSchemaObject)
LinePosition

取得或設定該元素所指檔案 schema 中的行位。

(繼承來源 XmlSchemaObject)
MaxOccurs

取得或設定粒子出現的最大次數。

(繼承來源 XmlSchemaParticle)
MaxOccursString

取得或設定該數字為字串值。 粒子最多能出現的次數。

(繼承來源 XmlSchemaParticle)
MinOccurs

取得或設定該粒子出現的最少次數。

(繼承來源 XmlSchemaParticle)
MinOccursString

取得或設定該數字為字串值。 粒子能出現的最少次數。

(繼承來源 XmlSchemaParticle)
Namespaces

用這個結構物件取得或設定 XmlSerializerNamespaces 使用 。

(繼承來源 XmlSchemaObject)
Parent

取得或設定此 XmlSchemaObject的父節點。

(繼承來源 XmlSchemaObject)
SourceUri

取得或設定載入結構檔案的來源位置。

(繼承來源 XmlSchemaObject)
UnhandledAttributes

取得或設定不屬於目前結構目標命名空間的限定屬性。

(繼承來源 XmlSchemaAnnotated)

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於