International Journal of Advanced Computational Engineering and Networking, ISSN: 2320-2106, Volume-1, Issue-9, Nov-2013 AN OVERVIEW ON XML PARSING

1P.V.KALE, 2V.M.DESHMUKH

Computer Science & Engineering Department, Prof. Ram Meghe Institute of Technology & Research, Badnera-Amravati. Email:[email protected],[email protected]

Abstract: As XML has become a standard for data representation and exchange, XML data processing becomes more and more important for server workloads like web servers and database servers. Every application that processes information from XML documents needs an XML Parser which reads an XML document and provides interface for user to access its content and structure. One of the most time consuming part is data parsing. Parsing is a core operation performed before an XML document can be navigated, queried, or manipulated. Recently, high performance XML parsing has become a topic of considerable interest. In this paper, we are giving an overview on parsing and different available parsers in market today. We focus on a survey of four representative XML parsing models—DOM, SAX, StAX, and VTD—reveals their suitability for different types of applications.

Keywords: XML, XML Parser, Parsing.

I. INTRODUCTION II. LITERATURE REVIEW

Broadly used in database and networking Yusof Mohd Kamir and Mat Amin Mat Atar - applications, the Extensible Markup Language is the explains that nowadays, web is important to users. de facto standard for the interoperable document They can get lot of information from data. The most format. As XML becomes widespread, it is critical popular method for data retrieval is XML. XML is for application developers to understand the new method compared to HTML. HTML is operational and performance characteristics of XML traditional method for store and retrieves the data processing. In Fig 1 will see, XML processing occurs from database. Basically, XML and HTML has a in four stages: parsing, access, modification, and same function, but XML is faster compared to HTML serialization. Although parsing is the most expensive in term of performance for data retrieval. Li Zhao , operation, there are no detailed studies that compare Laxmi Bhuyan -elaborates data parsing is to convert the processing steps and associated overhead costs of the input XML document and break it into small different parsing models, tradeoffs in accessing and elements. It is one of the most important portions in modifying parsed data, and XML- based applications’ XML data processing because an XML document has access and modification requirements. Figure 1 also to be parsed before any other operations can be explains the three-step parsing process. The first two performed. Studies have shown that data parsing steps, character conversion and lexical analysis, are consumes about 30% of web service applications. usually invariant among different parsing models, Parsing is a core operation performed before an XML while the third step, syntactic analysis, creates data document can be navigated, queried, or manipulated. representations based on the parsing model used. Recently, high performance XML parsing has Developers can choose any one of the parsing model become a topic of considerable interest [1]. A based on its operational and performance comparative study towards different XML parsers is characteristics. For parsing the data XML based beneficial when comes to determine the strength and database and networking applications have unique weaknesses of the products. Various studies have requirement with respect to access and modification been conducted which compare on conformance to of parsed data. standards, speed, memory usage and so on [2]. There is relatively few study in the literature on Input XML Document performance of XML parsing. However, as the first step in every application that takes XML documents to process, parsing can easily become the bottleneck of the application performance [3]. Due to its complexity and importance, the parsing process is the most critical operation in XML processing, directly conditioning processing time and memory consumption. Several studies have been conducted with the goal to test, improve representation models and in XML processing. As Java and other technologies evolve, it is necessary to review the new approaches and improvements provided by several XML parsers available. Su Cheng Haw and G. S. V. Fig 1 XML processing stages and parsing steps. processing

An Overview On Xml Parsing

21 International Journal of Advanced Computational Engineering and Networking, ISSN: 2320-2106, Volume-1, Issue-9, Nov-2013 Radha Krishna Rao have presented a model called been newly proposed XML programming interfaces “Comparative Study and Benchmarking on XML such as pull-based parsing, e.g., StAX (Streaming Parser”. In that, they compare the xerces and .NET API for XML), In DOM the data retrieval time can parsers based on the performance, memory, usage be improved by using cache as a temporary file [5]. and so on[2]. Bruno Oliveira1, Vasco Santos1 and After retrieving data from database, the data is saved Orlando Belo2 - explains in order to provide a at cache. This model is very efficient compared to old benchmark of each one of APIs tested the used set of model and gives better performance for data retrieval. XML example files, which represents typical real- A DOM parser maps an XML document into such a world applications. These files have several sizes tree rooted at a Document node, upon which the categorized as Small (between 1,6 ~ 6,8 KB), application can search for nodes, read their Medium (10 ~ 1 MB) and Big (between 1 ~ 15MB). information, and update the contents of the nodes. Tests were conducted with files in memory with the SAX is an event-driven interface. The application purpose of reducing I/O costs. XML parsing receives document information from the parser performance was conducted for testing latency, through a ContentHandler object. It implements memory usage and navigation performance [4].The various event handlers in the interface methods in number of such techniques are available for doing the ContentHandler, and registers the ContentHandler performance analysis on the individual basis in this object with the SAX parser. The parser reads an XML we are comparing all those on a single XML document from the beginning to the end. When it document getting the overall review for time and encounters a node in the document, it generates an space complexity. V.M. Deshmukh, G.R. Bamnote- event that triggers the corresponding event handler Campare the performance of different parsing like for that node. The handler thus applies the application DOM, SAX for different data structures like linked logic to process the node specifically. VTD creates no list,stack, array and queue. Using the different data object but stores the original document and produces structure for accessing or reading the data from the arrays of 64-bit integers called VTD records (VRs) database required less time as compared to others and location caches (LCs). VRs store token positions method. [1]. Nicola, M. and John, J exaplins- study in the original document, while LCs store the parent- of XML parsing performance across a selection of child-sibling relationship among tokens. commercial database applications has shown that XML parsing is the major bottleneck [4]. They found IV. OPERATIONAL AND PERFORMANCE that parsing even small XML documents can increase CHARECTERICSTICS the computation cost of a database transaction by 2 to 3 times. The various data representation results in different operational and performance characteristics. They III. DATA REPRESENTATION OF have an impact in choosing the parsing model for PARSING MODEL data representation. We will summarize the details of this in the table 1,2 and performance in table 3 and XML parsers use different models to create data focus on how different data representations impact representations. DOM () three XML processing capabilities: streaming, access creates a tree object, SAX(Simple API for XML) and and modification, and hardware acceleration. StAX create a sequence of events VTD creates integer array. Both DOM and VTD maintain long- A. Streaming capability lived structural data for sophisticated operations in the access and modification stages, while SAX and For Streaming, low latency and memory usage is StAX do not. DOM as well as SAX and StAX create required and normally the parser only needs to extract objects for their data representations, while VTD a small portion of the document sequentially without eliminates the object-creation overhead via integer knowing the entire document structure. To arrays. DOM is a tree-based interface that models an understand parsing models’ impact on streaming XML document as a tree of nodes, upon which the capability, it is important to understand how the application can search for nodes, read their parser and application interact during data access. information, and update the contents of the nodes. SAX is an event-driven interface. The application registers with the parser various event handlers. As the parser reads an XML document, it generates events for the encountered nodes and triggers the corresponding event handlers. Recently there have

An Overview On Xml Parsing

22 International Journal of Advanced Computational Engineering and Networking, ISSN: 2320-2106, Volume-1, Issue-9, Nov-2013 SAX and StAX are appropriate for applications with extremely restrictive memory but not for backand- forth access or modification. We can say that DOM is most suitable for database applications, while SAX and StAX are more appropriate for streaming applications. VTD is a good for hardware acceleration based on its symmetric array structure.

REFERENCES

[1] Ms. V.M.Deshmukh#, Dr. G.R.Bamnote*,”An Empirical Study: XML Parsing using Various Data Structures”, International Journal Of Computer Science And Applications Vol. 6, No.2, Apr 2013 ISSN: 0974-1011 ,pp. 400-405. [2] Su Cheng Haw ,G. S. V. Radha Krishna Rao,” A Comparative Study and Benchmarking on XML Parsers”, Advanced Communication Technology, The 9th International Conference (Volume:1 ) ISSN :1738-9445 , 2-14 Feb. 2007 pp. 321 - 32 Table 1: XML processing operational Characteristic [3] Chengkai Li,”XML Parsing, SAX/DOM”, [4] Bruno Oliveira1,Vasco Santos1 and Orlando Belo2,” Processing XML with Java – A Performance Benchmark”, International Journal of New Computer Architectures and their Applications (IJNCAA) 3(1): 72-85 The Society of Digital Information and Wireless Communications (SDIWC) 2013 (ISSN: 2220-9085) ,pp. 72-85. [5] S.C. Haw and G.S.V.R.K.Rao, “Query Optimization Techniques for XML Databases”, International Journal of Information Technology, Vol. 2, No. 1, 2005, pp. 97-104. [6] Nicola, M. and John, J., “XML Parsing: a Threat to Database Performance” International Conference on Information and Knowledge Management, 2003, pp. 175- 178. [7] Yusof Mohd Kamir and Mat Amin Mat Atar, “High- Performance XML Parsing and Validation with Permutation Table 2: XML processing performance Characteristic Phrase Grammar Parsers” 2009 International Conference on Information and Multimedia Technology,pp 303-305 [8] Wei Lu, Dennis Gannon, “Parallel XML Processing by Work Stealing”, SOCP'07, June 26, 2007, Monterey, California, USA. [9] V.M. Deshmukh, G.R. Bamnote, “DESIGN AND DEVELOPMENT OF AN EFFICIENT XML PARSING ALGORITHM: A REVIEW”, International Journal of Applied Science and Advance Technologyz, January-June 2012, Vol. 1, No. 1, pp. 5-8. Table 3 : XML processing capability and application [10] Kai Ning, Luoming Meng “Design and Implementation of the DTD-based XML Parser”, proceedings of ICCT2013. [11] Michael R. Head† Madhusudhan Govindaraju, “Parallel CONCLUSION Processing of Large-Scale XML-Based Application Documents on Multi-core Architectures with PiXiMaL”, From the analysis of parsing models’ data Fourth IEEE International Conference on eScience. representations and their impact on XML processing [12] Robert A. van Engelen, “Constructing Finite State Automata for High-Performance XMLWeb Services”, in the gives the conclusions that both DOM and VTD are proceedings of International Symposium onWeb Services good for back-and-forth data access. VTD parses and Applications (ISWS) 2004. faster than DOM and consumes less memory. VTD is [13] Wei Lu, Kenneth Chiu, “A Parallel Approach to XML better for simple and rare modifications, while DOM Parsing”, in the 7th International Conference on Grid Computing, IEEE/ACM 2006. is better for complex and frequent ones.



An Overview On Xml Parsing

23