XmlSchemaCollection Schema-compilatie

XmlSchemaCollection is een cache of verzameling waarin XML-Data Reduced (XDR) en XML Schema Definition Language (XSD) schema's kunnen worden opgeslagen en gevalideerd. XmlSchemaCollection verbetert de prestaties door schema's in het geheugen in cache op te slaan in plaats van ze te openen vanuit een bestand of URL.

Opmerking

Hoewel de klasse XmlSchemaCollection zowel XDR-schema's als XML-schema's opslaat, ondersteunt elke methode en eigenschap die een XmlSchema-object neemt of retourneert alleen XML-schema's.

Belangrijk

De XmlSchemaCollection klasse is nu verouderd en is vervangen door de XmlSchemaSet klasse. Zie XmlSchemaSet meer informatie over de klasse.

Schema's toevoegen aan de verzameling

Schema's worden geladen in de verzameling met behulp van de methode Add van XmlSchemaCollection, op welk moment het schema is gekoppeld aan een naamruimte-URI. Voor XML-schema's is de naamruimte-URI doorgaans de doelnaamruimte voor het schema. Voor XDR-schema's is de naamruimte-URI de naamruimte die is opgegeven toen het schema aan de verzameling werd toegevoegd.

Controleren op een schema in de verzameling

U kunt controleren of een schema zich in de verzameling bevindt met behulp van de methode Contains . De methode Contains gebruikt een XmlSchema-object (alleen voor XML-schema's) of een tekenreeks die de naamruimte-URI vertegenwoordigt die is gekoppeld aan het schema (voor XML-schema's en XDR-schema's).

Een schema ophalen uit de verzameling

U kunt een schema ophalen uit de verzameling met behulp van de eigenschap Item . De eigenschap Item gebruikt een tekenreeks die de naamruimte-URI vertegenwoordigt die is gekoppeld aan het schema, meestal de doelnaamruimte en retourneert een XmlSchema-object . De eigenschap Item is alleen van toepassing op XML-schema's. De retourwaarde is altijd een null-verwijzing voor XDR-schema's omdat er geen objectmodel beschikbaar is.

XML-documenten valideren met xmlSchemaCollection

U kunt een XML-exemplaardocument valideren met behulp van een XmlSchemaCollection door het xmlSchemaCollection-object te maken, uw schema's toe te voegen aan de verzameling en de eigenschap Schema's in te stellen op de XmlValidatingReader om de gemaakte XmlSchemaCollection toe te wijzen aan xmlValidatingReader.

Verbeterde prestaties

Het wordt aanbevolen om meer dan één document te valideren op basis van hetzelfde schema, dat u xmlSchemaCollection gebruikt, omdat dit betere prestaties biedt door schema's in het geheugen in cache op te slaan.

In het volgende codevoorbeeld wordt het Object XmlSchemaCollection gemaakt, worden schema's toegevoegd aan de verzameling en wordt de eigenschap Schema's ingesteld.

Dim tr as XmlTextReader = new XmlTextReader("Books.xml")  
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)  
Dim xsc as XmlSchemaCollection = new XmlSchemaCollection  
xsc.Add("urn:bookstore-schema", "Books.xsd")  
vr.Schemas.Add(xsc)  
XmlTextReader tr = new XmlTextReader("Books.xml");  
XmlValidatingReader vr = new XmlValidatingReader(tr);  
XmlSchemaCollection xsc = new XmlSchemaCollection();  
xsc.Add("urn:bookstore-schema", "Books.xsd");
vr.Schemas.Add(xsc);  

Zie ook