XmlWriterSettings.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.
XML yazıcısının XML çıkışını denetleyişinin 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
XmlWriterSettings.ConformanceLevel özelliği, yazılan akışın belirli bir kural kümesiyle uyumlu olup olmadığını denetlemek ve garanti etmek için XML yazıcısını yapılandırmaktadır. XML verileri, iyi biçimlendirilmiş bir XML 1.0 belgesinin 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.
Ayar | Açıklama |
---|---|
Document | XML çıkışının iyi biçimlendirilmiş bir XML 1.0 belgesinin kurallarına uygun olmasını ve uyumlu herhangi bir işlemci tarafından işlenebilmesini sağlar. Belge uyumluluk denetimleri parça düzeyi denetimlerin çoğunu içerir ve ayrıca aşağıdakileri güvence altına alır: - En ü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 verileri bir ve yalnızca bir üst düzey öğe düğümüne sahiptir. 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ık 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öntemin çağrılıp WriteStartDocument çağrılmadığını. - DTD bilgisi 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ı uyumluluk hatasını otomatik olarak düzelter. Örneğin, yazar bir özel durum oluşturmadan kapatılmamış bir özniteliği kapatır. Aşağıdaki tabloda, çeşitli uyumluluk ihlallerinin her bir ayarda nasıl işlenmeleri gösterilmektedir.
Koşul | Document | Fragment | Auto |
---|---|---|---|
DTD bilgileri bulunur. | Bu ayar için ihlal değil. Ancak, XML yazıcı DTD'yi denetlemez; kullanıcı, DTD'nin iyi biçimlendirilmiş olduğundan emin olmalıdır. | XmlException oluşturulur. | Belge uygunluk denetimi uygulanır. |
WriteStartDocument olarak adlandırılır. | Bu ayar için ihlal olarak değerlendirilmez. | XmlException oluşturulur. | Belge uygunluk denetimi uygulanır. |
WriteStartDocument birden çok kez çağrılır. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Bir metin değeri en üst düzeyde (bir öğenin veya öznitelik düğümünün altında değil) görüntülenir. | XmlException oluşturulur. | İhlal olarak kabul edilmez. | Parça uyumluluğu denetimi uygulanır. |
Üst düzeyde birden çok öğe görünür veya öğe gösterilmez. | XmlException oluşturulur. | İ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ılmıyor. | 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 oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Üst düzey öğe bir özniteliktir. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
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ı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur. | XML yazıcı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur. | XML yazıcı belirtilen ön eki yoksayar ve doğru ön eki arar veya yeni bir ön ek oluşturur. |
WriteQualifiedName , kapsam içinde mevcut olmayan bir ad alanı kullanarak öğe içeriği yazmak için kullanılır. | XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
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 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 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 oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |
Ö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şmiyor. |
XmlException oluşturulur. | XmlException oluşturulur. | XmlException oluşturulur. |