The XML Standard
Overview of our XML Standards
So what is XML (all about)?
What’s Wrong with HTML?
...What’s Wrong with HTML...
... And Some Repercussions
XML is Based on Markup
Elements and their Content
Element Attributes
XML = Labeled Ordered Trees
In Search of the Lost Structure & Semantics
Adding Structure and Semantics
XML DTDs as Extended CFGs
Document Type Definitions (DTDs)
Element Declarations
Element Content Declarations
Attributes
Attribute Types
Uses of XML Entities
Types of Entities
Internal Text Entities
Unparsed (& "Binary") Entities
From Docs to Data: XML Schema
Sample Data for Introduction to XML Schema
The Simple “Russian Doll” Approach to XML Schema
The Catalog Approach to XML Schema: Stand-Alone Declarations & References
Catalog Approach Cont’d
Named Types
Groups: Named containers of sets of Elements or Attributes
Compositors: Sequence, Choice, All
Compositors (cont’d)
Derivation of Simple Types: Unions and Lists
Constraints: Uniqueness
Namespaces
Including Unknown Elements
Presenting XML: XSLT
XSLT Overview
XSLT Processing Model
Slide 40
Template Rule: Example
Match/Select Patterns
Creating the Result Tree...
Example of Turning XML into HTML
HTML Document in an XSL Template
Extracting the Member Name
Extracting a Value from an XML Document, Navigating the XML Document
Slide 48
Extract the FavoriteColor and use it as the bgcolor
Note
Extract the Home Phone Number
Slide 52
Creating the Result Tree: Repetition
Creating the Result Tree: Sorting
More on XSL
XQuery: Querying XML Sources
Path Expressions
More Path Expressions
Element Construction
Bibliography Example Data Set
Reviews Example Data Set
For-Let-Where-Return (FLWR)
Think (tuples of) variable bindings
Slide 64
Tuples
Boolean Expressions in WHERE
Joins
Relax Order Conditions
Nested queries
Conditionals
Existential and Universal Quantification
Functions
Applicability of XML Query Languages (Xquery)
XQuery on files, DOM objects, event streams, messages
Typical Scenario: XML Messaging
Summary of Steps
Slide 77
Direct XQuery on Databases
XQuery on Relational Databases
Slide 80
XQuery on Relational Databases
XQuery on Distributed Sources
Example: Access to Two Relational Databases
XQuery on Integrated Views
and using XQuery to build the view
View = Query