Storing xml
1 / 66

Storing XML - PowerPoint PPT Presentation

  • Updated On :

Storing XML. Sihem Amer-Yahia AT&T Labs - Research. What’s XML?. W3C Standard since 1998 Subset of SGML (ISO Standard Generalized Markup Language) Data-description markup language HTML text-rendering markup language De facto format for data exchange on Internet Electronic commerce

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Storing XML' - kiral

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Storing xml l.jpg

Storing XML

Sihem Amer-Yahia

AT&T Labs - Research

What s xml l.jpg
What’s XML?

  • W3C Standard since 1998

    • Subset of SGML

    • (ISO Standard Generalized Markup Language)

  • Data-description markup language

    • HTML text-rendering markup language

  • De facto format for data exchange on Internet

    • Electronic commerce

    • Business-to-business (B2B) communication

Storing XML

Xml a wire protocol l.jpg
XML: A Wire Protocol

  • XML = A minimal wire representation for data and storage exchange

    • A low-level wire transfer format – like IP in networking

  • Minimal level of standardization for distributed components to interoperate

    • Platform, language and vendor agnostic

    • Easy to understand and extensible

  • Data exchange enabled via XML transformations

Storing XML

Core xml technologies l.jpg
Core XML Technologies

  • XML Validation: Contract for Data Exchange

    • DTD, Relax N/G, XML Schema

  • XML API: Programmatic Access to XML

    • DOM, SAX

  • Transformation Languages for Data Exchange and Display

    • XSL, XSLT, XPATH, XQuery

Storing XML

Xml data model highlights l.jpg
XML Data Model Highlights

  • Tagged elements describe semantics of data

    • Easier to parse for a machine and for a human

  • Element may have attributes

  • Element can contain nested sub-elements

  • Sub-elements may themselves be tagged elements or character data

  • Tree structure

    • Can capture any data-model

    • Easier to navigate

Storing XML

An xml document l.jpg
An XML Document

<? xml version=" 1.0"?>

<! DOCTYPE sigmodRecord SYSTEM “sigmodRecord. dtd">



<volume> 1</ volume>

<number> 1</ number>



<title> XML Research Issues</ title>

<initPage> 1</ initPage>

<endPage> 5</ endPage>


<author AuthorPosition=" 00"> Tom Hanks</ author>

</ authors>

</ article>

</ articles>

</ issue>

Storing XML

Document type definition dtd l.jpg
Document Type Definition (DTD)

  • An XML document may have a DTD

  • Grammar for describing document structure

  • Terminology

    • well-formed: if tags are correctly closed

    • valid: if it has a DTD and conforms to it

  • Validation useful for data exchange

Storing XML

W3c xml schema l.jpg
W3C XML Schema

  • Rich set of scalar types

  • user-defined simple types

  • Complex types factor common structure

  • Sequences, choice, repetition, recursion of elements

  • Sub-typing supports schema reuse

  • Integrity constraints

Storing XML

Dtd vs xml schema l.jpg
DTD vs XML Schema

  • DTD

    <! ELEMENT article (title, initPage, endPage, author) >

    <! ELEMENT title (# PCDATA)>

    <! ELEMENT initPage (# PCDATA)>

    <! ELEMENT endPage (# PCDATA)>

    <! ELEMENT author (# PCDATA)>

  • XML Schema

    <xsd: element name=" article" minOccurs=" 0" maxOccurs=" unbounded">

    <xsd: complexType>

    <xsd: sequence>

    <xsd: element name=" title" type=" xsd: string"/>

    <xsd: element name=" initPage" type=" xsd: string"/>

    <xsd: element name=" endPage" type=" xsd: string"/>

    <xsd: element name=" author" type=" xsd: string"/>

    </ xsd: sequence>

    </ xsd: complexType>

    </ xsd: element>

Storing XML

Xml api dom l.jpg

  • Hierarchical (tree) object model for XML documents

  • Associate a list of children with every node (or text value)

  • Preserves sequence of elements in XML document

  • May be expensive to materialize for a large XML collection

Storing XML

Dom features l.jpg
DOM Features

  • DOM API supports:

    • Navigation: access all attribute nodes, children, first/last child, next/previous sibling, parent,…

    • Creation: create new node

    • Modification: append, insert, remove, replace node

  • DOM parser support for validation

    • Most support DTD

    • Some support XML Schema

    • See :

Storing XML

Xml api sax l.jpg

  • Event-driven: fire an event for every open tag/end tag

  • Does not require full parsing: reads XML document in streaming fashion

  • Read-only interface

  • Consumes less memory than DOM

  • Could be significantly faster than DOM

Storing XML

Sax features l.jpg
SAX Features

  • Stack-oriented (LIFO) access

    • Read-once processing of very large documents

    • E.g., load XML document into a storage system

  • SAX parser support for validation

    • Most support DTD

    • Microsoft XML Parser (MSXML) supports XML Schema

Storing XML

Slide14 l.jpg

  • Styling is rendering information for consumption

  • XSL = A language to express styling (“Stylesheet language”)

  • Two components of a stylesheet

    • Transform: Source to a target tree using template rules expressed in XSLT

  • Format: Controls appearance

Storing XML

Slide15 l.jpg

  • XPATH acts as the pattern language

  • Primary goal is to transform XML vocabularies to XSL formatting vocabularies

  • But, often adequate for many transformation needs

Storing XML

Xpath l.jpg

  • []

  • Common sub-language of

    • XSLT a loosely-typed, "scripting" language

    • XQuery a strongly-typed, query language

  • Syntax for tree navigation and node selection

  • Navigation is described using location paths

Storing XML

Xpath17 l.jpg

  • . : current node

  • .. : parent of the current node

  • / : root node, or a separator between steps in a path

  • // : descendants of the current node

  • @ : attributes of the current node

  • * : "any“ (node with unrestricted name)

  • [] : a predicate for a given step

  • [n] : the element with the given ordinal number from a list of elements

Storing XML

Xpath 2 0 l.jpg

  • Arithmetic Expr+,-,*,div,modExpr

  • Logical Expror/andExprnot(Expr)

  • Comparison Expr=,!=,<=,>= Expr

  • Conditional if Expr then Expr else Expr

  • IterationforVarinExprreturnExpr

  • Quantifiedsome/everyVarinExprsatisfiesExpr

Storing XML

Xpath example l.jpg
XPATH Example

  • List the titles of articles in which the author has “Tom Hanks”

    • //article[//author=“Tom Hanks”]/title

  • Find the titles of articles authored by “Tom Hanks” in volume 1.

    • //issue[/volume=“1”]/articles/article/[//author=“TomHanks”]/title

Storing XML

Beyond xpath l.jpg
Beyond XPATH

  • Joining, aggregating XML from multiple documents

  • Constructing new XML

  • Recursive processing of recursive XML data

  • Supported by XSLT & XQuery

  • Differences between XSLT & XQuery

    • Safety: XQuery enforces input & output types

    • Compositionality : XQuery maps XML to XML; XSLT maps XML to anything

Storing XML

Xquery l.jpg

  • Functional language

  • Query is an expression

  • Expressions are recursively constructed

  • Includes XPATH as a sub-language

  • SQL-like FLWR expression

  • Borrows features from many other languages: XQL, XML-QL, ML,..

Storing XML

Xquery flwr expression l.jpg
XQuery: FLWR expression

  • FOR/LET Clauses

    • Ordered list of tuples of bound variables

  • WHERE Clause

    • Pruned list of tuples of bound variables

  • RETURN Clause

    • Instance of XML Query data model

Storing XML

Xquery example l.jpg
XQuery: Example

List the titles of the articles authored by “Tom Hanks”

Query Expression

for $b IN document(“sigmodRecord.xml")//article

where $b//author =“Tom Hanks"

return <title>$b/title.text()</title>

Query Result

<title>XML Research Issues</title>

Storing XML

Xquery example24 l.jpg
XQuery: Example

List the articles authored by “Tom Hanks”.

Query Expression



for $b IN document(“sigmodRecord.xml")//article

where $b//author =“Tom Hanks"

return $b



Query Result



<title>XML:Where are we heading for?</title>



<authors><author AuthorPosition="00">Tom Hanks</author>




Storing XML

Where s the xml data l.jpg







Where’s the XML Data?



Legacy databases


Warehouse XML data


Minimal result

Storing XML

Xml and databases l.jpg
XML and Databases

  • Data stored in SQL databases need to be published in XML for data exchange

    • Specification schemes for publishing needed

    • Efficient publishing algorithms needed

  • Storage and retrieval of XML documents

    • Need to support mapping schemes

    • Need to support data manipulation XML API-s

Storing XML

Storing xml27 l.jpg
Storing XML

  • Storage foundation of efficient XML processing

  • XML demands own storage techniques

    • Characteristics of XML data:

      Optional elements & values, repetition, choice, inherent order, large text fragments, mixed content

    • Characteristics of XML queries:

      Document order & structure, full-text search, transformation

  • Goals of tutorial

    • Existing storage features for XML

    • New storage features for XML

Storing XML

Outline l.jpg

  • Introduction

    • XML Documents

    • XML Queries

  • Existing Storage Techniques

    • Non-native

    • Native

  • Physical Storage Features for XML

Storing XML

I introduction l.jpg
I. Introduction

Storing XML

Classes of xml documents l.jpg
Classes of XML Documents

  • Structured

    • “Un-normalized” relational data

      Ex: product catalogs, inventory data, medical records, network messages, logs, stock quotes

  • Mixed

    • Structured data embedded in large text fragments

      Ex: On-line manuals, transcripts, tax forms

  • Application may process XML in both classes

    Ex: SOAP messages

    Header is structured; payload is mixed

Storing XML

Structured data hl7 lab report l.jpg
Structured Data: HL7 Lab Report

Health-care industry data-exchange format



<PID IDNum="PATID1234">





<OBX SetID="1">



<AbnFl>Above high</AbnFl>



Storing XML

Queries on structured data l.jpg
Queries on Structured Data

  • Analogs of SQL

  • Select-Project-Join, Sort by value

    Ex: Return admission records of patients discharged on 8/30/01 sorted by family and given names

  • Grouping & schema transformation

    Ex: Return per-patient record of admission, lab reports, doctors’ observations

Storing XML

Mixed data library of congress l.jpg
Mixed Data: Library of Congress

Documents of U.S. Legislation

<bill bill-stage="Introduction"">

<congress>110th CONGRESS</congress>

<session>1st Session</session>

<legis-num>H.R. 133</legis-num>

<current-chamber>IN THE HOUSE OF REPRESENTATIVES</current-chamber>

<action date="June 5, 2008">


<sponsor>Mr. English</sponsor> (for himself and <cosponsor>Mr.Coyne</cosponsor>) introduced the following

bill; which was referred to the <committee-name>Committee on Financial Services</committee-name> ...


Storing XML

Queries on mixed data l.jpg
Queries on Mixed Data

  • Full-text search operators

    Ex: Find all <bill>s where "striking" & "amended" are within 6 intervening words

  • Queries on structure & text

    Ex: Return <text> element containing both "exemption" & "social security" and preceding & following <text> elements

  • Queries that span (ignore) structure

    Ex: Return <bill> that contains “referred to the Committee on Financial Services”

Storing XML

Properties of xml data l.jpg
Properties of XML Data

  • Variance in structured content

    • Elements of same type have different structure

  • Nested sub-element might depend on parent

    • Direct access to sub-element not required

  • Order significant in sequence & mixed content

  • Structured data embedded in text

    • Schema known a priori or “open content model”

  • Desirable: explicit support in storage system

Storing XML

Properties of queries l.jpg
Properties of Queries

  • Query expressions depend on data properties

    • Variance


    • Document order: XPath axes

      • /bill/co-sponsor[./text() = “Mrs.Clinton” and follow-sibling::co-sponsor/text() = “Mr. Torricelli”]

    • Node identity: equality, union/intersect/except

  • If not supported in storage system, then operators semantically incorrect or incomplete.

Storing XML

Storage techniques l.jpg
Storage Techniques

  • Non-native

    • (Object) Relational, OO, LDAP directories

    • Indexing, recovery, transactions, updates, optimizers

    • Mapping from XML to target data model necessary

      • Captures variance in structured content

      • No support for mixed content

    • Recovering XML documents is expensive!

  • Native

    • Logical data model is XML

    • Physical storage features designed for XML

Storing XML

Non native techniques l.jpg
Non-native Techniques

  • Generic

    • Mapping from XML data to relational tables

    • Models XML as tree: semi-structured approach

    • Does not use DTD or XML Schema

  • Schema-driven

    • Mapping from schema constructs to relational

    • Fixed mapping from DTD to relational schema

    • Flexible mapping from XML Schema to relational

  • User-defined

    • Labor-intensive

Storing XML

Generic mappings l.jpg
Generic Mappings

  • Edge relation

    • store all edges in one table

    • Scalarvalues stored in separate table

  • Attribute relations

    • horizontal partition of Edge relation

    • Scalar values inlined in same table

  • Universal relation

    • full outer-join, redundancy

  • Captures node identity & document order

  • Element reconstruction requires multiple joins

Storing XML

Edge relation example l.jpg
Edge Relation Example







&3 &4 …

@IDNum PaNa DTofBi

&5 &6 &7

PATID1234 “Jones Wm” date



Edge Table

Value Table

Storing XML

Generic mappings ldap directories l.jpg
Generic Mappings: LDAP Directories

  • Flexible schema; easy schema evolution

    • Supports heterogeneous elements with optional values

  • Captures node identity & document order

  • Query language captures subset of XPath

Storing XML

Ldap example l.jpg
LDAP Example

XMLElement OC {






XMLAttribute OC {








order: 1


@IDNum PaNa DTofBi Sex



name: PaNa

order: 1

value: Jones Wm



name: IDNum

value: PATID1234

“PATID1234” “Jones Wm” date M


Storing XML

Schema driven mappings l.jpg
Schema-driven Mappings

  • Repetition : separate tables

  • Non-repeated sub-elements may be “inlined”

  • Optionality : nullable fields

  • Choice : multiple tables or universal table

  • Order : explicit ordinal value

  • Mixed content ignored

  • Element reconstruction may require multi-table joins because of normalization

Storing XML

Fixed mapping hybrid inlining l.jpg
Fixed Mapping: Hybrid Inlining


<!ELEMENT OBX (Name, Value) >






Name Value



  • Element with in-degree = 0 or > 1 in DTD graph  relation

  • Elements with in-degree = 1 inlined except those reached by *

  • Non-* & non-recursive elements with in-degree > 1 inlined

Storing XML

Flexible mapping legodb l.jpg
Flexible Mapping : LegoDB

  • Canonical mapping from XML Schema to relational

    • Every complex type  relation

  • Semantic-preserving XML Schema to XML Schema transformations

    Ex: Inlining/outlining, Union factorization/distribution, Repetition split

  • Greedy algorithm for choosing mapping

    • Mapping cost determined by query mix

    • Use relational optimizer to estimate cost of mapping

Storing XML

Legodb example l.jpg
LegoDB Example

  • Inline type in parent vs. Outline type in own relation

type OBX = element value { Integer }, type Description

type Description = element description { String }


type OBX = element value { Integer }, element description { String }


TABLE Description (Description_id INT, description STRING, parent_OBX INT)


TABLE OBX (OBX_id INT, value STRING, description STRING, parent_PATIENT INT)

Storing XML

User defined mappings l.jpg
User-Defined Mappings

  • No automatic translation from DTD or XML Schema

  • Annotated schemas or special-purpose queries

  • Value-based semantics only

    • Document structure represented by keys/foreign keys

  • No explicit representation of document order or node identity

  • Some support for mixed content

Storing XML

Oracle 9i l.jpg
Oracle 9i

  • Canonical mapping into user-defined object-relational tables

  • Arbitrary XML input

    • XSLT preprocessing into multiple XML documents, load individually

  • Stores XML documents in CLOBs (character large objects)

    • Permits full-text search

  • Hybrid of canonical mapping & CLOB







table PERSON(Name NAME, Alist ALIST)


table ALIST of ADDR

object ADDR(City CITY)

Storing XML

Ibm db2 xml extender l.jpg
IBM DB2 XML Extender

  • Declarative decomposition of arbitrary XML

    • Pure relational mapping (no object features used)

      <element_node name="Order">

      <table name="order_tab"/>

      <table name="part_tab"/>


      order_tab.order_key = part_tab.order_key


      <attribute_node name="key">

      <table name="order_tab"/>

      <column name="order_key"/>



  • Mixed content

    CLOBs + side tables for indexing structured data embedded in text

Storing XML

Ms sql server l.jpg
MS SQL Server

  • Generic Edge technique with inlined scalar values

  • User-defined decomposition of XML into multiple tables

    • XML data mapped into DOM

    • XPath expressions specify XML values to map into tables

    • Rows in table

      Ex:/Customer/Orders  row in Table ORDER

    • Columns in row

      ./OrderDate  OrderDateColumn

  • Text content modeled in CLOBs

Storing XML

Native techniques l.jpg
Native Techniques

  • Built from scratch

    • NatiX (University of Mannheim, Germany)

    • Xyleme (France)

    • Xindice (Apache – open source)

  • Re-tool existing systems to handle XML

    • Tamino: hierarchical database (ADABAS)

    • Excelon: OODB

  • Design efficient data structures for compact storage and fast access; data partitioning; indexing on both values and structure

Storing XML

Natix l.jpg

  • Unit of storage = element

  • Elements clustered to minimize page hits

  • Inter-element pointers capture document structure

  • Low-level algorithmic support for read/write/insert/delete operations

  • No use of DTDs or XML Schema

Storing XML

Xyleme l.jpg

  • Data layout: based on NatiX

  • Indexing: sophisticated indexing of text and elements

  • Query support: XPATH, XQuery, updates

  • A data warehouse for XML content: store, classify, index, integrate, query and monitor massive volumes of XML content

  • Semantic services: extensible thesauri and schema mappers that enable the system to go beyond simple indexing

Storing XML

Xyleme natix l.jpg

Storing XML

Excelon xis l.jpg
eXcelon XIS

  • Extends Object Store – an object-oriented database

  • Data Layout: stores parsed nodes (accessible through DOM interface)

  • Indexing: value indexes for strings and numbers; text indexes; structural indexes

  • Query Support: DOM, XSLT, XPath, XQuery, updates

  • Other features:

    • Node-level management

      • Data is stored in a pre-parsed format: only data objects needed for an operation are loaded into memory

      • Create, add, delete, update elements directly

    • Handles arbitrary XML documents - without Schema or DTD

      • But can enforce schemas if necessary

    • Triggers; transactions; distributed caching mechanism

Storing XML

Software a g tamino l.jpg
Software A/G Tamino

  • Extends Adabas – nested relations

  • Indexing: value and structure

  • Query support:

    • Full-text search operators

    • Queries return entire document or some projection of document

    • No construction of new XML values (Ex: XQL)

  • Access control at the node level, transactions; multi-media; triggers; backup/restore; compression; support for multi-media documents, e.g., video

Storing XML

Other native systems l.jpg
Other Native Systems

  • Xindice

    • Query support: XPath for its query language and XML:DB XUpdate for its update language

    • APIs: XML:DB API for Java development; other languages using an available XML-RPC plugin

  • GoXML

    • XQuery, full text searching

    • tree insert, replace and delete

Storing XML

Update support l.jpg
Update Support

  • XQuery does not support updates (yet…)

  • How to update?

    • Flat streams: overwrite document

    • Non-native: SQL

    • Native: DOM, proprietary APIs

  • But how do you know you have not violated schema for which the mapping was defined?

    • Flat streams: re-parse document

    • Non-native: need to understand the mapping and maintain integrity constraints

    • Native: supported in some systems (e.g., eXcelon)

Storing XML

Summary l.jpg

  • Non-native

    • Treats target system as black box

    • Mismatch between data models requires mapping

    • Supporting order-sensitive queries can be expensive

    • May require changes to schema to support new tags

    • Introduces redundancies & necessity of joins

    • No control of physical layout of data

  • Native

    • No mismatch between logical data models

    • Focus on physical layout (clustering, indices, …)

    • Extensible - no schema or DTD needed

Storing XML

Conclusion l.jpg

  • XML data requires new storage features

    • Real-applications depend upon XML data properties

    • Normalization is not always appropriate

  • Schema of XML data should drive storage

    • Real-world data comes with its own schema

    • Schema as a basis for querying

  • Handling mixed content is an important research problem

  • Full version slides at

Storing XML

More resources l.jpg
More Resources

  • W3C Documents

  • W3C XML Query page

  • XML Query Implementations & Demos

    Galax - AT&T, Lucent, and Avaya

    Quip - Software AG

    XQuery demo – Microsoft

    Fraunhofer IPSI XQuery Prototype

    XQengine – Fatdog



Storing XML

References research l.jpg

Serge Abiteboul,Sophie Cluet,Tova Milo: Querying and Updating the File. VLDB 1993

D. Barbosa,A. Barta,A. Mendelzon,G. Mihaila, F. Rizzolo, P. Rodriguez-Gianolli: ToX – The Toronto XML Engine, International Workshop on Information Integration on the Web, Rio de Janeiro, 2001.

Phil Bohannon, Juliana Freire, Prasan Roy, Jérôme Siméon: From XML Schema to Relations: A cost-based Approach to XML Storage. ICDE 2002

Michael J. Carey,Jerry Kiernan, Jayavel Shanmugasundaram, Eugene J. Shekita, Subbu N. Subramanian: XPERANTO: Middleware for Publishing Object-Relational Data as XML Documents.VLDB 2000

Qiming Chen, Yahiko Kambayashi: Nested Relation Based Database Knowledge Representation. SIGMOD Conference 1991

Vassilis Christophides, Sophie Cluet, Jérôme Siméon: On Wrapping Query Languages and Efficient XML Integration. SIGMOD Conference 2000: 141-152

Alin Deutsch, Mary F. Fernandez, Dan Suciu: Storing Semistructured Data with STORED. SIGMOD Conference 1999

Daniela Florescu, Donald Kossman: A Performance Evaluation of Alternative Mapping Schemes for Storing XML Data in a Relational Database. IEEE Data Eng. Bulletin 1999

Minos N. Garofalakis, Aristides Gionis, Rajeev Rastogi, S. Seshadri, Kyuseok Shim: XTRACT: A System for Extracting Document Type Descriptors from XML Documents. SIGMOD Conference 2000

Roy Goldman, Jennifer Widom: DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases. VLDB 1997

References (Research)

Storing XML

References research64 l.jpg

P.J. Marron, G. Lausen: On Processing XML in LDAP, VLDB 2001

Carl-Christian Kanne, Guido Moerkotte: Efficient Storage of XML Data. Technical Report 8/99, University of Mannheim, 1999

Feng Tian, David J. DeWitt, Jianjun Chen, and Chun Zhang: The Design and Performance Evaluation of Various XML Storage Strategies, Technical report, University of Wisconsin

Masatoshi Yoshikawa, Takeyuki Shimura, Shunsuke Uemura: XRel: A Path-Based Approach to Storage and Retrieval of XML Documents Using Relational Databases

Chun Zhang, Jeffrey F. Naughton, David J. DeWitt, Qiong Luo, Guy M. Lohman: On Supporting Containment Queries in Relational Database Management Systems. SIGMOD 2001

Justin Zobel, James A. Thom,Ron Sacks-Davis: Efficiency of Nested Relational Document Database Systems. VLDB 1991

References (Research)

Storing XML

References w3c l.jpg

W3C Recommendation. Extensible Markup Language (XML) 1.0 (Second Edition) In 2000

W3C Recommendation. Namespaces in XML In 1999

W3C Working Draft. XML Path Language (XPath) 2.0. In 2001

W3C XML representation of a relational database In html

W3C Recommendation.XML Schema Part 0: Primer In 2001

W3C Recommendation. XML Schema Part 1: Structures In 2001

W3C Recommendation. XML Schema Part 1: Datatypes In 2001

W3C Recommendation. XSL Transformations (XSLT) 1.0. In 1999

W3C Working Draft. XQuery 1.0: An XML Query Language In 2001

References (W3C)

Storing XML

References products l.jpg
References (Products) (Second Edition) In

  • Ronald Bourret: XML Database Products: In, July 2001

  • Sandeepan Banerjee, Vishu Krishnamurthy, Muralidhar Krishnaprasad, Ravi Murthy: Oracle8i - The XML Enabled Data Management System. ICDE 2000

  • Oracle9i Application Developer's Guide – XML Release 1 (9.0.1)

  • eXcelon: Extensible Information Server White Paper. eXcelon Corporation, 2001

  • Josephine M.Cheng, Jane Xu: XML and DB2. ICDE 2000: 569-573

  • IBM DB2 Universal Database XML Extender Administration and Programming Version 7. 2001

  • Microsoft SQL Server Books Online

  • Michael Rys: Bringing the Internet to Your Database:Using SQLServer 2000 and XML to Build Loosely-Coupled Systems. ICDE 2001: 465-472

Storing XML