Aracılığıyla paylaş


XmlReaderSettings.ConformanceLevel Özellik

Tanım

Uyumlu olacağı uyumluluk XmlReader düzeyini alır veya ayarlar.

public:
 property System::Xml::ConformanceLevel ConformanceLevel { System::Xml::ConformanceLevel get(); void set(System::Xml::ConformanceLevel value); };
public System.Xml.ConformanceLevel ConformanceLevel { get; set; }
member this.ConformanceLevel : System.Xml.ConformanceLevel with get, set
Public Property ConformanceLevel As ConformanceLevel

Özellik Değeri

XML okuyucusunun uygulayacağı uyumluluk düzeyini belirten numaralandırma değerlerinden biri. Varsayılan değer: Document.

Örnekler

Aşağıdaki örnek, XML XmlReader parçasını okuyan bir nesne oluşturur.

string xmlFrag ="<item rk:ID='abc-23'>hammer</item> " +
                        "<item rk:ID='r2-435'>paint</item>" +
                        "<item rk:ID='abc-39'>saw</item>";

// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("rk", "urn:store-items");

// Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), settings, context);
Dim xmlFrag As String = "<item rk:ID='abc-23'>hammer</item> " & _
                                     "<item rk:ID='r2-435'>paint</item>" & _
                                     "<item rk:ID='abc-39'>saw</item>"

' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("rk", "urn:store-items")

' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)

' Create the reader. 
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), settings, context)

Açıklamalar

yöntemi tarafından Create oluşturulan XML okuyucuları varsayılan olarak aşağıdaki uyumluluk gereksinimlerini karşılar:

  • Yeni satırlar ve öznitelik değeri W3C XML 1.0 Önerisine göre normalleştirilir.

  • Tüm varlıklar otomatik olarak genişletilir.

  • Belge türü tanımında bildirilen varsayılan öznitelikler, okuyucu doğrulamadığında bile her zaman eklenir.

  • Doğru XML ad alanı URI'sine eşlenmiş XML ön eki bildirimine izin verilir.

  • Tek bir NotationType öznitelik bildirimindeki ve tek bir NmTokens öznitelik bildirimindeki Enumeration gösterim adları farklıdır.

özelliğini kullanarak ConformanceLevel okunan akışın iyi biçimlendirilmiş bir XML 1.0 belgesi veya belge parçasının kurallarına uygun olup olmadığını denetleyebilir ve garanti edebilirsiniz. Veriler uyumlu değilse bir XmlException özel durum oluşturulur. Varsayılan değerdir ConformanceLevel.Document (belge düzeyi uyumluluğu).

Üç uyumluluk düzeyi şunlardır:

Setting Açıklama
Document XML verilerinin iyi biçimlendirilmiş bir XML 1.0 belgesinin kurallarına uygun olmasını sağlar. Bu denetim düzeyi, herhangi bir işlemcinin iyi biçimlendirilmiş bir XML 1.0 belgesi olarak okunan akışı tüketmesini sağlar.

Okuyucu aşağıdakileri denetler:

- Üst düzey öğenin XML Bildirimi, belge türü tanımı (DTD), öğe, açıklama, boşluk veya işleme yönergesi dışında hiçbir düğümü olmamalıdır.
- XML verilerinin tam olarak bir üst düzey öğe düğümü olmalıdır.
Fragment XML verilerinin iyi biçimlendirilmiş bir XML 1.0 belge parçasının kurallarına uygun olmasını sağlar.

Bu ayar, birden çok kök öğeye veya en üst düzeyde metin düğümlerine sahip XML verilerini kabul eder. Bu denetim düzeyi, herhangi bir işlemcinin dış ayrıştırılmış varlık olarak okunan akışı tüketmesini sağlar.
Auto Okuyucunun gelen verilere göre uyumluluk denetimi düzeyini belirlemesi gerektiğini belirtir.

XML verileri DTD bilgileri içeriyorsa belge uyumluluğu denetimi uygulanır.

XML verileri aşağıdakilerden birini içeriyorsa parça uyumluluğu denetimi uygulanır:

- Kök düzeyinde metin, CDATA veya varlık başvuru düğümü.
- Kök düzeyinde birden fazla öğe.
- Kök düzeyinde öğe yok.

XmlException Bir metin düğümü ve kök düzeyinde bir DTD olması gibi bir çakışma varsa oluşturulur.

Bu ayar, yöntemi mevcut XmlReaderbir öğesine ek özellikler eklemek için kullanıldığında sarmalama senaryolarında Create kullanılabilir. Bu durumda, ConformanceLevel.Document yeni uyumluluk denetimi eklemez. Uyumluluk denetimi sarmalanan denetime XmlReader bırakılır.

Uyarı

XML 1.0 önerisi, bir DTD mevcut olduğunda belge düzeyinde uyumluluk gerektirir. Bu nedenle, okuyucu ConformanceLevel.Fragment desteği verecek şekilde yapılandırılmışsa, ancak XML verileri bir belge türü tanımı (DTD) içeriyorsa, bir XmlException oluşturulur.

Okuyucu, özelliğin ayarına ConformanceLevel bağlı olarak belirli uyumluluk ihlallerini şu şekilde işler:

Koşul Document Fragment Auto
Metin veya yazılan değer en üst düzeyde görünür. XmlException atılır. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez.
En üst düzeyde birden çok öğe görünür veya öğe gösterilmez. XmlException atılır. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez.
Üst düzey öğe boşluk. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez.
Üst düzey öğe bir özniteliktir (metin düğümü olarak kabul edilir). XmlException atılır. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez.
Birden çok bitişik metin düğümü bulunur. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez. Bu ayar için ihlal olarak kabul edilmez.
Aynı ad alanı ön eki aynı yerel kapsamda iki kez bildirilir. XmlException atılır. XmlException atılır. XmlException atılır.
Bir öğe veya öznitelikteki ad alanı yerel kapsamda yok. XmlException atılır. XmlException atılır. XmlException atılır.
Veriler bir ön ek-ad alanı uyuşmazlığı içeriyor. XmlException atılır. XmlException atılır. XmlException atılır.
xml:space özniteliği geçersiz bir değer içeriyor. XmlException atılır. XmlException atılır. XmlException atılır.
Geçersiz bir adla karşılaşıldı. XmlException atılır. XmlException atılır. XmlException atılır.
Ön xml ek URI ile http://www.w3.org/XML/1998/namespace eşleşmez. XmlException atılır. XmlException atılır. XmlException atılır.

Şunlara uygulanır

Ayrıca bkz.