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 Şeması tanım dili (XSD) şemasını öğesine XmlSchemaSetekler.
Aşırı Yüklemeler
Add(XmlSchema) |
verilen XmlSchema öğesini öğesine XmlSchemaSetekler. |
Add(XmlSchemaSet) |
verilen XmlSchemaSet içindeki tüm XML Şeması tanım dili (XSD) şemalarını öğesine XmlSchemaSetekler. |
Add(String, String) |
BELIRTILEN URL'ye XML Şeması tanım dili (XSD) şemasını XmlSchemaSetekler. |
Add(String, XmlReader) |
içinde bulunan XML Şeması tanım dili (XSD) şemasını XmlReaderXmlSchemaSetöğesine ekler. |
Add(XmlSchema)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
verilen XmlSchema öğesini öğ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 nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandlernull
, döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException oluşturulur.
Ö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
verilen XmlSchemaSet içindeki tüm XML Şeması 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ği, bir XmlSchemaSetöğesine şema eklemeyi ve yöntemini kullanarak Add yenisine XmlSchemaSet eklemeyi XmlSchemaSet gösterir.
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 XmlSchemaSetöğesine eklenebilmesi için önce başarıyla ön işleme alınması gerekir. Ön işleme aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlense de şema tam olarak doğrulanmaz.
İç ve dış şema bileşenlerine başvurular çözümlenir. İçeri aktarılan veya eklenen ve başarıyla alınan şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar dahil XmlSchemaedilen öğesinin bir parçası haline getirilir.
IsCompiled eklenecek özelliğinin XmlSchemaSet özelliği isetrue
, 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 false
ayarlandıysa, öğesine schemaSet
hiçbir şema eklenmez. İkinci örnekte, geçersiz bir şemayla karşılaşılmadan schemaSet
ve bir özel durum oluşturmadan önce bir dizi şema eklenebilir.
Şunlara uygulanır
Add(String, String)
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
- Kaynak:
- XmlSchemaSet.cs
BELIRTILEN URL'ye XML Şeması 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
belirtilen öğesini targetNamespace
kullanmak için.
- schemaUri
- String
Yükecek şemayı belirten URL.
Döndürülenler
XmlSchema Şema geçerliyse nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandlernull
, döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException oluşturulur.
Ö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ı XmlSchemaSetöğesine eklerhttp://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, giriş 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 XmlSchemaSetöğesine eklenebilmesi için önce başarıyla ön işleme alınması gerekir. Ön işleme aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlense de şema tam olarak doğrulanmaz.
İç ve dış şema bileşenlerine başvurular çözümlenir. İçeri aktarılan veya eklenen ve başarıyla alınan şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar dahil XmlSchemaedilen öğesinin bir parçası haline getirilir.
Yöntemi kullanılırken Add dikkate alınması gereken önemli notlar aşağıdadır.
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 XmlSchemaSetIsCompiled yeni bir şema başarıyla eklendiğinde özelliğinin XmlSchemaSet ayarı olarak ayarlanır
false
.Bir 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.
Not
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 yeteneğine Add sahiptir. yönteminin parametresinde belirtilmesi
null
, aşağıdaki kod örneğinde gösterildiği gibi şemasında tanımlanan hedef ad alanını kullanmasını belirtirXmlSchemaSet.targetNamespace
Add
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 null
targetNamespace
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 tanımlanmış bir hedef ad alanına sahip şemalara eklenmesini sağlar. Bu durumda, tanımlı bir hedef ad alanı olmayan şema, dahil edilen şemanın hedef ad alanında zorunludur. 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/targetnamespace
değ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
içinde bulunan XML Şeması 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
belirtilen öğesini targetNamespace
kullanmak için.
Döndürülenler
XmlSchema Şema geçerliyse nesne. Şema geçerli değilse ve belirtildiyse ValidationEventHandlernull
, döndürülür ve uygun doğrulama olayı oluşturulur. Aksi takdirde, bir XmlSchemaException oluşturulur.
Ö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 XmlSchemaSetöğesine eklenebilmesi için önce başarıyla ön işleme alınması gerekir. Ön işleme aşağıdaki temel görevleri gerçekleştirir.
Şema, W3C XML Şeması kurallarına göre yapısal geçerlilik açısından denetlense de şema tam olarak doğrulanmaz.
İç ve dış şema bileşenlerine başvurular çözümlenir. İçeri aktarılan veya eklenen ve başarıyla alınan şemalar da öğesine XmlSchemaSeteklenir. İçeri aktarılan şemalar ayrı XmlSchema nesneler olarak eklenir ve dahil edilen şemalar dahil XmlSchemaedilen öğesinin bir parçası haline getirilir.
Yöntemi kullanılırken Add dikkate alınması gereken önemli notlar aşağıdadır.
İçeri aktarılan veya içinde bulunan XmlReader şemalar tarafından eklenen 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 içine XmlSchemaSetokunur; aksi takdirde, şema geçerli olmadığından bir XmlSchemaException oluşturulur.XmlReader bir XML düğümleri dizisi üzerine konumlandırıldıysa, 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ğiXmlReader, ekleme ve içeri aktarma öğelerindeki ad alanlarına veya şema konumlarına yapılan başvuruları çözümlemek için kullanılmaz. Bunun yerine, XmlResolver özelliği XmlSchemaSet 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 yeteneğine Add sahiptir. yöntemine Add veya String.Empty belirtilmesi
null
, öğesinin XmlSchemaSet şemada tanımlanan hedef ad alanını kullanmasını ister. Bu davranışa bir örnek için yöntemine Add bakın.
Bu yöntemin kalan işlevselliği yöntemin işlevleriyle Add aynıdır.