Aracılığıyla paylaş


XmlWriterSettings.ConformanceLevel Özellik

Tanım

XML yazıcısının XML çıkışını denetlediğini uyumluluk 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

Uyumluluk düzeyini (belge, parça veya otomatik algılama) belirten numaralandırma değerlerinden biri. Varsayılan değer: Document.

Örnekler

Aşağıdaki örnek, bellek akışına bir XML parçası yazar.

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;

// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();

// Do additional processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false

' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()

' Do additional processing on the stream.

Açıklamalar

özelliği XML XmlWriterSettings.ConformanceLevel yazıcısını, yazılan akışın belirli bir kural kümesine uygun olup olmadığını denetleyecek ve garanti altına almak için yapılandırıyor. XML verileri, iyi biçimlendirilmiş bir XML 1.0 belgesi veya belge parçasının kurallarına uygun olup olmadığını görmek için denetlenebilir. Aşağıdaki tabloda üç ayar açıklanmaktadır. Varsayılan değer, belge düzeyi uyumluluğudur.

Setting Açıklama
Document XML çıkışının iyi biçimlendirilmiş bir XML 1.0 belgesinin kurallarına uygun olmasını ve uyumlu işlemciler tarafından işlenebilmesini sağlar.

Belge uyumluluk denetimleri parça düzeyi denetimlerinin çoğunu içerir ve aşağıdakileri de güvence altına alır:

- Üst düzey öğenin XML Bildirimi, DTD, öğe, açıklama, boşluk veya işleme yönergesi dışında hiçbir düğümü yoktur.
- XML verilerinin bir ve yalnızca bir üst düzey öğe düğümü vardır.

XML yazıcısı, yazılan DTD bilgilerini ayrıştırmaz. Kullanıcı, DTD'nin iyi biçimlendirilmiş olduğundan emin olur.
Fragment XML çıkışının iyi biçimlendirilmiş bir XML 1.0 belge parçasının kurallarına uygun olmasını sağlar.

Bu ayar, en üst düzeyde birden çok kök öğe veya metin düğümü içeren XML verilerini kabul eder. Bu denetim düzeyi, herhangi bir işlemcinin xml 1.0 dış ayrıştırılmış varlığı olarak okunan akışı tüketmesini sağlar.

Belge parçalarında DTD bilgilerine izin verilmez.
Auto XML yazıcısının gelen verilere göre uyumluluk denetimi düzeyini belirlemesi gerektiğini belirtir. Bu ayar, oluşturulan XML'nin iyi biçimlendirilmiş bir XML belgesi mi yoksa parça mı olacağını bilmediğiniz durumlarda yararlı olabilir.

Belge uyumluluğu denetimi aşağıdaki durumlarda uygulanır:

- Yöntem çağrılırsa WriteStartDocument .
- DTD bilgileri yazıldıysa.

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

- Kök düzeyinde Metin, CDATA veya EntityReference düğümü.
- Kök düzeyinde birden fazla öğe.
- Kök düzeyinde öğe yok.

XmlException bir çakışma varsa, örneğin kök düzeyinde bir metin düğümü ve bir DTD yazmaya çalıştığınızda oluşturulur.

Başka bir XmlWriter nesneyi sarmalarsanız, dış nesne ek uyumluluk denetimi yapmaz; bu, temel alınan nesneye bırakılır.

XML yazıcı belirtilen uyumluluk düzeyini ihlal edecek herhangi bir bilgi algılarsa, bir özel durum oluşturur. Bazı durumlarda, XML yazıcısı uyumluluk hatasını otomatik olarak düzelter. Örneğin, yazıcı özel durum oluşturmadan kapatılmamış bir özniteliği kapatır. Aşağıdaki tabloda, her ayarda çeşitli uyumluluk ihlallerinin nasıl işleneceğini gösterilmektedir.

Koşul Document Fragment Auto
DTD bilgileri bulunur. Bu ayar için ihlal değil. Ancak XML yazıcısı DTD'yi denetlemez; kullanıcının DTD'nin iyi biçimlendirilmiş olduğundan emin olması gerekir. XmlException atılır. Belge uyumluluğu denetimi uygulanır.
WriteStartDocument adlandırılır. Bu ayar için ihlal olarak kabul edilmez. XmlException atılır. Belge uyumluluğu denetimi uygulanır.
WriteStartDocument birden çok kez çağrılır. XmlException atılır. XmlException atılır. XmlException atılır.
En üst düzeyde bir metin değeri görünür (öğe veya öznitelik düğümlerinin altında değil). XmlException atılır. İhlal olarak kabul edilmez. Parça uyumluluğu denetimi uygulanır.
En üst düzeyde birden çok öğe görünür veya öğe gösterilmez. XmlException atılır. İhlal olarak kabul edilmez. Parça uyumluluğu denetimi uygulanır.
Üst düzey öğe boşluk. İhlal olarak kabul edilmez. İhlal olarak kabul edilmez. İhlal olarak kabul edilmez.
WriteEndAttribute bir öznitelik düğümünü sonlandırmak için çağrılmaz. XML yazıcı tarafından düzeltildi. XML yazıcı tarafından düzeltildi. XML yazıcı tarafından düzeltildi.
XML yazıcısı yanlış iç içe yerleştirilmiş durumda (örneğin, bir WriteStartElement çağrının ardından bir WriteEndAttribute). XmlException atılır. XmlException atılır. XmlException atılır.
Üst düzey öğe bir özniteliktir. XmlException atılır. XmlException atılır. XmlException atılır.
Birden çok bitişik metin düğümü bulunur. İhlal olarak kabul edilmez, ancak metin düğümlerini birleştirmek kullanıcının sorumluluğundadır. İhlal olarak kabul edilmez, ancak metin düğümlerini birleştirmek kullanıcının sorumluluğundadır. İhlal olarak kabul edilmez, ancak metin düğümlerini birleştirmek kullanıcının sorumluluğundadır.
Aynı ad alanı ön eki bir öğede iki kez bildirilir. XML yazıcısı ikinci ad alanı için yeni bir ön ek oluşturur. XML yazıcısı ikinci ad alanı için yeni bir ön ek oluşturur. XML yazıcısı ikinci ad alanı için yeni bir ön ek oluşturur.
WriteStartElement bir ön ek ve bu kapsamda bildirlenmemiş bir ad alanı belirtir veya ön ek farklı bir ad alanıyla ilişkilendirilir. XML yazıcısı gerekli ad alanı düğümünü yazar. XML yazıcısı gerekli ad alanı düğümünü yazar. XML yazıcısı gerekli ad alanı düğümünü yazar.
WriteStartAttribute bir ön ek ve bu kapsamda bildirlenmemiş bir ad alanı belirtir. XML yazıcısı gerekli ad alanı düğümünü yazar. XML yazıcısı gerekli ad alanı düğümünü yazar. XML yazıcısı gerekli ad alanı düğümünü yazar.
WriteStartAttribute bir ön ek ve ad alanı belirtir, ancak ön ek farklı bir kapsam içi ad alanıyla ilişkilendirilir. XML yazıcısı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur. XML yazıcısı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur. XML yazıcısı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur.
WriteQualifiedName , kapsam içinde var olmayan bir ad alanı kullanarak öğe içeriği yazmak için kullanılır. XmlException atılır. XmlException atılır. XmlException atılır.
WriteQualifiedName , kapsam içinde mevcut olmayan bir ad alanı kullanarak öznitelik içeriği yazmak için kullanılır. XML yazıcısı gerekli ad alanı bildirimini yazar. XML yazıcısı gerekli ad alanı bildirimini yazar. XML yazıcısı gerekli ad alanı bildirimini yazar.
xml:space Özniteliği geçerli bir değer içermiyor. 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 bir URI ile eşleşmez. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez.
Ö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.
Ön xmlns ek veya yerel ad bir URI ile eşleşmiyor. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez. XML yazıcısı bu tür bir ihlal olup olmadığını denetlemez.
Ön xmlns ek veya yerel ad URI ile http://www.w3.org/2000/xmlns eşleşmez. XmlException atılır. XmlException atılır. XmlException atılır.

Şunlara uygulanır