0% found this document useful (0 votes)
109 views35 pages

XML: Extensible Markup Language

DB

Uploaded by

Amal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views35 pages

XML: Extensible Markup Language

DB

Uploaded by

Amal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

CHAPTER 13

XML: Extensible Markup Language

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe


Introduction
 Databases function as data sources for Web
applications
 HTML
 Used in static Web pages
 XML, JSON
 Self-describing documents
 Dynamic Web pages
 Chapter focus: XML data model and languages

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 2


13.1 Structured, Semistructured, and
Unstructured Data
 Structured data
 Stored in relational database
 Semistructured data
 Not all data has identical structure
 Schema information mixed in
 Self-describing
 Directed graph model
 Unstructured data
 Limited data type indication
 Example: Web pages in HTML
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 3
Directed Graph Model for
Semistructured Data

Figure 13.1 Representing semistructured data as a graph


Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13-4
Structured, Semistructured, and
Unstructured Data (cont’d.)
 HTML uses predefined tags
 Document header
 Script functions, formatting styles
 Body
 Table tags
 Attributes
 Large number of predefined tags
 XHTML
 Extends tags for different applications

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 5


13.2 XML Hierarchical (Tree) Data
Model
 Basic object: XML document
 Element
 Simple
 Complex
 Schema document defines element names
 Attribute
 Document types
 Data-centric
 Document-centric
 Hybrid
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 6
13.3 XML Documents, DTD, and
XML Schema
 Conditions for well-formed XML documents
 Begins with XML declaration
 Syntactically correct
 Valid
 Must follow a particular schema

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 7


XML Documents, DTD, and XML
Schema (cont’d.)
 Notation for specifying elements
 elementname* indicates optional multivalued
(repeating) element
 elementname+ indicates required multivalued
(repeating) element
 elementname? indicates optional single-valued
(non-repeating) element
 elementname indicates required single-valued
(non-repeating) element

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 8


XML Documents, DTD, and XML
Schema (cont’d.)
 Notation for specifying elements (cont’d.)
 Type specified by parentheses following the
element name
 !ATTLIST used to specify attributes within the
element
 Parentheses can be nested when specifying
elements
 Bar symbol (e1|e2) indicates either e1 or e2 can
appear in the document

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 9


XML Documents, DTD, and XML
Schema (cont’d.)

Figure 13.4(a) An XML DTD file called ‘Projects’


Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13-10
XML Schema
 XML schema language
 Specifies document structure
 Same syntax rules as XML documents
 Elements, attributes, keys, references, and
identifiers
 Example: Figure 13.5 in the text

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 11


XML Schema (cont’d.)
 XML namespace
 Defines set of commands that can be used
 Annotations, documentation, and language used
 Elements and types
 Root element
 First-level elements
 Specifying element type and min and max
occurrences

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 12


XML Schema (cont’d.)
 Keys
 Constraints that correspond to relational database
 Primary key
 Foreign key
 Complex elements
 xsd:complexType
 Composite (compound) attributes

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 13


13.4 Storing and Extracting XML
Documents from Databases
 Use file system or DBMS to store documents as
text
 Use DBMS to store document contents as data
elements
 Design specialized system to store XML data
 Create or publish custom XML documents from
preexisting relational databases
 This approach explored further in 13.6

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 14


13.5 XML Languages
 Query language standards
 XPath
 XQuery
 Specifying XPath expressions in XML
 Returns sequence of items satisfying certain
pattern
 Values, elements, or attributes
 Qualifier conditions
 Separators
 Single slash / or double slash //

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 15


XPath (cont’d.)
 Example
 For COMPANY.XML document stored at location
www.company.com/info.XML
 doc(www.company.com/infor.XML)/company
returns company root node and all descendant
nodes

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 16


XPath (cont’d.)

Figure 13.6 Some examples of XPath expressions on XML


documents that follow the XML schema file company in Figure13.5.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13-17


XQuery: Specifying Queries in XML
 FLWOR expression

 Variables preceded with $


 For assigns variable to a range
 Where specifies additional conditions
 Order by specifies order of result elements
 Return specifies elements for retrieval
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 18
XQuery: Specifying Queries in XML
 Example

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 19


Other Languages and Protocols
Related to XML
 Extensible Stylesheet Language (XSL)
 Extensible Stylesheet Language for
Transformations (XSLT)
 Web Services Description Language (WSDL)
 Simple Object Access Protocol (SOAP)
 Resource Description Framework (RDF)

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 20


13.6 Extracting XML Documents from
Relational Databases
 XML uses hierarchical (tree) model
 Common database model is flat relational
database
 Conceptually represent using ER schema
 University example (follows)
 Choices for root: course, student, section

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 21


University Example

Figure 13.8 An ER schema diagram for a simplified UNIVERSITY database


Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 22
University Example (cont’d.)

Figure 13.9 Subset of the UNIVERSITY database schema needed for


XML document extraction

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 23


University Example (cont’d.)

Figure 13.10 Hierarchical (tree) view with ‘COURSE’ as the root

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 24


University Example (cont’d.)

Figure 13.11 XML schema with ‘COURSE’ as the root


Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 25
University Example (cont’d.)

Figure 13.12 Hierarchical (tree) view with ‘STUDENT’ as the root

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 26


University Example (cont’d.)

Figure 13.13 XML schema document with ‘STUDENT’ as the root

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 27


Breaking Cycles to Convert Graphs
into Trees

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 28


Other Steps for Extracting XML
Documents from Databases
 Create SQL query to extract desired information
 Execute the query
 Restructure from flat to tree structure
 Customize query to select single or multiple
objects into the document

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 29


13.7 XML/SQL: SQL Functions for
Creating XML Data
 XMLELEMENT
 Specifies tag (element) name that will appear in
XML result
 XMLFOREST
 Specifies multiple element names
 XMLAGG
 Aggregate several elements
 XMLROOT
 Selected elements formatted as XML document
with single root element
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 30
XML/SQL: SQL Functions for
Creating XML Data (cont’d.)
 XMLATTRIBUTES
 Creates attributes for the elements of the XML
result
 Example: create XML element containing the
EMPLOYEE lastname for the employee with SSN
123456789

 Result:
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 31
Employee Example (Query 2)
 To retrieve multiple columns for a single row:

 Result:

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 32


Employee Example (Query 3)
 To create XML document with last name, first
name, and salary of employees from Dept. 4:

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 33


Employee Example (Query 3 cont’d.)
 Result:

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 34


13.8 Summary
 Structured, semistructured, and unstructured data
 Hierarchical data model of XML standard
 Languages for specifying structure
 XML DTD and XML schema
 Approaches for storing XML documents
 XPath and XQuery languages
 Mapping issues
 SQL/XML allows formatting query results as XML
data

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 13- 35

You might also like