XmlSchemaCollection-schemakompilering

XmlSchemaCollection är en cache eller ett bibliotek där XML-Data Reduced (XDR) och XML Schema definition language (XSD)-scheman kan lagras och verifieras. XmlSchemaCollection förbättrar prestandan genom att cachelagra scheman i minnet i stället för att komma åt dem från en fil eller URL.

Anmärkning

Klassen XmlSchemaCollection lagrar både XDR-scheman och XML-scheman, men alla metoder och egenskaper som tar eller returnerar ett XmlSchema-objekt stöder endast XML-scheman.

Viktigt!

Klassen XmlSchemaCollection är nu föråldrad och har ersatts med XmlSchemaSet klassen. Mer information om klassen finns i XmlSchemaSetXmlSchemaSet för Schemakompilering.

Lägga till scheman i samlingen

Scheman läses in i samlingen med hjälp av metoden Lägg tillxmlSchemaCollection, då schemat associeras med en namnområdes-URI. För XML-scheman är namnområdes-URI vanligtvis målnamnområdet för schemat. För XDR-scheman är namnområdes-URI:n det namnområde som angavs när schemat lades till i samlingen.

Sök efter ett schema i samlingen

Du kan kontrollera om ett schema finns i samlingen med hjälp av metoden Contains . Metoden Contains tar antingen ett XmlSchema-objekt (endast för XML-scheman) eller en sträng som representerar den namnområdes-URI som är associerad med schemat (för XML-scheman och XDR-scheman).

Hämta ett schema från samlingen

Du kan hämta ett schema från samlingen med hjälp av egenskapen Objekt . Egenskapen Item tar en sträng som representerar den namnområdes-URI som är associerad med schemat, vanligtvis dess målnamnområde, och returnerar ett XmlSchema-objekt . Egenskapen Item gäller endast för XML-scheman. Returvärdet är alltid en null-referens för XDR-scheman eftersom de inte har någon tillgänglig objektmodell.

Verifiera XML-dokument med XmlSchemaCollection

Du kan verifiera ett XML-instansdokument med hjälp av ett XmlSchemaCollection genom att skapa XmlSchemaCollection-objektet , lägga till dina scheman i samlingen och ange egenskapen SchemasXmlValidatingReader för att tilldela den skapade XmlSchemaCollection till XmlValidatingReader.

Förbättrad prestanda

Om du verifierar fler än ett dokument mot samma schema rekommenderar vi att du använder XmlSchemaCollection eftersom det ger bättre prestanda genom att cachelagra scheman i minnet.

I följande kodexempel skapas XmlSchemaCollection-objektet , scheman läggs till i samlingen och egenskapen Schemas anges.

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);  

Se även