XmlReaderSettings.ConformanceLevel Tulajdonság

Definíció

Lekéri vagy beállítja azoknak a megfelelési szinteknek a szintjét, amelyeknek a megfelelési XmlReader szintnek meg kell felelnie.

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 számbavételi értékek egyike, amely meghatározza az XML-olvasó által megkövetelt megfelelési szintet. Az alapértelmezett érték a Document.

Példák

Az alábbi példa egy XmlReader XML-töredék olvasására szolgáló objektumot hoz létre.

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)

Megjegyzések

A metódus által Create létrehozott XML-olvasók alapértelmezés szerint megfelelnek a következő megfelelőségi követelményeknek:

  • Az új sorok és attribútumértékek normalizálása a W3C XML 1.0 javaslatnak megfelelően zajlik.

  • A rendszer automatikusan kibontja az összes entitást.

  • A dokumentumtípus-definícióban deklarált alapértelmezett attribútumok mindig akkor is hozzáadódnak, ha az olvasó nem ellenőrzi.

  • A megfelelő XML-névtér URI-jára leképezett XML-előtag deklarációja engedélyezett.

  • Az egyetlen NotationType attribútum deklarációban és NmTokens egyetlen Enumeration attribútumdeklarációban szereplő jelölésnevek eltérőek.

A tulajdonsággal ConformanceLevel ellenőrizheti és garantálhatja, hogy az olvasás alatt álló stream megfelel-e egy jól formázott XML 1.0-dokumentum vagy dokumentumtöredék szabályainak. Ha az adatok nem felelnek meg, kivétel XmlException történik. Az alapértelmezett érték ConformanceLevel.Document (dokumentumszintű megfelelőség).

A három megfelelési szint a következő:

Beállítás Leírás
Document Biztosítja, hogy az XML-adatok megfeleljenek egy jól formázott XML 1.0-dokumentum szabályainak. Ez az ellenőrzési szint biztosítja, hogy bármely processzor jól formázott XML 1.0-dokumentumként használja fel az olvasandó adatfolyamot.

Az olvasó a következőket ellenőrzi:

– A legfelső szintű elem nem rendelkezhet más csomópontokkal, mint az XML-deklaráció, a dokumentumtípus-definíció (DTD), az elem, a megjegyzés, a szabad terület vagy a feldolgozási utasítás.
– Az XML-adatoknak pontosan egy legfelső szintű elemcsomópontot kell tartalmazniuk.
Fragment Biztosítja, hogy az XML-adatok megfeleljenek egy jól formázott XML 1.0-dokumentumtöredék szabályainak.

Ez a beállítás a legfelső szinten több gyökérelemet vagy szövegcsomópontot tartalmazó XML-adatokat fogad el. Ez az ellenőrzési szint biztosítja, hogy bármely processzor külső elemzési entitásként használja az olvasandó streamet.
Auto Meghatározza, hogy az olvasónak a bejövő adatok alapján kell meghatároznia a megfelelőség-ellenőrzés szintjét.

A dokumentummegbővülés ellenőrzése akkor történik, ha az XML-adatok DTD-adatokat tartalmaznak.

A töredékmegelőség-ellenőrzést akkor alkalmazza a rendszer, ha az XML-adatok a következők valamelyikét tartalmazzák:

- Szöveges, CDATA- vagy entitás-referenciacsomó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övegcsomópont és egy DTD van a gyökérszinten.

Ez a beállítás akkor használható a körbefuttatási forgatókönyvekben, ha a Create metódussal további funkciókat ad hozzá egy meglévőhöz XmlReader. Ebben az esetben ConformanceLevel.Document nem ad hozzá új megfelelőségi ellenőrzést. A megfelelőség ellenőrzése a burkoltra marad XmlReader .

Note

Az XML 1.0-javaslat dokumentumszintű megfelelőséget igényel, ha DTD van jelen. Ezért ha az olvasó úgy van konfigurálva, hogy támogassa ConformanceLevel.Fragment, de az XML-adatok tartalmaznak egy dokumentumtípus-definíciót (DTD), a program egy XmlException hibát ad ki.

Az olvasó a tulajdonság beállításától függően az alábbi módon kezeli az ConformanceLevel adott megfelelőségi szabálysértéseket:

Condition Document Fragment Auto
A felső szinten szöveg vagy beírt érték jelenik meg. XmlException van dobva. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek.
A legfelső szinten több elem vagy elem sem jelenik meg. XmlException van dobva. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek.
A legfelső szintű elem üres terület. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek.
A legfelső szintű elem egy attribútum (amely szövegcsomópontként van felismerve). XmlException van dobva. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek.
Több, egybefüggő szövegcsomópont található. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek. Ez a beállítás nem minősül szabálysértésnek.
Ugyanaz a névtérelőtag kétszer lesz deklarálva ugyanabban a helyi hatókörben. XmlException van dobva. XmlException van dobva. XmlException van dobva.
Az elem vagy attribútum névtere nem létezik a helyi hatókörben. XmlException van dobva. XmlException van dobva. XmlException van dobva.
Az adatok előtag-névtér eltérést tartalmaznak. XmlException van dobva. XmlException van dobva. XmlException van dobva.
xml:space az attribútum érvénytelen értéket tartalmaz. 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 az http://www.w3.org/XML/1998/namespace URI-val. XmlException van dobva. XmlException van dobva. XmlException van dobva.

A következőre érvényes:

Lásd még