XML (Extensible Markup Language) is a general-purpose specification for creating custom markup languages. It is classified as an extensible language, because it allows the user to define the mark-up elements. XML's purpose is to aid information systems in sharing structured data.
Proposed XML based proprietary database - XDb will be developed for Image based application. It will be file system based database system. It uses XML to store table definition and storing data. XML has inbuilt DTD data type definition features to validate the input data. Proposed System will use XQuery to query the stored data from XML file. Images will be stored in file system. File name or file pointer will be used to retrieve the image file from the file system.
System.XML, System.XML.XPath and System.XML.Schema namespace will be used to manipulate XML node, element, attribute and value in a XML file within .Net application.
Advantages
- It is completely Proprietary database.
- Data will be stored in XML file which is easy to manipulate in ADO.Net
- Image will be stored in file system which will give better access speed.
- Multiple images can be stored in single file and system can read individual image from one file.
- Individual image can be stored in single image folder and can read from that folder.
- Data and Image can be encrypted by any industry standard encryption algorithm like DES, AES, 3 DES.
- System will query the by using XQuery.
- Complete manage code written in .NET 2.0.
- Easy to integrate in .NET application.
Project Scope
Database details will be stored in XML file, like image folder or image storing file name, location.
2. Table Designing
Table definition will be stored in XML schema file having .xsd extension. With standard XML data type and precision, A "Valid" XML document is a "Well Formed" XML document, which also conforms to the rules of a XML file.
veh_data.xsd
xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="veh_data">
<xs:complexType>
<xs:sequence>
<xs:element name="vd_id" type="xs:integer" use="required" />
<xs:element name="vd_loan" type="xs:string" use="required" length="16" />
<xs:element name="vd_loc" type="xs:string" use="required" />
<xs:element name="vd_date" type="xs:date" use="required" />
<xs:element name="vd_img_name" type="xs:string" use="required" />
<xs:element name="vd_img_type" type="xs:string" use="required" />
xs:sequence>
xs:complexType>
xs:element>
schema>
3. Storing of Data
Data will be stored in xml file, data integrity and constraint will be maintain by XML schema file
veh_data.xml
xml version="1.0" encoding="utf-8" ?>
<include xmlns="veh_data.xsd" />
<veh_data>
<vd_id>Tovevd_id>
<vd_loan>VDPU00000011vd_loan>
<vd_loc>Mumbaivd_loc>
<vd_date>10-Jan-2009vd_date>
<vd_img_name>VDPU00000011.jpgvd_img_name>
<vd_img_type>jpgvd_img_type>
>
<veh_data>
. . .
. . .
>
<veh_data>
. . .
. . .
>
<veh_data>
. . .
. . .
>
<veh_data>
. . .
. . .
>
4. Storing of Data
4.1 Store multiple images in a single imagebase file
While write single file in imagebase file it stores file information in imagebase header like file name, file type, byte start position, byte length. While read single file from imagebase it reads file information from header and read the bytes from imagebase by reading byte position and byte length. While write and read data in imagebase it can be used and standard byte encryption algorithm like DES, 3DES, RC4, PGP, AES. This will maintain data integrity and data security.

4.2 Store images in folder
Image will be stored in folder and file name will be stored in database table. It will give best performance however it reduces data integrity. While storing the file in folder we can apply standard encryption algorithm like DES, 3DES, RC4, PGP, AES.
Query the Data
XDb will use XQuery to query the data from XML file. XQuery is the language for querying XML data. XQuery is a language for finding and extracting elements and attributes from XML documents. XQuery provides the means to extract and manipulate data from XML documents.
XQuery uses XPath expression syntax to address specific parts of an XML document. It supplements this with a SQL-like "FLWOR expression" for performing joins. A FLWOR expression is constructed from the five clauses after which it is named: FOR, LET, WHERE, ORDER BY, RETURN. The language is based on a tree-structured model of the information content of an XML document, containing seven kinds of node: document nodes, elements, attributes, text nodes, comments, processing instructions, and namespaces.
Out of Scope
Following are the out of scope for current version of XDb 1.0, will be work upon on next version.
- Data Compression
- Store image file in different drive for single file concept.
- DB Interface for creating, altering and managing data base.
Database Architechture
Following diagram will explain the different file in the XDb database and their purpose.
