Generating XML Schema Dynamically Using VB.NET 2005: Working With Attributes (Page 1 of 5 )
This is the third article in a series concentrating on generating XML Schema dynamically using Visual Basic 2005.
A downloadable file for this article is available
here.
The entire solution for this article was developed using Visual Studio 2005 Professional Edition on Windows Server 2003 standard edition. Some examples in this series may not compile successfully using Visual Studio 2003, as some of the features in .NET 1.1 turned out to be obsolete in .NET 2.0. For complete details you can refer to the link http://go.microsoft.com/fwlink/?linkid=14202. Please note that some of the examples in this series may not be practical. They have been designed only for explaining the concept.
Generate XML Schema attributes dynamically using .NET framework: A sample schema
As I covered all the basics in my previous articles, we shall now focus on more practical “complex types” in XML Schema, supported with attributes as well. Let us consider the following XML Schema:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Organization">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Employee">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Age" type="xs:int" />
</xs:sequence>
<xs:attribute name="ID" type="xs:int"
use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
According to the above example, the document root element would be “Organization.” The element “Organization” internally can contain “Employee” elements. The element “Employee” internally contains two more elements, “Name” and “Age”. You should observe that there can be any number of “Employee” elements within the “Organization” element.
You should also observe that “Name” and “Age” are defined with “simple types” rather than with “complex types.” The only complex elements are “Organization” and “Employee.” The most important declaration within the above schema is as follows:
<xs:attribute name="ID" type="xs:int" use="required" />
The above statement makes sure that every “Employee” element is provided with the attribute “ID” (which is of type “int”). To generate the above XML Schema dynamically, we can consider the complete code listed in the next section.
Next: Generate XML Schema attributes dynamically using .NET framework: source code >>
More Visual Basic.NET Articles
More By Jagadish Chaterjee