XmlSchemaSet.Add Metode
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.
Menambahkan skema bahasa definisi Skema XML (XSD) yang diberikan ke XmlSchemaSet.
Overload
Add(XmlSchema) |
Menambahkan yang diberikan XmlSchema ke XmlSchemaSet. |
Add(XmlSchemaSet) |
Menambahkan semua skema bahasa definisi Skema XML (XSD) dalam yang diberikan XmlSchemaSet ke XmlSchemaSet. |
Add(String, String) |
Menambahkan skema bahasa definisi Skema XML (XSD) di URL yang ditentukan ke XmlSchemaSet. |
Add(String, XmlReader) |
Menambahkan skema bahasa definisi Skema XML (XSD) yang terkandung dalam XmlReader ke XmlSchemaSet. |
Add(XmlSchema)
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
Menambahkan yang diberikan XmlSchema ke XmlSchemaSet.
public:
System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema);
member this.Add : System.Xml.Schema.XmlSchema -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema) As XmlSchema
Parameter
- schema
- XmlSchema
Objek XmlSchema yang akan ditambahkan ke XmlSchemaSet.
Mengembalikan
Objek XmlSchema jika skema valid. Jika skema tidak valid dan ValidationEventHandler ditentukan, maka null
dikembalikan dan peristiwa validasi yang sesuai dinaikkan. Jika tidak, XmlSchemaException akan muncul.
Pengecualian
Skema tidak valid.
Objek XmlSchema yang diteruskan sebagai parameter adalah null
.
Keterangan
XmlSchema Jika objek sudah ada di XmlSchemaSet, Add metode tidak melakukan apa pun.
Fungsionalitas metode ini identik dengan metode .Add
Berlaku untuk
Add(XmlSchemaSet)
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
Menambahkan semua skema bahasa definisi Skema XML (XSD) dalam yang diberikan XmlSchemaSet ke XmlSchemaSet.
public:
void Add(System::Xml::Schema::XmlSchemaSet ^ schemas);
public void Add (System.Xml.Schema.XmlSchemaSet schemas);
member this.Add : System.Xml.Schema.XmlSchemaSet -> unit
Public Sub Add (schemas As XmlSchemaSet)
Parameter
- schemas
- XmlSchemaSet
Objek XmlSchemaSet.
Pengecualian
Skema dalam XmlSchemaSet tidak valid.
Objek XmlSchemaSet yang diteruskan sebagai parameter adalah null
.
Contoh
Contoh kode berikut mengilustrasikan penambahan skema ke XmlSchemaSet, lalu menambahkan ke XmlSchemaSet yang baru XmlSchemaSet menggunakan Add metode .
Dim schemaSet1 As XmlSchemaSet = New XmlSchemaSet
schemaSet1.Add("http://www.contoso.com/retail", "http://www.contoso.com/retail.xsd")
schemaSet1.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd")
schemaSet1.Add("http://www.contoso.com/music", "http://www.contoso.com/music.xsd")
Dim schemaSet2 As XmlSchemaSet = New XmlSchemaSet
schemaSet2.Add(schemaSet1)
XmlSchemaSet schemaSet1 = new XmlSchemaSet();
schemaSet1.Add("http://www.contoso.com/retail", "http://www.contoso.com/retail.xsd");
schemaSet1.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd");
schemaSet1.Add("http://www.contoso.com/music", "http://www.contoso.com/music.xsd");
XmlSchemaSet schemaSet2 = new XmlSchemaSet();
schemaSet2.Add(schemaSet1);
Keterangan
Sebelum skema dapat ditambahkan ke XmlSchemaSet, skema harus berhasil diproseksi sebelumnya. Praproses melakukan tugas dasar berikut.
Skema diperiksa untuk validitas struktural sesuai dengan aturan Skema XML W3C, tetapi skema tidak sepenuhnya divalidasi.
Referensi ke komponen skema internal dan eksternal diselesaikan. Setiap skema yang diimpor atau disertakan yang berhasil diambil juga ditambahkan ke XmlSchemaSet. Skema yang diimpor ditambahkan sebagai objek terpisah XmlSchema , dan skema yang disertakan dibuat sebagai bagian dari termasuk XmlSchema.
IsCompiled Jika properti dari yang XmlSchemaSet akan ditambahkan adalah true
, semua skema dalam XmlSchemaSet untuk ditambahkan ditambahkan ke XmlSchemaSet.
IsCompiled Jika properti yang XmlSchemaSet akan ditambahkan adalah false
, setiap skema yang ditambahkan telah diprosces sebelum ditambahkan. Jika salah satu skema dalam skema yang baru ditambahkan XmlSchemaSet gagal diproseksi sebelumnya, tidak ada skema yang ditambahkan; sebagai gantinya, akan XmlSchemaException dilemparkan. Akibatnya, dua contoh kode berikut tidak setara.
' First example
schemaSet.Add(schemaSet1)
' Second example
Dim schema As XmlSchema
For Each schema in schemaSet.Schemas()
schemaSet.Add(schema)
Next
// First example
schemaSet.Add(schemaSet1);
// Second example
foreach(XmlSchema schema in schemaSet.Schemas())
{
schemaSet.Add(schema);
}
Dua contoh kode sebelumnya tidak setara. Dalam contoh pertama, jika skema yang tidak valid ada di schemaSet1
dan propertinya IsCompiled diatur ke false
, tidak ada skema yang ditambahkan ke schemaSet
. Dalam contoh kedua, sejumlah skema dapat ditambahkan sebelum schemaSet
skema yang tidak valid ditemui dan pengecualian dilemparkan.
Berlaku untuk
Add(String, String)
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
Menambahkan skema bahasa definisi Skema XML (XSD) di URL yang ditentukan ke XmlSchemaSet.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ targetNamespace, System::String ^ schemaUri);
public System.Xml.Schema.XmlSchema? Add (string? targetNamespace, string schemaUri);
public System.Xml.Schema.XmlSchema Add (string targetNamespace, string schemaUri);
member this.Add : string * string -> System.Xml.Schema.XmlSchema
Public Function Add (targetNamespace As String, schemaUri As String) As XmlSchema
Parameter
- targetNamespace
- String
Properti skema targetNamespace
, atau null
untuk menggunakan yang targetNamespace
ditentukan dalam skema.
- schemaUri
- String
URL yang menentukan skema yang akan dimuat.
Mengembalikan
Objek XmlSchema jika skema valid. Jika skema tidak valid dan ValidationEventHandler ditentukan, maka null
dikembalikan dan peristiwa validasi yang sesuai dinaikkan. Jika tidak, XmlSchemaException akan muncul.
Pengecualian
Skema tidak valid.
URL yang diteruskan sebagai parameter adalah null
atau Empty.
Contoh
Contoh kode berikut menambahkan http://www.contoso.com/books.xsd
skema dengan namespace http://www.contoso.com/books
target ke XmlSchemaSet.
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
schemaSet.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd")
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("http://www.contoso.com/books", "http://www.contoso.com/books.xsd");
Contohnya menggunakan books.xsd
file sebagai input.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="bookstore">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="author">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="first-name" type="xs:string" />
<xs:element minOccurs="0" name="last-name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="price" type="xs:decimal" />
</xs:sequence>
<xs:attribute name="genre" type="xs:string" use="required" />
<xs:attribute name="publicationdate" type="xs:unsignedShort" use="required" />
<xs:attribute name="ISBN" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Keterangan
Sebelum skema dapat ditambahkan ke XmlSchemaSet, skema harus berhasil diproseksi sebelumnya. Praproses melakukan tugas dasar berikut.
Skema diperiksa untuk validitas struktural sesuai dengan aturan Skema XML W3C, tetapi skema tidak sepenuhnya divalidasi.
Referensi ke komponen skema internal dan eksternal diselesaikan. Setiap skema yang diimpor atau disertakan yang berhasil diambil juga ditambahkan ke XmlSchemaSet. Skema yang diimpor ditambahkan sebagai objek terpisah XmlSchema , dan skema yang disertakan dibuat sebagai bagian dari termasuk XmlSchema.
Berikut ini adalah catatan penting yang perlu dipertimbangkan Add saat menggunakan metode .
Menambahkan skema ke XmlSchemaSet dengan namespace target dan URL lokasi skema yang sama dengan skema yang sudah terkandung dalam XmlSchemaSet akan mengembalikan objek skema asli.
Ketika skema baru berhasil ditambahkan ke XmlSchemaSet, IsCompiled properti diatur XmlSchemaSet ke
false
.Setiap elemen sertakan atau impor yang ditemui dalam skema XML diselesaikan saat metode dipanggil Add . Kegagalan untuk mengatasi termasuk dan mengimpor elemen menghasilkan peringatan validasi skema dan jika tidak ada ValidationEventHandler yang ditentukan untuk XmlSchemaSet objek, peringatan ini tidak akan dilaporkan.
Jika skema dengan namespace target yang sama dengan skema yang sudah ada di XmlSchemaSet ditambahkan ke XmlSchemaSet, kedua skema ditambahkan.
Catatan
Perilaku ini berbeda dari objek usang XmlSchemaCollection .
Metode Add memiliki XmlSchemaSet kemampuan untuk menggunakan namespace target yang ditentukan dalam skema, daripada mengharuskan namespace target ditentukan sebagai parameter ketika Add metode dipanggil. Menentukan
null
dalamtargetNamespace
parameter Add metode menginstruksikan XmlSchemaSet untuk menggunakan namespace target yang ditentukan dalam skema, seperti yang diilustrasikan dalam contoh kode berikut.
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
schemaSet.Add(Nothing, "books.xsd")
Dim schema As XmlSchema
For Each schema In schemaSet.Schemas("http://www.contoso.com/books")
schema.Write(Console.Out)
Next
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add(null, "books.xsd");
foreach(XmlSchema schema in schemaSet.Schemas("http://www.contoso.com/books"))
{
schema.Write(Console.Out);
}
Dalam contoh kode di atas, null
ditentukan sebagai targetNamespace
parameter untuk Add metode . Akibatnya, yang targetNamespace
ditentukan dalam file books.xml digunakan. Dalam hal ini, hasil pemanggilan Add metode akan identik jika http://www.contoso.com/books
telah ditentukan sebagai targetNamespace
parameter .
- Skema XML W3C memungkinkan skema tanpa namespace target untuk disertakan dalam skema dengan namespace target yang ditentukan. Dalam hal ini, skema tanpa namespace layanan target yang ditentukan dipaksa ke dalam namespace layanan target dari skema termasuk. Skema yang disertakan diperlakukan seolah-olah memiliki namespace target yang ditentukan. Demikian pula, skema tanpa namespace target dapat ditambahkan ke XmlSchemaSet dan dipaksa ke dalam namespace layanan target yang ditentukan oleh Add metode , seperti yang diilustrasikan dalam contoh berikut.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="A" type="xs:string" />
</xs:schema>
Jika skema di atas ditambahkan ke XmlSchemaSet dengan namespace http://www.contoso.com/new/targetnamespace
target (seperti yang ditunjukkan pada kode di bawah), skema diperlakukan seolah-olah namespace layanan target yang dinyatakan dalam skema adalah http://www.contoso.com/new/targetnamespace
.
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
schemaSet.Add("http://www.contoso.com/new/targetnamespace", "http://www.contoso.com/targetnamespace.xsd")
Dim schema As XmlSchema
For Each schema in schemaSet.Schemas()
Console.WriteLine(schema.TargetNamespace)
Next
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("http://www.contoso.com/new/targetnamespace", "http://www.contoso.com/targetnamespace.xsd");
foreach(XmlSchema schema in schemaSet.Schemas())
{
Console.WriteLine(schema.TargetNamespace);
}
Berlaku untuk
Add(String, XmlReader)
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
- Sumber:
- XmlSchemaSet.cs
Menambahkan skema bahasa definisi Skema XML (XSD) yang terkandung dalam XmlReader ke XmlSchemaSet.
public:
System::Xml::Schema::XmlSchema ^ Add(System::String ^ targetNamespace, System::Xml::XmlReader ^ schemaDocument);
public System.Xml.Schema.XmlSchema? Add (string? targetNamespace, System.Xml.XmlReader schemaDocument);
public System.Xml.Schema.XmlSchema Add (string targetNamespace, System.Xml.XmlReader schemaDocument);
member this.Add : string * System.Xml.XmlReader -> System.Xml.Schema.XmlSchema
Public Function Add (targetNamespace As String, schemaDocument As XmlReader) As XmlSchema
Parameter
- targetNamespace
- String
Properti skema targetNamespace
, atau null
untuk menggunakan yang targetNamespace
ditentukan dalam skema.
Mengembalikan
Objek XmlSchema jika skema valid. Jika skema tidak valid dan ValidationEventHandler ditentukan, maka null
dikembalikan dan peristiwa validasi yang sesuai dinaikkan. Jika tidak, XmlSchemaException akan muncul.
Pengecualian
Skema tidak valid.
Objek XmlReader yang diteruskan sebagai parameter adalah null
.
Contoh
Contoh kode berikut menambahkan skema books.xsd yang terkandung dalam XmlTextReader dengan namespace http://www.contoso.com/books
target ke XmlSchemaSet.
Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
schemaSet.Add("http://www.contoso.com/books", New XmlTextReader("books.xsd")
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.Add("http://www.contoso.com/books", new XmlTextReader("books.xsd");
Keterangan
Sebelum skema dapat ditambahkan ke XmlSchemaSet, skema harus berhasil diproseksi sebelumnya. Praproses melakukan tugas dasar berikut.
Skema diperiksa untuk validitas struktural sesuai dengan aturan Skema XML W3C, tetapi skema tidak sepenuhnya divalidasi.
Referensi ke komponen skema internal dan eksternal diselesaikan. Setiap skema yang diimpor atau disertakan yang berhasil diambil juga ditambahkan ke XmlSchemaSet. Skema yang diimpor ditambahkan sebagai objek terpisah XmlSchema , dan skema yang disertakan dibuat sebagai bagian dari termasuk XmlSchema.
Berikut ini adalah catatan penting yang perlu dipertimbangkan Add saat menggunakan metode .
Berhasil mengambil skema yang diimpor atau disertakan oleh skema yang terkandung dalam XmlReader juga ditambahkan ke XmlSchemaSet.
XmlReader Jika tidak diposisikan pada elemen akar, akan XmlSchemaException dilemparkan kecuali item saat ini adalah elemen . Jika item saat ini adalah
xs:schema
elemen, dokumen skema dibaca ke dalam XmlSchemaSet; jika tidak, XmlSchemaException dilemparkan karena skema tidak valid.XmlReader Jika diposisikan di atas urutan simpul XML, hanya simpul pertama dalam urutan yang ditambahkan.
Jika skema dibuat dari XmlReader.Create panggilan metode, nilai ProcessInlineSchema properti diabaikan, karena pemrosesan skema sebaris tidak diterapkan untuk dokumen Skema XML W3C.
XmlResolver Properti tidak XmlReader digunakan untuk mengatasi referensi ke namespace layanan atau lokasi skema dalam elemen serta impor. Sebagai gantinya XmlResolver , properti dari XmlSchemaSet digunakan.
Metode Add memiliki XmlSchemaSet kemampuan untuk menggunakan namespace target yang ditentukan dalam skema, daripada mengharuskan namespace target ditentukan sebagai parameter ketika Add metode dipanggil. Menentukan
null
atau String.Empty ke Add metode menginstruksikan XmlSchemaSet untuk menggunakan namespace target yang ditentukan dalam skema. Untuk contoh perilaku ini, lihat Add metode .
Fungsionalitas yang tersisa dari metode ini identik dengan metode .Add