O'Reilly logo

Object-Oriented Programming with Visual Basic .NET by J.P. Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

8.4. Schema Definition Tool

Help is available for applications in which XML is used extensively. The XML Schema Definition Tool makes it is possible to convert classes to an XSD document or convert an XSD document into a class. The tool is located in the bin directory of the .NET Framework SDK and is called xsd.exe. Given the schema:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" >
  <xs:element name="Employee" type="Employee" />
  <xs:complexType name="Employee">
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="employeeID"
                  type="xs:int" />
      <xs:element minOccurs="1" maxOccurs="1" name="FirstName"
                  type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="LastName"
                  type="xs:string" />
      <xs:element minOccurs="1" maxOccurs="1" name="Department"
                  type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>

The employee class can be generated like this:

C:\>xsd /classes /language:VB /namespace:MyApplication employee.xsd

This code generates a VB.NET class (versus an ADO.NET dataset) with the namespace MyApplication. The restriction is that the tool will only process schemas that contain the namespace http://www.w3.org/2001/XMLSchema, although additional namespaces can be part of the document. The output file, by default, has the same name as the schema definition, and in this case looks like this:

'-------------------------------------------------------------------------- ' <autogenerated> ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required