280 likes | 399 Views
XML Toolset for Analysis of XML Documents. Shanno Isaac (09020220). Introduction. To develop a tool that can analyse the Xml document and get valuable information about the internal structure of the Document. Overall information like getting the attributes, elements, their count depth etc.
E N D
XML Toolset for Analysis of XML Documents Shanno Isaac (09020220)
Introduction • To develop a tool that can analyse the Xml document and get valuable information about the internal structure of the Document. • Overall information like getting the attributes, elements, their count depth etc. • To display the structure in a tree format displaying the children, siblings and formation. • Get as much as information and provide with different functionalities with respect to XML and related files
Introduction • A tool has been created to load a XML/SVG or any related files and can be edited and saved. • A transformation can be also done to the XML files and the result can be saved. • The node information can be got also can mix and match getting elements, attributes, text nodes n on • A browser in included to view files in Browser format and also do some fast browsing • A tree view is provided with node search capability along with different details about Children/siblings • A option to validate and display the DTD/Schema files.
Platform • From Java to C# (MSDN communities). Gave a try • Visual Studio 2008. Started with it with some old experience I had a year ago. • Upgraded to Visual Studio 2010 as it came out and I could have the Ultimate edition for free. • It is obviously good to get in touch with a good language c# and use the .NET platform
Foreknowledge • XML is the basics for the entire project. Most of the Analysis part went on by knowing the structure of XML and its representations. Also for every user it is required to know about XML. • XSL Transformations were next important thing to know before using the project but can be avoided. • Some other things like XML Schema and DTD are useful.
XML in .NET • XML Reader and XML Writer are the two basic libraries that are used to do all the operations in programming point of view. • XML Reader: As its name suggest it is used to read a XML file and it hold its root in the library file XML. It is t most used for handling XML files. • XML Writer was partially used but the works were shared by XML Text Reader, XML Text Writer and so on. • Apart from these much more like forms, collections, Text, Date, IO, Xpath, Schema etc. were used.
Internal Structure • Form class: This is the basic class which handles all the event generated and calls different functions and classes according to the need. • Regions. The whole form class is divided into 6 regions where as one common and the other 5 for every tab (Explained later) • Other Classes. The are a few other classes associated like the trans class for doing transformation, Get Info for getting Elements and attributes, Node info for other overall information, Tree maker class and so on.
Loading an XML • User can load any file like XML, SVG and so on • Click the Browse button to be formal. • Drag and drop as we got used to do. • Book Mark it to save time • Type or paste the address in the Text Box • Select a bookmarked address if any! • Press GO button as in first generation browsing • Else jus press Enter as everywhere.
Play with it • Alter the code • Save to the original file • Reset back to as it was loaded • Browse for another file • Note: • Address bar loading • Reset runs back even it was quick saved
Get info out • Convert is used to do the XSLT(default Copy) • Node Info displays the basic counts like that of number of element, attribute, comments & on • Select the box and press get for getting combo of values respectively. • Save button is used to save the contents either after the transformation or simply a text file.
Browser? • Its just an XML Browser. To view the XML files also for some temp browsing. • It uses the IE 8 engine to show the XML files in it. Automatically shows the one we have loaded in the previous tab. • We can add new system files from here too. Also we can bookmark the files to get added to our cache • Also normal web browsing is possible. Just type in the name (Google) and enter it will take you to the site (www.google.com).
XML Tree Explained • Basically for giving details about Siblings, Children and structure • Perform node search and let you see the nodes. • Select individual nodes to view their details • Also get an overall idea how well it is designed • Has a option to choose the nodes Number of children and Siblings • Sort the nodes by the order of Number of Children and Siblings • Get overall updates about minimum, mean and most common nodes. • A search by node name.
Transform- Explanied • Drag and drop a XSL file or choose one using the Browse button and the Address bar it has • A default Copy-To transform function is given for common use and idea • Transformation can be performed only in the XML Editor tab. This tab is just to view and load the XSL File • Can be edited and the difference can be felt in the transformation but saving XSL file to the system is yet not implemented.(Will be added if felt vital)
Validate • Tried to implement some functions of validation. • Used some string search and calculations on the XML file to get the XSD/DTD files associated. • By default shows the XML file and in the list at the left side will show the files in the folder of XML • When user validates (click on DTD or Schema button), it searches for the DTD files associated and displays it along with validating. • When user browses a different system files the folder items in list is altered and so do the file. • User can click on the files in the list to view their conent.
Shortcomings & Future • Big files(>5000 lines coded) get lot of time and process to load as it uses default windows text reader. Looking for something green! • Styling files like CSS can’t be viewed. • Scripting is also not taken into account. • Its better of analysis and getting details out of it. • Can be made more as an editor giving it more freedom and adding all features related with XML • Wanted to give some rating for every XML page but more research on XML pages required.
Conclusion • XML Analysis: Most of all the features are included to make a complete analysis on how well the XML is structured and view its contents. • Under one roof: Tried to bring most features related with XML like XSL, Validate, Browser view etc. within one tool • Open door: By use of tabs, future is open for adding any new features without messing with the present finished units!