XmlSchema Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Representasi dalam memori Skema XML, seperti yang ditentukan dalam Skema XML World Wide Web Consortium (W3C) Bagian 1: Struktur dan Skema XML Bagian 2: Datatypes].
public ref class XmlSchema
public ref class XmlSchema : System::Xml::Schema::XmlSchemaObject
public class XmlSchema
public class XmlSchema : System.Xml.Schema.XmlSchemaObject
type XmlSchema = class
type XmlSchema = class
inherit XmlSchemaObject
Public Class XmlSchema
Public Class XmlSchema
Inherits XmlSchemaObject
- Warisan
-
XmlSchema
- Warisan
Contoh
Contoh berikut membuat definisi skema.
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:element name="cat" type="xs:string"/>
XmlSchemaElement elementCat = new XmlSchemaElement();
schema.Items.Add(elementCat);
elementCat.Name = "cat";
elementCat.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="dog" type="xs:string"/>
XmlSchemaElement elementDog = new XmlSchemaElement();
schema.Items.Add(elementDog);
elementDog.Name = "dog";
elementDog.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="redDog" substitutionGroup="dog" />
XmlSchemaElement elementRedDog = new XmlSchemaElement();
schema.Items.Add(elementRedDog);
elementRedDog.Name = "redDog";
elementRedDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="brownDog" substitutionGroup ="dog" />
XmlSchemaElement elementBrownDog = new XmlSchemaElement();
schema.Items.Add(elementBrownDog);
elementBrownDog.Name = "brownDog";
elementBrownDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="pets">
XmlSchemaElement elementPets = new XmlSchemaElement();
schema.Items.Add(elementPets);
elementPets.Name = "pets";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
elementPets.SchemaType = complexType;
// <xs:choice minOccurs="0" maxOccurs="unbounded">
XmlSchemaChoice choice = new XmlSchemaChoice();
complexType.Particle = choice;
choice.MinOccurs = 0;
choice.MaxOccursString = "unbounded";
// <xs:element ref="cat"/>
XmlSchemaElement catRef = new XmlSchemaElement();
choice.Items.Add(catRef);
catRef.RefName = new XmlQualifiedName("cat");
// <xs:element ref="dog"/>
XmlSchemaElement dogRef = new XmlSchemaElement();
choice.Items.Add(dogRef);
dogRef.RefName = new XmlQualifiedName("dog");
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:element name="cat" type="xs:string"/>
Dim elementCat As New XmlSchemaElement()
schema.Items.Add(elementCat)
elementCat.Name = "cat"
elementCat.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="dog" type="xs:string"/>
Dim elementDog As New XmlSchemaElement()
schema.Items.Add(elementDog)
elementDog.Name = "dog"
elementDog.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="redDog" substitutionGroup="dog" />
Dim elementRedDog As New XmlSchemaElement()
schema.Items.Add(elementRedDog)
elementRedDog.Name = "redDog"
elementRedDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="brownDog" substitutionGroup ="dog" />
Dim elementBrownDog As New XmlSchemaElement()
schema.Items.Add(elementBrownDog)
elementBrownDog.Name = "brownDog"
elementBrownDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="pets">
Dim elementPets As New XmlSchemaElement()
schema.Items.Add(elementPets)
elementPets.Name = "pets"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
elementPets.SchemaType = complexType
' <xs:choice minOccurs="0" maxOccurs="unbounded">
Dim choice As New XmlSchemaChoice()
complexType.Particle = choice
choice.MinOccurs = 0
choice.MaxOccursString = "unbounded"
' <xs:element ref="cat"/>
Dim catRef As New XmlSchemaElement()
choice.Items.Add(catRef)
catRef.RefName = New XmlQualifiedName("cat")
' <xs:element ref="dog"/>
Dim dogRef As New XmlSchemaElement()
choice.Items.Add(dogRef)
dogRef.RefName = New XmlQualifiedName("dog")
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
File XML berikut dibuat untuk contoh kode sebelumnya.
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" type="xs:string" substitutionGroup="dog"/>
<xs:element name="brownDog" type="xs:string" substitutionGroup ="dog" />
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Keterangan
Penting
- Jangan gunakan skema dari sumber atau lokasi yang tidak diketahui atau tidak tepercaya. Melakukannya akan membahayakan keamanan kode Anda.
- Skema XML (termasuk skema sebaris) secara inheren rentan terhadap penolakan serangan layanan; jangan menerimanya dalam skenario yang tidak tepercaya.
- Pengecualian yang dimunculkan sebagai akibat dari penggunaan XmlSchema kelas, seperti XmlSchemaException kelas, mungkin berisi informasi sensitif yang tidak boleh diekspos dalam skenario yang tidak tepercaya. Misalnya, SourceUri properti dari XmlSchemaException mengembalikan jalur URI ke file skema yang menyebabkan pengecualian. Properti SourceUri tidak boleh diekspos dalam skenario yang tidak tepercaya. Pengecualian harus ditangani dengan benar sehingga informasi sensitif ini tidak terekspos dalam skenario yang tidak tepercaya.
Konstruktor
| Nama | Deskripsi |
|---|---|
| XmlSchema() |
Menginisialisasi instans baru dari kelas XmlSchema. |
Bidang
| Nama | Deskripsi |
|---|---|
| InstanceNamespace |
Namespace instans skema XML. Bidang ini konstan. |
| Namespace |
Namespace skema XML. Bidang ini konstan. |
Properti
| Nama | Deskripsi |
|---|---|
| AttributeFormDefault |
Mendapatkan atau mengatur formulir untuk atribut yang dideklarasikan dalam namespace layanan target skema. |
| AttributeGroups |
Mendapatkan nilai pasca-skema-kompilasi dari semua grup atribut global dalam skema. |
| Attributes |
Mendapatkan nilai pasca-skema-kompilasi untuk semua atribut dalam skema. |
| BlockDefault |
Mendapatkan atau mengatur |
| ElementFormDefault |
Mendapatkan atau mengatur formulir untuk elemen yang dideklarasikan dalam namespace layanan target skema. |
| Elements |
Mendapatkan nilai pasca-skema-kompilasi untuk semua elemen dalam skema. |
| FinalDefault |
Mendapatkan atau mengatur |
| Groups |
Mendapatkan nilai pasca-kompilasi skema dari semua grup dalam skema. |
| Id |
Mendapatkan atau mengatur ID string. |
| Includes |
Mendapatkan kumpulan skema yang disertakan dan diimpor. |
| IsCompiled |
Menunjukkan apakah skema telah dikompilasi. |
| Items |
Mendapatkan kumpulan elemen skema dalam skema dan digunakan untuk menambahkan jenis elemen baru di |
| LineNumber |
Mendapatkan atau mengatur nomor baris dalam file yang |
| LinePosition |
Mendapatkan atau mengatur posisi baris dalam file yang |
| Namespaces |
Mendapatkan atau mengatur XmlSerializerNamespaces untuk digunakan dengan objek skema ini. (Diperoleh dari XmlSchemaObject) |
| Notations |
Mendapatkan nilai pasca-kompilasi-skema untuk semua notasi dalam skema. |
| Parent |
Mendapatkan atau mengatur induk dari ini XmlSchemaObject. (Diperoleh dari XmlSchemaObject) |
| SchemaTypes |
Mendapatkan nilai pasca-kompilasi skema dari semua jenis skema dalam skema. |
| SourceUri |
Mendapatkan atau mengatur lokasi sumber untuk file yang memuat skema. (Diperoleh dari XmlSchemaObject) |
| TargetNamespace |
Mendapatkan atau mengatur Pengidentifikasi Sumber Daya Seragam (URI) dari namespace target skema. |
| UnhandledAttributes |
Mendapatkan atau mengatur atribut yang memenuhi syarat yang bukan milik namespace target skema. |
| Version |
Mendapatkan atau mengatur versi skema. |
Metode
| Nama | Deskripsi |
|---|---|
| Compile(ValidationEventHandler, XmlResolver) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mengkompilasi Xml Schema Object Model (SOM) ke dalam informasi skema untuk validasi. Digunakan untuk memeriksa struktur sintik dan semantik dari SOM yang dibangun secara terprogram. Pemeriksaan validasi semantik dilakukan selama kompilasi. |
| Compile(ValidationEventHandler) |
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.
Mengkompilasi Xml Schema Object Model (SOM) ke dalam informasi skema untuk validasi. Digunakan untuk memeriksa struktur sintik dan semantik dari SOM yang dibangun secara terprogram. Pemeriksaan validasi semantik dilakukan selama kompilasi. |
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| Read(Stream, ValidationEventHandler) |
Membaca Skema XML dari aliran yang disediakan. |
| Read(TextReader, ValidationEventHandler) |
Membaca Skema XML dari yang disediakan TextReader. |
| Read(XmlReader, ValidationEventHandler) |
Membaca Skema XML dari yang disediakan XmlReader. |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
| Write(Stream, XmlNamespaceManager) |
Menulis Skema XML ke yang disediakan Stream menggunakan yang XmlNamespaceManager ditentukan. |
| Write(Stream) |
Menulis Skema XML ke aliran data yang disediakan. |
| Write(TextWriter, XmlNamespaceManager) |
Menulis Skema XML ke yang disediakan TextWriter. |
| Write(TextWriter) |
Menulis Skema XML ke yang disediakan TextWriter. |
| Write(XmlWriter, XmlNamespaceManager) |
Menulis Skema XML ke yang disediakan XmlWriter. |
| Write(XmlWriter) |
Menulis Skema XML ke yang disediakan XmlWriter. |