XmlReaderSettings.DtdProcessing Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállítja a DTD-k feldolgozását meghatározó értéket.
public:
property System::Xml::DtdProcessing DtdProcessing { System::Xml::DtdProcessing get(); void set(System::Xml::DtdProcessing value); };
public System.Xml.DtdProcessing DtdProcessing { get; set; }
member this.DtdProcessing : System.Xml.DtdProcessing with get, set
Public Property DtdProcessing As DtdProcessing
Tulajdonság értéke
A DTD-k feldolgozását meghatározó enumerálási értékek egyike. Az alapértelmezett érték a Prohibit.
Példák
Az alábbi példa egy XML-fájlt érvényesít egy DTD-fájl használatával.
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
public class Sample {
public static void Main() {
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("itemDTD.xml", settings);
// Parse the file.
while (reader.Read());
}
// Display any validation errors.
private static void ValidationCallBack(object sender, ValidationEventArgs e) {
Console.WriteLine("Validation Error: {0}", e.Message);
}
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO
public class Sample
public shared sub Main()
' Set the validation settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("itemDTD.xml", settings)
' Parse the file.
while reader.Read()
end while
end sub
' Display any validation errors.
private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs)
Console.WriteLine("Validation Error: {0}", e.Message)
end sub
end class
A példa a itemDTD.xml fájlt használja bemenetként.
<!--XML file using a DTD-->
<!DOCTYPE store [
<!ELEMENT store (item)*>
<!ELEMENT item (name,dept,price)>
<!ATTLIST item type CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>]>
<store>
<item type="supplies" ISBN="2-3631-4">
<name>paint</name>
<price>16.95</price>
</item>
</store>
Megjegyzések
A dokumentumtípus-definíció (DTD) érvényesítése a W3C Bővíthető korrektúranyelv (XML) 1.0 (negyedik kiadás) javaslatában meghatározott érvényességi korlátozások használatával történik. A DTD-k formális nyelvtant használnak a megfelelő XML-dokumentumok szerkezetének és szintaxisának leírásához; megadják az XML-dokumentum számára engedélyezett tartalmat és értékeket.
A DtdProcessing tulajdonság az alábbi értékek egyikével rendelkezhet:
- DtdProcessing.Parse A DTD-feldolgozás engedélyezéséhez.
- DtdProcessing.Prohibit kivételt dobjon XmlException amikor DTD-t észlel.
- DtdProcessing.Ignore A DTD-feldolgozás letiltása figyelmeztetések és kivételek nélkül.
A DTD-n végzett ellenőrzéshez az XmlReader XML-dokumentum DOCTYPE deklarációjában meghatározott DTD-t használja. A DOCTYPE-deklaráció vagy egy beágyazott DTD-re mutathat, vagy hivatkozás lehet egy külső DTD-fájlra. XML-fájl ellenőrzése DTD-n:
- Állítsa a XmlReaderSettings.DtdProcessing tulajdonságot a
DtdProcessing.Parseértékre. - Állítsa a XmlReaderSettings.ValidationType tulajdonságot a
ValidationType.DTDértékre. - Ha a DTD egy hitelesítést igénylő hálózati erőforráson tárolt külső fájl, adjon át egy XmlResolver objektumot a szükséges hitelesítő adatokkal a Create metódusnak.
Important
Ha a DtdProcessing tulajdonság be van állítva DtdProcessing.Ignore, a XmlReader nem fogja jelenteni a DTD-ket. Ez azt jelenti, hogy a DTD/DOCTYPE elveszik a kimenetben.