Efficient Xml Stream Processing and Searching

Total Page:16

File Type:pdf, Size:1020Kb

Efficient Xml Stream Processing and Searching THE FLORIDA STATE UNIVERSITY COLLEGE OF ARTS AND SCIENCES EFFICIENT XML STREAM PROCESSING AND SEARCHING By WEI ZHANG A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy Degree Awarded: Spring Semester, 2012 Wei Zhang defended this dissertation on March 22, 2012. The members of the supervisory committee were: Robert A. van Engelen Professor Directing Dissertation Erlebacher Gordon University Representative Xiuwen Liu Committee Member Xin Yuan Committee Member Zhenhai Duan Committee Member The Graduate School has verified and approved the above-named committee members, and certifies that the dissertation has been approved in accordance with the university requirements. ii To Xiaobo, my love, whose wholehearted support helped me complete this dissertation. iii ACKNOWLEDGMENTS This dissertation would not have been completed without the helps of several people. I would like to express my gratitude to my advisor, Dr. Robert A. van Engelen, for his support, patience, and encouragement throughout my graduate studies. He has been instrumental in the successful completion of this work. He provided an environment that nurtured my growth during the early stages of the research process, while giving sufficient freedom and patience during the later stages of my dissertation research. His technical and editorial advice was essential to the completion of this dissertation and has taught me innumerable lessons and insights on the workings of academic research in general. I would give my thanks to my committee members, Dr. Xin Yuan, Dr. Zhenhai Duan, Dr. Xiuwen Liu and Dr. Gordon Erlebacher for reading my prospectus and previous drafts of this dissertation and providing many valuable comments that improved the presentation and contents of this dissertation. Special thanks would also be given to Dr. David Whalley, my previous comittee member, for his valuable advices on my research and publications, comments and text edits on my prospectus and dissertation drfats. Last, I would like to thank my wife Xiaobo for her understanding and for her love during the past few years. Her support, encouragement, and dedication to our children was in the end what made this dissertation possible. My parents, Binfan and fanglan, receive my deepest gratitude and love for their dedication and the years of support during my graduate studies. iv TABLE OF CONTENTS List of Tables...................................... viii List of Figures...................................... ix List of Algorithms.................................... xii List of Listings..................................... xiii Abstract......................................... xiv 1 Introduction1 1.1 A Motivating Example............................5 1.2 Thesis Statement...............................9 1.3 Contributions................................. 10 1.4 Organizations................................. 11 2 Preliminaries 12 2.1 Extensible Markup language (XML)..................... 12 2.1.1 Syntax of XML............................ 12 2.1.2 Handling White Space in XML Documents............. 13 2.1.3 XML Namespaces.......................... 13 2.2 XML Schema................................. 15 2.3 XML Parsing and Validation......................... 16 2.4 XPath Querying Languages.......................... 17 2.5 Performance Challenges of XML Parsing, Validation and Searching.... 18 3 Related Work 22 3.1 Parsing Optimizations............................. 22 3.1.1 Schema-specific Parsing....................... 22 3.1.2 Parallel XML Parsing......................... 25 3.1.3 Differential Parsing.......................... 26 3.1.4 XML Hardware Acceleration.................... 27 3.1.5 Summary............................... 28 3.2 Validation Optimizations........................... 28 3.2.1 Automaton Based Approach..................... 29 3.2.2 Push-Down Automaton Based Approach.............. 30 3.2.3 Integrated Approach......................... 31 v 3.2.4 Incremental Validation........................ 31 3.2.5 Push-Down Automaton Based Approach.............. 32 3.2.6 Logic Based Approach........................ 32 3.2.7 Query Based Approach........................ 32 3.2.8 Schema Based Differential Re-validation.............. 33 3.2.9 Summary............................... 33 3.3 Deserialization Optimizations........................ 34 3.3.1 Static-dynamic Approach....................... 34 3.3.2 Differential Deserialization...................... 34 3.3.3 Summary............................... 37 3.4 XML Searching Optimizations........................ 38 3.4.1 Automata Based Approach...................... 38 3.4.2 Push-down Automaton Approach.................. 40 3.4.3 Stack Based Approach........................ 40 3.4.4 Directed Acyclic Graph Based Approach.............. 40 3.4.5 Parallel XML Query Optimizations................. 41 3.4.6 Schema Based Query Optimizations................. 43 3.4.7 Logic-based Query Optimizations.................. 45 3.4.8 Incremental Query Evaluation.................... 45 3.4.9 XML Query Techniques in Native XML Databases......... 46 3.4.10 Other Query Optimization Approaches............... 47 3.4.11 Summary............................... 48 3.5 Binary XML Encoding Attempts....................... 48 4 Mapping XML Schema Content Models to Augmented Context Free Gram- mars 52 4.1 Permutation Phrase Grammars........................ 52 4.2 Multi-Occurrence Phrases.......................... 54 4.3 XML Schema Content Models........................ 54 4.4 Mapping Schema Components to Augmented Grammar........... 56 4.4.1 Terms and Notations......................... 56 4.4.2 Mapping Rules............................ 57 5 Table-Driven XML Parsing and Validation 69 5.1 Overview of TDX............................... 69 5.2 Constructing Parsing Table.......................... 71 5.2.1 Preserving the LL(1) Property.................... 71 5.2.2 FIRST and FOLLOW sets construction for LL(1) grammar produc- tions.................................. 72 5.2.3 Constructing augmented LL(1) parsing table............ 73 5.3 Parsing Engine................................ 73 5.3.1 Parsing Permutation phrases..................... 74 5.3.2 Parsing Multi-occurrence Phrases.................. 75 vi 5.3.3 Table-Driven Parsing and Validation................. 77 5.4 Scanning and Tokenization.......................... 80 5.5 Pipelined Scanning, Tokenization, and Parsing and Validation........ 80 6 Table-Driven XML Stream Searching 83 6.1 Introduction.................................. 83 6.2 Overview of Table-Driven XPath Query Processor.............. 86 6.3 Table-Driven XML Stream Query Evaluation................ 87 6.3.1 Query Evaluation Engine....................... 92 6.3.2 Query Evaluation Algorithm..................... 93 6.4 Construction of a Query Table........................ 97 6.4.1 LL(1) Grammar Graph........................ 98 6.4.2 Query Table Construction...................... 98 7 Performance Evaluation 103 7.1 Experimental Setup.............................. 103 7.1.1 Parsers Compared.......................... 104 7.1.2 XPath Query Processors Compared................. 105 7.2 Performance Evaluation of TDX Parser................... 105 7.2.1 Overall Performance......................... 106 7.2.2 Compared to Schema-specific Validating Parsers.......... 109 7.2.3 Compared to Non-Schema-Specific Validating Parsers....... 113 7.2.4 Compared to Non-validating Parsers................. 115 7.2.5 Performance impact of Validating Unordered XML Elements and Attributes............................... 119 7.2.6 Scalability Impact of Number of Unordered Elements for TDX... 123 7.2.7 Overhead Incurred by Dynamic TDX................ 123 7.2.8 Performance Improvements by Pipelining.............. 126 7.3 Performance of TDX Query Processor.................... 128 7.3.1 Performance of Queries with Simple Step Queries......... 128 7.3.2 Performance of Queries with Wildcards............... 131 7.3.3 Performance of Queries with Backward Axes............ 132 7.3.4 Performance of Equivalent Queries................. 133 7.3.5 Performance of Multiple Queries................... 136 7.3.6 Scalability.............................. 136 7.4 Discussion................................... 138 8 Conclusions and Future Works 139 A List of XML Schemas Used in Performance Experiments 141 Bibliography...................................... 149 Biographical Sketch................................... 165 vii LIST OF TABLES 1.1 Parsing table for the grammar in Figure 1.3. The number inside the parenthesis represents the integral token for that tag.....................8 4.1 Mapping rules translating top-level schema components............ 58 4.2 Mapping rules translating element declarations................. 59 4.3 Mapping rules translating complex type definitions............... 61 4.4 Mapping rules translating complex type definitions (continued)........ 62 4.5 Mapping rules translating non-normative simple type components....... 63 4.6 Mapping rules translating occurrence constraints................ 64 4.7 Mapping rules translating model group definitions............... 64 4.8 Mapping rules translating model group components.............. 65 4.9 Mapping rules translating attribute uses..................... 66 4.10 Mapping rules translating attribute group definitions.............. 66 5.1 Schema fragment generating non-LL(1) grammar............... 72 6.1 LL(1) grammar that is generated from the XML schema A.1 (Upper case letters denote nonterminals;
Recommended publications
  • XML Document Parsing: Operational and Performance Characteristics
    COMPUTING PRACTICES XML Document Parsing: Operational and Performance Characteristics Parsing is an expensive operation that can degrade XML processing performance. A survey of four representative XML parsing models—DOM, SAX, StAX, and VTD—reveals their suitability for different types of applications. Tak Cheung Lam roadly used in database and networking applications, the and Jianxun Jason Ding Extensible Markup Language is the de facto standard for the Cisco Systems interoperable document format. As XML becomes widespread, it is critical for application developers to understand the opera- Jyh-Charn Liu tional and performance characteristics of XML processing. Texas A&M University BAs Figure 1 shows, XML processing occurs in four stages: parsing, access, modification, and serialization. Although parsing is the most expensive operation,1 there are no detailed studies that compare • the processing steps and associated overhead costs of different parsing models, • tradeoffs in accessing and modifying parsed data, and • XML-based applications’ access and modification requirements. Figure 1 also illustrates the three-step parsing process. The first two steps, character conversion and lexical analysis, are usually invariant among dif- ferent parsing models, while the third step, syntactic analysis, creates data representations based on the parsing model used. To help developers make sensible choices for their target applications, we compared the data representations of four representative parsing models: document object model (DOM; www.w3.org/DOM), simple API for XML (SAX; www.saxproject.org), streaming API for XML (StAX; http://jcp.org/ en/jsr/detail?id=173), and virtual token descriptor (VTD; http://vtd-xml. sourceforge.net). These data representations result in different operational and performance characteristics.
    [Show full text]
  • Licensing Information User Manual Release 21C (21.1) F37966-01 March 2021
    Oracle® Zero Downtime Migration Licensing Information User Manual Release 21c (21.1) F37966-01 March 2021 Introduction This Licensing Information document is a part of the product or program documentation under the terms of your Oracle license agreement and is intended to help you understand the program editions, entitlements, restrictions, prerequisites, special license rights, and/or separately licensed third party technology terms associated with the Oracle software program(s) covered by this document (the "Program(s)"). Entitled or restricted use products or components identified in this document that are not provided with the particular Program may be obtained from the Oracle Software Delivery Cloud website (https://edelivery.oracle.com) or from media Oracle may provide. If you have a question about your license rights and obligations, please contact your Oracle sales representative, review the information provided in Oracle’s Software Investment Guide (http://www.oracle.com/us/ corporate/pricing/software-investment-guide/index.html), and/or contact the applicable Oracle License Management Services representative listed on http:// www.oracle.com/us/corporate/license-management-services/index.html. Licensing Information Third-Party Notices and/or Licenses About the Third-Party Licenses The third party licensing information in Oracle Database Licensing Information User Manual, Third-Party Notices and/or Licenses and Open Source Software License Text, applies to Oracle Zero Downtime Migration. The third party licensing information included in the license notices provided with Oracle Linux applies to Oracle Zero Downtime Migration. Open Source or Other Separately Licensed Software Required notices for open source or other separately licensed software products or components distributed in Oracle Zero Downtime Migration are identified in the following table along with the applicable licensing information.
    [Show full text]
  • Web Technologies in Java EE
    Web Technologies in Java EE JAX-RS 2.0, JSON-P, WebSocket, JSF 2.2 $ whoami • Lukáš Fryč – Software Engineer, JBoss, Red Hat • AeroGear, (Arquillian, RichFaces) – Interests • HTML5, Web Components, AngularJS • Living and advocating Java EE (6 yrs) • Running, Hiking • Enjoying time with my family Agenda • Client-Side vs Server-Side Web • JAX-RS 2.0 RESTful Services – Origins + News in 2.0 • JSON-P Java API for JSON Processing • Java API for WebSocket • JSF 2.2 JavaServer Faces – Origins + News in 2.2 Client-Side vs Server-Side Web Architecture Client- vs. Server-Side Web • Server-Side Web (Thin Client) – Well-established approach – 90's, 00's • Client-Side Web (Thick Client) – Moden approach – SPA (Single Page Applications) – Fully leverages enhancements in web standards and protocols – 10's Server-Side Client-Side Client-Side Web Approach • Off-loading server – Stateless, Scalable • Client-Side Frameworks – AngularJS, Ember, Backbone, .......... • Standards improvements – HTML5 + Protocols • REST interfaces – Data-oriented, presentation independent Java API for RESTful Services JAX-RS 2.0 JAX-RS Origins • RESTful Principles – Assign everything an ID – Link things together – Use common methods (GET, POST, ...) – Stateless communication – OData, HATEOAS JAX-RS 1.0 Goals • POJO-Based API • HTTP Centric • Format Independence – plain/text – XML – HTML – JSON JAX-RS API • Resources – @Path • HTTP methods – @GET / @POST / @PUT / @DELETE / ... • Parameters – @PathParam / @QueryParam / ... • Media-Type – @Consumes / @Produces Demo JAX-RS Endpoint http://javaee-samples.github.io/ HTTP Method Purpose Method Meaning @GET Read, possibly cached @POST Modify or create without a known ID (modify/update) @PUT Modify or create with a known ID (create/modify) @DELETE Remove @HEAD GET with no response @OPTIONS Supported methods http://stackoverflow.com/questions/630453/put-vs-post-in-rest Parameter Injection Annotation Example @PathParam(“id”) @Path(“/consumer/{id}”) @QueryParam(“query”) GET /consumer/search? query=??? @CookieParam(“userna Cookie: ..
    [Show full text]
  • JAVA XML Mock Test
    JJAAVVAA XXMMLL MMOOCCKK TTEESSTT http://www.tutorialspoint.com Copyright © tutorialspoint.com This section presents you various set of Mock Tests related to JAVA XML Framework. You can download these sample mock tests at your local machine and solve offline at your convenience. Every mock test is supplied with a mock test key to let you verify the final score and grade yourself. JJAAVVAA XXMMLL MMOOCCKK TTEESSTT IIII Q 1 - Which of the following method is used to read contents in SAX parsing? A - startDocument B - characters C - startElement D - endElement Q 2 - Which of the following is true about JDOM Parser? A - It is java optimized, it uses java collection like List and Arrays. B - It works with DOM and SAX APIs and combines the best of the two. C - Both of the above. D - None of the above. Q 3 - Which of the following is true about JDOM Parser? A - It is of low memory footprint. B - It is nearly as fast as SAX based parser. C - Both of the above. D - None of the above. Q 4 - Which component of JDOM Parser represents DOM tree? A - Document B - Element C - Attribute D - Text Q 5 - Which component of JDOM Parser represents XML Element? A - Document B - Element C - Attribute D - Text Q 6 - Which component of JDOM Parser represents XML attribute? A - Document B - Element C - Attribute D - Text Q 7 - Which component of JDOM Parser represents text of XML tag? A - Document B - Element C - Attribute D - Text Q 8 - Which component of JDOM Parser represents comments in a XML document? A - Comment B - Element C - Attribute D - Text Q 9 - Which
    [Show full text]
  • Metro User Guide Metro User Guide Table of Contents
    Metro User Guide Metro User Guide Table of Contents Preface .............................................................................................................................. x 1. Introduction to Metro ....................................................................................................... 1 1.1. Required Software ................................................................................................ 1 1.2. What is WSIT? .................................................................................................... 1 1.2.1. Bootstrapping and Configuration ................................................................... 2 1.2.2. Message Optimization Technology ................................................................ 3 1.2.3. Reliable Messaging Technology .................................................................... 4 1.2.4. Security Technology ................................................................................... 4 1.3. How Metro Relates to .NET Windows Communication Foundation (WCF) ...................... 5 1.4. Metro Specifications ............................................................................................. 5 1.4.1. Bootstrapping and Configuration Specifications ............................................... 7 1.4.2. Message Optimization Specifications ............................................................. 8 1.4.3. Reliable Messaging Specifications ............................................................... 10 1.4.4. Security Specifications
    [Show full text]
  • An Overview on Xml Parsing
    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.
    [Show full text]
  • High Performance XML Data Retrieval
    High Performance XML Data Retrieval Mark V. Scardina Jinyu Wang Group Product Manager & XML Evangelist Senior Product Manager Oracle Corporation Oracle Corporation Agenda y Why XPath for Data Retrieval? y Current XML Data Retrieval Strategies and Issues y High Performance XPath Requirements y Design of Extractor for XPath y Extractor Use Cases Why XPath for Data Retrieval? y W3C Standard for XML Document Navigation since 2001 y Support for XML Schema Data Types in 2.0 y Support for Functions and Operators in 2.0 y Underlies XSLT, XQuery, DOM, XForms, XPointer Current Standards-based Data Retrieval Strategies y Document Object Model (DOM) Parsing y Simple API for XML Parsing (SAX) y Java API for XML Parsing (JAXP) y Streaming API for XML Parsing (StAX) Data Retrieval Using DOM Parsing y Advantages – Dynamic random access to entire document – Supports XPath 1.0 y Disadvantages – DOM In-memory footprint up to 10x doc size – No planned support for XPath 2.0 – Redundant node traversals for multiple XPaths DOM-based XPath Data Retrieval A 1 1 2 2 1 /A/B/C 2 /A/B/C/D B F B 1 2 E C C 2 F D Data Retrieval using SAX/StAX Parsing y Advantages – Stream-based processing for managed memory – Broadcast events for multicasting (SAX) – Pull parsing model for ease of programming and control (StAX) y Disadvantages – No maintenance of hierarchical structure – No XPath Support either 1.0 or 2.0 High Performance Requirements y Retrieve XML data with managed memory resources y Support for documents of all sizes y Handle multiple XPaths with minimum node traversals
    [Show full text]
  • Open Source and Third Party Documentation
    Open Source and Third Party Documentation Verint.com Twitter.com/verint Facebook.com/verint Blog.verint.com Content Introduction.....................2 Licenses..........................3 Page 1 Open Source Attribution Certain components of this Software or software contained in this Product (collectively, "Software") may be covered by so-called "free or open source" software licenses ("Open Source Components"), which includes any software licenses approved as open source licenses by the Open Source Initiative or any similar licenses, including without limitation any license that, as a condition of distribution of the Open Source Components licensed, requires that the distributor make the Open Source Components available in source code format. A license in each Open Source Component is provided to you in accordance with the specific license terms specified in their respective license terms. EXCEPT WITH REGARD TO ANY WARRANTIES OR OTHER RIGHTS AND OBLIGATIONS EXPRESSLY PROVIDED DIRECTLY TO YOU FROM VERINT, ALL OPEN SOURCE COMPONENTS ARE PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. Any third party technology that may be appropriate or necessary for use with the Verint Product is licensed to you only for use with the Verint Product under the terms of the third party license agreement specified in the Documentation, the Software or as provided online at http://verint.com/thirdpartylicense. You may not take any action that would separate the third party technology from the Verint Product. Unless otherwise permitted under the terms of the third party license agreement, you agree to only use the third party technology in conjunction with the Verint Product.
    [Show full text]
  • JAVA XML Interview Questions
    JJAAVVAA XXMMLL -- IINNTTEERRVVIIEEWW QQUUEESSTTIIOONNSS http://www.tutorialspoint.com/java_xml/java_xml_interview_questions.htm Copyright © tutorialspoint.com Dear readers, these JAVA based XML Parsing Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of JAVA based XML Parsing. As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer − What XML stands for? XML stands for Extensible Markup Language. What are the advantages of using XML? Following are the advantages that XML provides − Technology agnostic - Being plain text, XML is technology independent. It can be used by any technology for data storage and transmission purpose. Human readable- XML uses simple text format. It is human readable and understandable. Extensible - in XML, custom tags can be created and used very easily. Allow Validation - Using XSD, DTD and XML structure can be validated easily. What are the disadvantages of using XML? Following are the disadvantages of XML usage − Redundant Syntax - Normally XML file contains lot of repeatitive terms. Verbose-Being a verbose language, XML file size increases the transmission and storage costs. What is XML Parsing? Parsing XML refers to going through XML document to access data or to modify data in one or other way. What is XML Parser? XML Parser provides way how to access or modify data present in an XML document. Java provides multiple options to parse XML document.
    [Show full text]
  • Beginning Jakarta EE Enterprise Edition for Java: from Novice to Professional
    Beginning Jakarta EE Enterprise Edition for Java: From Novice to Professional Peter Späth Beginning Jakarta EE: Enterprise Edition for Java: From Novice to Professional Peter Späth Leipzig, Sachsen, Germany ISBN-13 (pbk): 978-1-4842-5078-5 ISBN-13 (electronic): 978-1-4842-5079-2 https://doi.org/10.1007/978-1-4842-5079-2 Copyright © 2019 by Peter Späth This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Xsd to Sql Schema Online
    Xsd To Sql Schema Online Maison is restitutory and set-to momentarily while superlunar Duffy patronizing and readied. Daintily viperous, Durand wane subdelirium and salaam bombardments. Sometimes rectilinear Jacques bridges her baby-sitter afterward, but formalistic Shanan garrotting linguistically or carks substitutively. Be the preview and to sql Due to these restrictions, SQL Server Authentication, the complete source of the imported schemas are being included in to the generated JSON Schema. Wild card components allow adding content that is not known at the time of schema design. Conformant yaml file formats as a pdf and convert sql format? XML Schema editors XML schema editor tools. This specification defines JSON Schema core terminology and mechanisms, and as such, we work with the various data format and gets the requirement to load the data into SQL Server. Otherwise, and innovative things. XML Schemas Inspection Results. An XML document contains elements, checking this option will generate attributes in both classes with each other as type. Via a corresponding to generate json from xml schema it is shown in the newer, it is well known that an update to a set of electronic data can be communicated either by relaying the set of updated data or by transmitting the set of changes in the data. However, XML data retrieved from the database has the same information as before it was inserted into the database, so any script or SQL statement you write must reflect the original XML data. Basically, optionally, and SPAs. Remove any yaml markup language has sent an xml serialization language for these options will be.
    [Show full text]
  • S.Im.Pl Serialization: Type System Scopes Encapsulate Cross-Language, Multi-Format Information Binding
    S.IM.PL SERIALIZATION: TYPE SYSTEM SCOPES ENCAPSULATE CROSS-LANGUAGE, MULTI-FORMAT INFORMATION BINDING A Thesis by NABEEL SHAHZAD Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE December 2011 Major Subject: Computer Science S.IM.PL Serialization: Type System Scopes Encapsulate Cross-Language, Multi-Format Information Binding Copyright 2011 Nabeel Shahzad S.IM.PL SERIALIZATION: TYPE SYSTEM SCOPES ENCAPSULATE CROSS-LANGUAGE, MULTI-FORMAT INFORMATION BINDING A Thesis by NABEEL SHAHZAD Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Approved by: Chair of Committee, Andruid Kerne Committee Members, Bjarne Stroustrup Jaakko J¨arvi Philip Galanter Head of Department, Duncan Walker December 2011 Major Subject: Computer Science iii ABSTRACT S.IM.PL Serialization: Type System Scopes Encapsulate Cross-Language, Multi-Format Information Binding. (December 2011) Nabeel Shahzad, B.S., National University of Computer and Emerging Sciences Chair of Advisory Committee: Dr. Andruid Kerne Representing data outside of and between programs is important in software that stores, shares, and manipulates information. Formats for representing information, varying from human-readable verbose (XML) to light-weight, concise (JSON), and non-human-readable formats (TLV) have been developed and used by applications based on their data and communication requirements. Writing correct programs that produce information represented in these formats is a difficult and time-consuming task, as developers must write repetitive, tedious code to map loosely-typed serialized data to strongly-typed program objects.
    [Show full text]