8.4 Schema Definition Tool

only for RuBoard

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> '     This code was generated by a tool. '     Runtime Version: 1.0.3705.209 ' '     Changes to this file may cause incorrect behavior and will be lost if  '     the code is regenerated. ' </autogenerated> '--------------------------------------------------------------------------     Option Strict Off Option Explicit On     Imports System.Xml.Serialization     ' 'This source code was auto-generated by xsd, Version=1.0.3705.209. ' Namespace MyApplication          '<remarks/>     <System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=false)>  _     Public Class Employee                  '<remarks/>         Public employeeID As Integer                  '<remarks/>         Public FirstName As String                  '<remarks/>         Public LastName As String                  '<remarks/>         Public Department As String     End Class End Namespace 

Going the other way, a schema can be generated for an existing assembly merely by providing the name to xsd :

 C:\>xsd employee.dll 

In this case, all classes in the assembly are added to the schema.

only for RuBoard


Object-Oriented Programming with Visual Basic. Net
Object-Oriented Programming with Visual Basic .NET
ISBN: 0596001460
EAN: 2147483647
Year: 2001
Pages: 112
Authors: J.P. Hamilton

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net