XmlWriterSettings.ConformanceLevel Tulajdonság

Definíció

Lekéri vagy beállítja az XML-író által az XML-kimenetet ellenőrző megfelelőségi szintet.

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

Tulajdonság értéke

A megfelelőség szintjét (dokumentum, töredék vagy automatikus észlelés) meghatározó számbavételi értékek egyike. Az alapértelmezett érték a Document.

Példák

Az alábbi példa egy XML-töredéket ír egy memóriastreambe.

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.

Megjegyzések

A XmlWriterSettings.ConformanceLevel tulajdonság úgy konfigurálja az XML-írót, hogy ellenőrizze és garantálja, hogy a megírt stream megfelel-e bizonyos szabályoknak. Az XML-adatok ellenőrizhetők, hogy megfelelnek-e egy jól formázott XML 1.0-dokumentum vagy dokumentumtöredék szabályainak. Az alábbi táblázat a három beállítást ismerteti. Az alapértelmezett dokumentumszintű megfelelőség.

Setting Leírás
Document Biztosítja, hogy az XML-kimenet megfeleljen egy jól formázott XML 1.0-dokumentum szabályainak , és bármely megfelelő processzor feldolgozható legyen.

A dokumentummegfelelőségi ellenőrzések a töredékszintű ellenőrzések többségét tartalmazzák, és a következőket is biztosítják:

– A legfelső szintű elem nem rendelkezik más csomópontokkal, mint az XML-deklaráció, a DTD, az elem, a megjegyzés, a szabad terület vagy a feldolgozási utasítás.
– Az XML-adatok egy és csak egy legfelső szintű elemcsomópontot tartalmazhatnak.

Az XML-író nem elemzi az írott DTD-adatokat. A felhasználó feladata annak biztosítása, hogy a DTD megfelelően legyen formázva.
Fragment Biztosítja, hogy az XML-kimenet megfeleljen egy jól formázott XML 1.0-dokumentumtöredék szabályainak.

Ez a beállítás olyan XML-adatokat fogad el, amelyek legfelső szintjén több gyökérelem vagy szövegcsomópont található. Ez az ellenőrzési szint biztosítja, hogy bármely processzor xml 1.0-s külső elemzési entitásként használja az olvasandó adatfolyamot.

A DTD-információk nem engedélyezettek a dokumentumtöredékekben.
Auto Megadja, hogy az XML-írónak a bejövő adatok alapján kell meghatároznia a megfelelőség-ellenőrzés szintjét. Ez a beállítás akkor lehet hasznos, ha nem tudja, hogy a létrehozott XML-dokumentum jól formázott XML-dokumentum vagy töredék lesz-e.

A dokumentum-megfelelőség ellenőrzése a következő esetekben történik:

- Ha a WriteStartDocument metódust meghívják.
- Ha A DTD-információ meg van írva.

A töredékmegóvást a rendszer akkor alkalmazza, ha az XML-adatok a következők valamelyikét tartalmazzák:

- Szöveg, CDATA vagy EntityReference csomópont a gyökérszinten.
- Több elem a gyökérszinten.
- Nincs elem a gyökérszinten.

Ütközés XmlException esetén a program egy hibát jelez, például amikor egy szöveges csomópontot és egy DTD-t próbál meg írni a gyökérszinten.

Ha egy másik XmlWriter objektumot burkol, a külső objektum nem végez további megfelelőség-ellenőrzést, ez a mögöttes objektumra marad.

Ha az XML-író észlel minden olyan információt, amely megsértené a megadott megfelelőségi szintet, kivételt okoz. Bizonyos esetekben az XML-író automatikusan kijavítja a megfelelőségi hibát. Az író például kivétel nélkül bezár egy ismeretlen attribútumot. Az alábbi táblázat bemutatja, hogyan kezeli a különböző megfelelőségi szabálysértéseket az egyes beállításokban.

Condition Document Fragment Auto
DTD-információk találhatók. Nem sérti ezt a beállítást. Az XML-író azonban nem ellenőrzi a DTD-t; a felhasználónak gondoskodnia kell arról, hogy a DTD megfelelően legyen formázva. XmlException van dobva. A dokumentum-megfelelőség ellenőrzése történik.
Így nevezik: WriteStartDocument. Ez a beállítás nem minősül szabálysértésnek. XmlException van dobva. A dokumentum-megfelelőség ellenőrzése történik.
WriteStartDocument többször is meghívjuk. XmlException van dobva. XmlException van dobva. XmlException van dobva.
A szövegérték a legfelső szinten jelenik meg (nem elem vagy attribútumcsomópont alatt). XmlException van dobva. Nem minősül szabálysértésnek. A rendszer a töredezettség-megfelelőség ellenőrzését alkalmazza.
Több elem vagy egyetlen elem sem jelenik meg a legfelső szinten. XmlException van dobva. Nem minősül szabálysértésnek. A rendszer a töredezettség-megfelelőség ellenőrzését alkalmazza.
A legfelső szintű elem üres terület. Nem minősül szabálysértésnek. Nem minősül szabálysértésnek. Nem minősül szabálysértésnek.
WriteEndAttribute nincs meghívva attribútumcsomópont befejezéséhez. Xml-író által javítva. Xml-író által javítva. Xml-író által javítva.
Az XML-író nem megfelelően beágyazott állapotban van (például a WriteStartElement hívást egy WriteEndAttributehívás követi). XmlException van dobva. XmlException van dobva. XmlException van dobva.
A legfelső szintű elem egy attribútum. XmlException van dobva. XmlException van dobva. XmlException van dobva.
Több, egybefüggő szövegcsomópont található. Nem minősül szabálysértésnek, de a felhasználó felelőssége a szövegcsomópontok összefűzése. Nem minősül szabálysértésnek, de a felhasználó felelőssége a szövegcsomópontok összefűzése. Nem minősül szabálysértésnek, de a felhasználó felelőssége a szövegcsomópontok összefűzése.
Ugyanazt a névtérelőtagot kétszer deklarálja egy elem. Az XML-író létrehoz egy új előtagot a második névtérhez. Az XML-író létrehoz egy új előtagot a második névtérhez. Az XML-író létrehoz egy új előtagot a második névtérhez.
WriteStartElement egy előtagot és egy névteret határoz meg, amely nincs deklarálva az adott hatókörben, vagy az előtag egy másik névtérhez van társítva. Az XML-író megírja a szükséges névtércsomópontot. Az XML-író megírja a szükséges névtércsomópontot. Az XML-író megírja a szükséges névtércsomópontot.
WriteStartAttribute egy előtagot és egy névteret határoz meg, amely nincs deklarálva az adott hatókörben. Az XML-író megírja a szükséges névtércsomópontot. Az XML-író megírja a szükséges névtércsomópontot. Az XML-író megírja a szükséges névtércsomópontot.
WriteStartAttribute előtagot és névteret ad meg, de az előtag egy másik hatókörön belüli névtérhez van társítva. Az XML-író figyelmen kívül hagyja a megadott előtagot, és vagy megkeresi a megfelelő előtagot, vagy létrehoz egy új előtagot. Az XML-író figyelmen kívül hagyja a megadott előtagot, és vagy megkeresi a megfelelő előtagot, vagy létrehoz egy új előtagot. Az XML-író figyelmen kívül hagyja a megadott előtagot, és vagy megkeresi a megfelelő előtagot, vagy létrehoz egy új előtagot.
WriteQualifiedName elemtartalmak írására szolgál olyan névtér használatával, amely nem létezik a hatókörön belül. XmlException van dobva. XmlException van dobva. XmlException van dobva.
WriteQualifiedName attribútumtartalmak írására szolgál olyan névtér használatával, amely nem létezik a hatókörön belül. Az XML-író megírja a szükséges névtér-deklarációt. Az XML-író megírja a szükséges névtér-deklarációt. Az XML-író megírja a szükséges névtér-deklarációt.
Az xml:space attribútum nem tartalmaz érvényes értéket. XmlException van dobva. XmlException van dobva. XmlException van dobva.
A rendszer érvénytelen nevet észlelt. XmlException van dobva. XmlException van dobva. XmlException van dobva.
Az xml előtag nem egyezik URI-val. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket.
Az xml előtag nem egyezik az http://www.w3.org/XML/1998/namespace URI-val. XmlException van dobva. XmlException van dobva. XmlException van dobva.
Az xmlns előtag vagy a helyi név nem egyezik URI-val. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket. Az XML-író nem ellenőrzi az ilyen típusú szabálysértéseket.
Az xmlns előtag vagy a helyi név nem egyezik az http://www.w3.org/2000/xmlns URI-val. XmlException van dobva. XmlException van dobva. XmlException van dobva.

A következőre érvényes: