XmlReaderSettings.ConformanceLevel Özellik
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.
Uyumlu olacak 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:
W3C XML 1.0 Önerisine göre yeni satırlar ve öznitelik değeri 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şlenen XML ön ekinin bildirimine izin verilir.
Tek bir öznitelik bildirimindeki ve
NmTokens
tekNotationType
birEnumeration
öznitelik bildirimindeki notasyon adları ayrı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 olduğunu 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:
Ayar | 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: - En ü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. |
Not
XML 1.0 önerisi, bir DTD mevcut olduğunda belge düzeyinde uyumluluk gerektirir. Bu nedenle, okuyucu destekleyecek ConformanceLevel.Fragmentş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 oluşturulur. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. |
Üst düzeyde birden çok öğe görünür veya öğe gösterilmez. | XmlException oluşturulur. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. |
Üst düzey öğe boşluk. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. |
Üst düzey öğe bir özniteliktir (metin düğümü olarak tanınır). | XmlException oluşturulur. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. |
Birden çok bitişik metin düğümü bulunur. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. | Bu ayar için ihlal olarak değerlendirilmez. |
Aynı ad alanı ön eki aynı yerel kapsamda iki kez bildirilir. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Bir öğe veya öznitelikteki ad alanı yerel kapsamda yok. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Veriler bir ön ek-ad alanı uyuşmazlığı içeriyor. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
xml:space özniteliği geçersiz bir değer içeriyor. |
XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Geçersiz bir adla karşılaşıldı. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Ön xml ek URI ile http://www.w3.org/XML/1998/namespace eşleşmiyor. |
XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |