In this chapter, we discuss how to store, process, search and visualize XML documents and how DBMSs can support this. We start by looking at the XML data representation standard and discuss related concepts such as DTDs and XSDs for defining XML documents, XSL for visualizing or transforming XML documents, and namespaces to provide for a unique naming convention. This is followed by introducing XPath, which uses path expressions to navigate through XML documents. We review the DOM and SAX API to process XML documents. Next, we cover both the document and data-oriented approach for storing XML documents. We extensively highlight the key differences between the XML and relational data model. Various mapping methods between XML and (object-)relational data are discussed next: table based mapping, schema-oblivious mapping, schema-aware mapping, and the SQL/XML extension. We also present various ways to search XML data: -full-text search, keyword-based search, structured search, XQuery, and semantic search. We then illustrate how XML can be used for information exchange, both at the company level using RPC and Message-Oriented Middleware and between companies using SOAP or REST-based web services. We conclude the chapter by discussing some other data representation standards, such as JSON and YAML.
Chapter 10 XML Databases Posted on May 16, 2018