XmlSchemaSet.Add Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Verilen XML Şema tanım dili (XSD) şemasını öğesine XmlSchemaSetekler.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| Add(XmlSchema) |
verilen XmlSchema değerini öğesine XmlSchemaSetekler. |
| Add(XmlSchemaSet) |
verilen XmlSchemaSet içindeki tüm XML Şema tanım dili (XSD) şemalarını öğesine XmlSchemaSetekler. |
| Add(String, String) |
BELIRTILEN URL'ye XML Şema tanım dili (XSD) şemasını XmlSchemaSetekler. |
| Add(String, XmlReader) |
içinde yer alan XML Şema tanım dili (XSD) şemasını XmlReaderXmlSchemaSetöğesine ekler. |
Add(XmlSchema)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
verilen XmlSchema değerini öğesine XmlSchemaSetekler.
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
Parametreler
- schema
- XmlSchema
XmlSchema öğesine eklenecek XmlSchemaSetnesne.
Döndürülenler
XmlSchema Şema geçerliyse bir nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandler , null döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException atılır.
Özel durumlar
Şema geçerli değil.
XmlSchema Parametre olarak geçirilen nesne: null.
Açıklamalar
XmlSchema nesnesi içinde XmlSchemaSetAdd zaten varsa, yöntemi hiçbir şey yapmaz.
Bu yöntemin işlevselliği yöntemin işleviyle Add aynıdır.
Şunlara uygulanır
Add(XmlSchemaSet)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
verilen XmlSchemaSet içindeki tüm XML Şema tanım dili (XSD) şemalarını öğesine XmlSchemaSetekler.
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)
Parametreler
- schemas
- XmlSchemaSet
XmlSchemaSet nesnesi.
Özel durumlar
içindeki XmlSchemaSet bir şema geçerli değil.
XmlSchemaSet Parametre olarak geçirilen nesne: null.
Örnekler
Aşağıdaki kod örneğinde, bir XmlSchemaSetöğesine şema ekleme ve yöntemini kullanarak yenisine XmlSchemaSet ekleme XmlSchemaSet gösterilmektedirAdd.
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);
Açıklamalar
Bir şemanın bir öğesine eklenebilmesi için XmlSchemaSetönce başarıyla önişlenmiş olması gerekir. Önişlem aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlendi, ancak şema tam olarak doğrulanmamış.
İç ve dış şema bileşenlerine başvurular çözümlenir. Başarıyla alınan içeri aktarılan veya eklenen şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar öğesinin XmlSchemabir parçası haline getirilir.
eklenecek öğesinin IsCompiledXmlSchemaSet özelliği ise true, eklenecek içindeki XmlSchemaSet tüm şemalar öğesine XmlSchemaSeteklenir.
IsCompiled eklenecek özelliğinin XmlSchemaSet özelliği isefalse, eklenen her şema eklenmeden önce önceden işlenir. Yeni eklenen XmlSchemaSet şemalardan herhangi biri önceden işlenemezse, hiçbir şema eklenmez; bunun yerine bir XmlSchemaException oluşturulur. Sonuç olarak, aşağıdaki iki kod örneği eşdeğer değildir.
' 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);
}
Önceki iki kod örneği eşdeğer değildir. İlk örnekte, içinde schemaSet1 geçersiz bir şema varsa ve IsCompiled özelliği olarak falseayarlandıysa, öğesine schemaSethiçbir şema eklenmez. İkinci örnekte, geçersiz bir şemayla karşılaşılmadan ve özel durum oluşturmadan önce bir dizi şema eklenebilir schemaSet .
Şunlara uygulanır
Add(String, String)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
BELIRTILEN URL'ye XML Şema tanım dili (XSD) şemasını XmlSchemaSetekler.
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
Parametreler
- targetNamespace
- String
Şema özelliği veya null şemada targetNamespace belirtileni targetNamespace kullanmak için.
- schemaUri
- String
Yüklenecek şemayı belirten URL.
Döndürülenler
XmlSchema Şema geçerliyse bir nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandler , null döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException atılır.
Özel durumlar
Şema geçerli değil.
Parametre olarak geçirilen URL veya Emptyşeklindedirnull.
Örnekler
Aşağıdaki kod örneği, hedef ad alanına http://www.contoso.com/books sahip şemayı öğesine XmlSchemaSeteklerhttp://www.contoso.com/books.xsd.
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");
Örnek, girdi olarak dosyasını kullanır books.xsd .
<?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>
Açıklamalar
Bir şemanın bir öğesine eklenebilmesi için XmlSchemaSetönce başarıyla önişlenmiş olması gerekir. Önişlem aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlendi, ancak şema tam olarak doğrulanmamış.
İç ve dış şema bileşenlerine başvurular çözümlenir. Başarıyla alınan içeri aktarılan veya eklenen şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar öğesinin XmlSchemabir parçası haline getirilir.
Yöntemi kullanırken dikkate alınması gereken önemli notlar aşağıdadır Add .
içinde zaten bulunan bir şemayla XmlSchemaSet aynı hedef ad alanına ve şema konumu URL'sine XmlSchemaSet şema eklemek özgün şema nesnesini döndürür.
'a XmlSchemaSetyeni bir şema başarıyla eklendiğinde öğesinin IsCompiledXmlSchemaSet özelliği olarak
falseayarlanır.XML şemasında karşılaşılan tüm ekleme veya içeri aktarma öğeleri, yöntem çağrıldığında Add çözümlenir. Ekleme ve içeri aktarma öğelerinin çözümlenememesi şema doğrulama uyarısına XmlSchemaSet neden olur ve nesne için belirtilmemişseValidationEventHandler, bu uyarı bildirilmez.
içinde zaten var olan XmlSchemaSet bir şemayla aynı hedef ad alanına sahip bir şema içine eklenirse XmlSchemaSet, her iki şema da eklenir.
Uyarı
Bu davranış, eski XmlSchemaCollection nesneden farklıdır.
Add yöntemiXmlSchemaSet, yöntem çağrıldığında hedef ad alanının parametre olarak belirtilmesi yerine şemada tanımlanan hedef ad alanını kullanma özelliğine Add sahiptir. yönteminin parametresinde belirtilmesi
null, aşağıdaki kod örneğinde gösterildiği gibi şemada tanımlanan hedef ad alanını kullanmasını belirtirXmlSchemaSet.targetNamespaceAdd
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);
}
Yukarıdaki kod örneğinde yönteminin nulltargetNamespace parametresi Add olarak belirtilmiştir. Sonuç olarak, targetNamespace books.xml dosyasında tanımlanan kullanılır. Bu durumda, parametresi olarak targetNamespace belirtilmişse http://www.contoso.com/books yöntemini çağırmanın Add sonucu aynı olacaktır.
- W3C XML Şeması, hedef ad alanı olmayan şemaların, hedef ad alanı tanımlanmış şemalara eklenmesine olanak tanır. Bu durumda, tanımlı bir hedef ad alanı olmayan şema, dahil edilen şemanın hedef ad alanı içine alınır. Eklenen şema, hedef ad alanı tanımlanmış gibi değerlendirilir. Benzer şekilde, aşağıdaki örnekte gösterildiği gibi, hedef ad alanı olmayan şemalar öğesine eklenebilir XmlSchemaSet ve yöntemi tarafından Add belirtilen hedef ad alanına zorlama yapılabilir.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="A" type="xs:string" />
</xs:schema>
Yukarıdaki şema hedef ad alanıyla http://www.contoso.com/new/targetnamespace öğesine eklenirse XmlSchemaSet (aşağıdaki kodda gösterildiği gibi), şemada bildirilen hedef ad alanı olarak http://www.contoso.com/new/targetnamespacedeğerlendirilir.
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);
}
Şunlara uygulanır
Add(String, XmlReader)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
içinde yer alan XML Şema tanım dili (XSD) şemasını XmlReaderXmlSchemaSetöğesine ekler.
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
Parametreler
- targetNamespace
- String
Şema özelliği veya null şemada targetNamespace belirtileni targetNamespace kullanmak için.
Döndürülenler
XmlSchema Şema geçerliyse bir nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandler , null döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException atılır.
Özel durumlar
Şema geçerli değil.
XmlReader Parametre olarak geçirilen nesne: null.
Örnekler
Aşağıdaki kod örneği, hedef ad alanı ile içinde bulunan XmlTextReader books.xsd şemasını http://www.contoso.com/books öğesine XmlSchemaSetekler.
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");
Açıklamalar
Bir şemanın bir öğesine eklenebilmesi için XmlSchemaSetönce başarıyla önişlenmiş olması gerekir. Önişlem aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlendi, ancak şema tam olarak doğrulanmamış.
İç ve dış şema bileşenlerine başvurular çözümlenir. Başarıyla alınan içeri aktarılan veya eklenen şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar öğesinin XmlSchemabir parçası haline getirilir.
Yöntemi kullanırken dikkate alınması gereken önemli notlar aşağıdadır Add .
İçeri aktarılan veya içinde yer alan XmlReader şemalar tarafından başarıyla alınan şemalar da öğesine XmlSchemaSeteklenir.
XmlReader kök öğesinde konumlandırılmazsa, XmlSchemaException geçerli öğe bir öğe olmadığı sürece bir oluşturulur. Geçerli öğe bir
xs:schemaöğeyse, şema belgesi öğesine XmlSchemaSetokunur; aksi takdirde, şema geçerli olmadığından bir XmlSchemaException oluşturulur.XmlReader bir XML düğümleri dizisinin üzerine yerleştirilirse, yalnızca dizideki ilk düğüm eklenir.
Şema bir XmlReader.Create yöntem çağrısından oluşturulduysa, W3C XML Şeması belgelerine satır içi şema işleme uygulanmadığından özelliğin değeri ProcessInlineSchema yoksayılır.
XmlResolver özelliğinin XmlReader özelliği, öğeleri dahil etme ve içeri aktarma içindeki ad alanlarına veya şema konumlarına yapılan başvuruları çözümlemek için kullanılmaz. Bunun yerine özelliği XmlResolverXmlSchemaSet kullanılır.
Add yöntemiXmlSchemaSet, yöntem çağrıldığında hedef ad alanının parametre olarak belirtilmesi yerine şemada tanımlanan hedef ad alanını kullanma özelliğine Add sahiptir. veya yönteminin Add belirtilmesi
null, öğesine şemada tanımlanan hedef ad alanını kullanmasını belirtirXmlSchemaSet.String.Empty Bu davranışa bir örnek için yöntemine Add bakın.
Bu yöntemin kalan işlevselliği yöntemin işleviyle Add aynıdır.