XmlWriterSettings.ConformanceLevel Vlastnost

Definice

Získá nebo nastaví úroveň shody, kterou Zapisovací modul XML kontroluje výstup XML pro.Gets or sets the level of conformance that the XML writer checks the XML output for.

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

Hodnota vlastnosti

ConformanceLevel

Jedna z hodnot výčtu, která určuje úroveň shody (dokument, fragment nebo automatické zjišťování).One of the enumeration values that specifies the level of conformance (document, fragment, or automatic detection). Výchozí formát je Document.The default is Document.

Příklady

Následující příklad zapíše fragment XML do paměťového proudu.The following example writes an XML fragment to a memory stream.

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.

Poznámky

XmlWriterSettings.ConformanceLevelVlastnost nakonfiguruje ZAPISOVAČ XML pro kontrolu a zaručuje, že datový proud, který je napsán, odpovídá určité sadě pravidel.The XmlWriterSettings.ConformanceLevel property configures the XML writer to check and guarantee that the stream being written complies with a certain set of rules. Data XML lze zkontrolovat a zjistit, zda odpovídá pravidlům pro dobře vytvořený dokument XML 1,0 nebo fragment dokumentu.The XML data can be checked to see that it conforms to the rules for a well-formed XML 1.0 document or a document fragment. Následující tabulka popisuje tři nastavení.The following table describes the three settings. Výchozí hodnota je shoda na úrovni dokumentu.The default is document-level conformance.

NastaveníSetting PopisDescription
Document Zajistí, že výstup XML odpovídá pravidlům pro dobře vytvořený dokument XML 1,0 a může být zpracován jakýmkoli systémem, který je v souladu s procesorem.Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document and can be processed by any conforming processor.

Kontroly shody dokumentů zahrnují většinu kontrol na úrovni fragmentů a také zajišťují následující:The document conformance checks include most of the fragment-level checks and also ensure the following:

-Položka nejvyšší úrovně neobsahuje žádné uzly jiné než deklarace XML, DTD, element, komentář, prázdné znaky nebo instrukce pro zpracování.- The top-level item doesn't have any nodes other than XML Declaration, DTD, element, comment, white space, or processing instruction.
-Data XML mají jeden a pouze jeden uzel element nejvyšší úrovně.- The XML data has one and only one top-level element node.

Zapisovač XML neanalyzuje vytvořené informace DTD.The XML writer doesn't parse DTD information that is written. Uživatel zodpovídá za zajištění správného formátu DTD.The user is responsible for ensuring that the DTD is well-formed.
Fragment Zajistí, že výstup XML odpovídá pravidlům pro fragment dokumentu xml 1,0 ve správnémformátu.Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document fragment.

Toto nastavení akceptuje data XML, která mají více kořenových elementů nebo textových uzlů na nejvyšší úrovni.This setting accepts XML data that has multiple root elements or text nodes at the top level. Tato úroveň kontroly zajišťuje, že libovolný procesor může spotřebovat datový proud, který je čten jako externí analyzovaná entita XML 1,0.This level of checking ensures that any processor can consume the stream being read as an XML 1.0 external parsed entity.

V fragmentech dokumentu nejsou povoleny informace DTD.DTD information isn't allowed in document fragments.
Auto Určuje, že zapisovač XML by měl určit úroveň kontroly shody na základě příchozích dat.Specifies that the XML writer should determine the level of conformance checking based on the incoming data. Toto nastavení může být užitečné v případě, že nevíte, zda bude vygenerovaný kód XML dobře vytvořený dokument XML nebo fragment.This setting can be useful when you don't know whether the generated XML will be a well-formed XML document or a fragment.

Kontrola shody dokumentů je aplikována v následujících případech:Document conformance checking is applied in the following cases:

– Pokud WriteStartDocument je metoda volána.- If the WriteStartDocument method is called.
– Při zápisu informací DTD.- If DTD information is written.

Kontrola shody fragmentů je použita, pokud data XML obsahují jednu z následujících:Fragment conformance checking is applied if the XML data contains one of these:

-Text, CDATA nebo EntityReference uzel na kořenové úrovni.- Text, CDATA, or EntityReference node at the root level.
– Více než jeden prvek na kořenové úrovni.- More than one element at the root level.
-Žádný element na kořenové úrovni.- No element at the root level.

XmlExceptionVýjimka je vyvolána, pokud dojde ke konfliktu, například když se pokusíte napsat textový uzel a DTD na kořenové úrovni.An XmlException is thrown if there is a conflict, such as when you try to write a text node and a DTD at the root level.

Pokud zabalíte jiný XmlWriter objekt, vnější objekt neprovádí žádnou další kontrolu shody; to je ponecháno na podkladovém objektu.If you are wrapping another XmlWriter object, the outer object doesn't do any additional conformance checking; this is left to the underlying object.

Pokud zapisovač XML zjistí všechny informace, které by narušily zadanou úroveň shody, vyvolá výjimku.If the XML writer detects any information that would violate the specified level of conformance, it throws an exception. V některých případech zapisovač XML automaticky opravuje chybu shody.In some cases, the XML writer automatically corrects the conformance error. Například zapisovač uzavře neuzavřený atribut bez vyvolání výjimky.For example, the writer closes an unclosed attribute without throwing an exception. Následující tabulka ukazuje, jakým způsobem jsou v každém nastavení zpracovávána různá narušení dodržování pravidel.The following table shows how various conformance violations are handled in each setting.

StavCondition Document Fragment Auto
Informace DTD jsou nalezeny.DTD information is found. Nejedná se o porušení tohoto nastavení.Not a violation for this setting. Zapisovač XML však nekontroluje DTD; uživatel musí zajistit, aby byla deklarace DTD správně vytvořená.However, the XML writer doesn't check the DTD; the user must ensure that the DTD is well-formed. XmlException je vyvolána.XmlException is thrown. Je použita kontrola shody dokumentů.Document conformance checking is applied.
WriteStartDocument je volána.WriteStartDocument is called. Nepovažuje se za porušení tohoto nastavení.Not considered a violation for this setting. XmlException je vyvolána.XmlException is thrown. Je použita kontrola shody dokumentů.Document conformance checking is applied.
WriteStartDocument se volá vícekrát.WriteStartDocument is called multiple times. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
Textová hodnota se zobrazí na nejvyšší úrovni (není pod prvkem nebo uzlem atributu).A text value appears at the top level (not below an element or attribute node). XmlException je vyvolána.XmlException is thrown. Nepovažuje se za porušení.Not considered a violation. Je použita kontrola shody fragmentů.Fragment conformance checking is applied.
Na nejvyšší úrovni se nezobrazuje více elementů nebo žádné prvky.Multiple elements or no elements appear at the top level. XmlException je vyvolána.XmlException is thrown. Nepovažuje se za porušení.Not considered a violation. Je použita kontrola shody fragmentů.Fragment conformance checking is applied.
Položka nejvyšší úrovně je prázdný znak.Top-level item is white space. Nepovažuje se za porušení.Not considered a violation. Nepovažuje se za porušení.Not considered a violation. Nepovažuje se za porušení.Not considered a violation.
WriteEndAttribute není volána pro ukončení uzlu atributu.WriteEndAttribute isn't called to end an attribute node. Opraveno modulem pro zápis XML.Fixed by XML writer. Opraveno modulem pro zápis XML.Fixed by XML writer. Opraveno modulem pro zápis XML.Fixed by XML writer.
Zapisovač XML je v nesprávně vnořeném stavu (například WriteStartElement volání je následováno a WriteEndAttribute ).The XML writer is in an improperly nested state (for example, a WriteStartElement call is followed by a WriteEndAttribute). XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
Položka nejvyšší úrovně je atribut.Top-level item is an attribute. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
Bylo nalezeno více sousedících textových uzlů.Multiple, contiguous text nodes are found. Nepovažuje se za porušení, ale je zodpovědností uživatele zřetězení textových uzlů.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. Nepovažuje se za porušení, ale je zodpovědností uživatele zřetězení textových uzlů.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. Nepovažuje se za porušení, ale je zodpovědností uživatele zřetězení textových uzlů.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes.
Stejná předpona oboru názvů je deklarována dvakrát v elementu.The same namespace prefix is declared twice in an element. Zapisovač XML vygeneruje novou předponu pro druhý obor názvů.The XML writer generates a new prefix for the second namespace. Zapisovač XML vygeneruje novou předponu pro druhý obor názvů.The XML writer generates a new prefix for the second namespace. Zapisovač XML vygeneruje novou předponu pro druhý obor názvů.The XML writer generates a new prefix for the second namespace.
WriteStartElement Určuje předponu a obor názvů, který není deklarován v rámci tohoto oboru, nebo je předpona přidružena k jinému oboru názvů.WriteStartElement specifies a prefix and a namespace that isn't declared within that scope, or the prefix is associated with a different namespace. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node.
WriteStartAttribute Určuje předponu a obor názvů, který není deklarován v rámci tohoto oboru.WriteStartAttribute specifies a prefix and a namespace that isn't declared within that scope. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node. Zapisovač XML zapisuje potřebný uzel oboru názvů.The XML writer writes the necessary namespace node.
WriteStartAttribute Určuje předponu a obor názvů, ale předpona je přidružená k jinému oboru názvů v oboru.WriteStartAttribute specifies a prefix and a namespace, but the prefix is associated with a different in-scope namespace. Zapisovač XML ignoruje zadanou předponu a buď vyhledá správnou předponu, nebo vygeneruje novou předponu.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. Zapisovač XML ignoruje zadanou předponu a buď vyhledá správnou předponu, nebo vygeneruje novou předponu.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. Zapisovač XML ignoruje zadanou předponu a buď vyhledá správnou předponu, nebo vygeneruje novou předponu.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix.
WriteQualifiedName slouží k zápisu obsahu elementu pomocí oboru názvů, který v oboru neexistuje.WriteQualifiedName is used to write element content by using a namespace that doesn't exist within the scope. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
WriteQualifiedName slouží k zápisu obsahu atributu pomocí oboru názvů, který v oboru neexistuje.WriteQualifiedName is used to write attribute content by using a namespace that doesn't exist within the scope. Zapisovač XML zapisuje nezbytnou deklaraci oboru názvů.The XML writer writes the necessary namespace declaration. Zapisovač XML zapisuje nezbytnou deklaraci oboru názvů.The XML writer writes the necessary namespace declaration. Zapisovač XML zapisuje nezbytnou deklaraci oboru názvů.The XML writer writes the necessary namespace declaration.
xml:spaceAtribut neobsahuje platnou hodnotu.The xml:space attribute doesn't contain a valid value. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
Byl zjištěn neplatný název.An invalid name is encountered. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
xmlPředpona se neshoduje s identifikátorem URI.The xml prefix isn't matched to a URI. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation.
xmlPředpona se neshoduje s http://www.w3.org/XML/1998/namespace identifikátorem URI.The xml prefix isn't matched to the http://www.w3.org/XML/1998/namespace URI. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.
xmlnsPředpona nebo místní název se neshodují s identifikátorem URI.The xmlns prefix or local name isn't matched to a URI. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation. Zapisovač XML nekontroluje tento typ porušení.The XML writer doesn't check for this type of violation.
xmlnsPředpona nebo místní název se neshodují s http://www.w3.org/2000/xmlns identifikátorem URI.The xmlns prefix or local name isn't matched to the http://www.w3.org/2000/xmlns URI. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown. XmlException je vyvolána.XmlException is thrown.

Platí pro