Create XSD File From XML File
Create XSD File From XML File
STEP 1: First download trang from here (choose trang-20030619.zip) STEP 2: Unzip this file at any location say C:\jar\trang-20030619\trang-20030619 STEP 3: Create one xml file at any location say C:\workspaceAll\XSD\XMLTOXSD\src\StudentInfo.xml
StudentInfo.xml
<?xml version="1.0" encoding="UTF-8"?><StudentData xmlns="http://mycompany.com/hr/schemas; <Student> <RollNo>110</RollNo> <FirstName>Ultimate</FirstName> <LastName>Answer</LastName> <ContactNo>9900990011</ContactNo> </Student> <Hostel> <Name>Ganga</Name> <Location>South Corner</Location> <RoomNo>20</RoomNo> </Hostel> </StudentData>
STEP 5: Now you will get StudentRecord.xsd at C:\workspaceAll\XSD\XMLTOXSD\src location. And StudentRecord.xsd will like this
<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://mycompany.com/hr/schemas" xmlns:schemas="http://mycompany.com/hr/schemas; <xs:element name="StudentData"> <xs:complexType> <xs:sequence> <xs:element ref="schemas:Student"/> <xs:element ref="schemas:Hostel"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Student"> <xs:complexType> <xs:sequence> <xs:element ref="schemas:RollNo"/> <xs:element ref="schemas:FirstName"/> <xs:element ref="schemas:LastName"/> <xs:element ref="schemas:ContactNo"/> </xs:sequence> </xs:complexType> </xs:element>
<xs:element name="RollNo" type="xs:integer"/> <xs:element name="FirstName" type="xs:NCName"/> <xs:element name="LastName" type="xs:NCName"/> <xs:element name="ContactNo" type="xs:integer"/> <xs:element name="Hostel"> <xs:complexType> <xs:sequence> <xs:element ref="schemas:Name"/> <xs:element ref="schemas:Location"/> <xs:element ref="schemas:RoomNo"/> </xs:sequence>
</xs:complexType> </xs:element> <xs:element name="Name" type="xs:NCName"/> <xs:element name="Location" type="xs:string"/> <xs:element name="RoomNo" type="xs:integer"/> </xs:schema>
It is very easy :)
IMP: If you want to develop any XSD file, so it would be better idea that first write XML file then using trang utility create XSD file. For example, I have below xml (persons.xml) <?xml version="1.0" ?> <information> <person id="1"> <name>Binod</name>
<person id="3"> <name>Swetha</name> <age>19</age> <gender>Female</gender> </person> </information> Now use the trang command and get your XSD file. I kind suggestion, never dig your head to develop XSD file by using XSD tags. Always use trang command. :) java -jar c:\jar\trang-20030619\trang-20030619\trang.jar persons.xml personsFormat.xsd personsFormat.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="information"> <xs:complexType> <xs:sequence>
</xs:element> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element ref="name"/> <xs:element ref="age"/> <xs:element ref="gender"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="name" type="xs:NCName"/> <xs:element name="age" type="xs:integer"/> <xs:element name="gender" type="xs:NCName"/> </xs:schema>