Storing xml
Download
1 / 66

Storing XML - PowerPoint PPT Presentation


  • 249 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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">

<sigmodRecord>

<issue>

<volume> 1</ volume>

<number> 1</ number>

<articles>

<article>

<title> XML Research Issues</ title>

<initPage> 1</ initPage>

<endPage> 5</ endPage>

<authors>

<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
XML API: DOM

  • 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 : http://www.w3.org/XML/Schema

Storing XML


Xml api sax l.jpg
XML API: SAX

  • 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
XSL

  • 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
XSLT

  • 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
XPATH

  • [www.w3.org/TR/xpath]

  • 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
XPATH

  • . : 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
XPATH 2.0

  • 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
XQuery

  • 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

<articles>

{

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

where $b//author =“Tom Hanks"

return $b

}

</articles>

Query Result

<articles>

<article>

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

<initPage>6</initPage>

<endPage>10</endPage>

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

</authors>

</article>

</articles>

Storing XML


Where s the xml data l.jpg

?

Business

Application

Logic

Wrap

SOAP/CORBA/Java RMI

Where’s the XML Data?

?

Export

Legacy databases

Import

Warehouse XML data

View

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
Outline

  • 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

<HL7>

<PATIENT>

<PID IDNum="PATID1234">

<PaNa><FaNa>Jones</FaNa><GiNa>William</GiNa></PaNa>

<DTofBi><date>1961-06-13</date></DTofBi>

<Sex>M</Sex>

</PID>

<OBX SetID="1">

<ObsVa>150</ObsVa>

<ObsId>Na</ObsId>

<AbnFl>Above high</AbnFl>

</OBX>

...

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">

<action-desc>

<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> ...

</action-desc>

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

      • /PATIENT/(SURGERY | CHECK-UP)

    • 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

&0

HL7

&1

PATIENT

&2

PID OBX

&3 &4 …

@IDNum PaNa DTofBi

&5 &6 &7

PATID1234 “Jones Wm” date

&8

1961-06-13

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 {

SUBCLASS OF {XMLNode}

MUST CONTAIN {order}

MAY CONTAIN {value}

TYPE order INTEGER

TYPE value STRING }

XMLAttribute OC {

SUBCLASS OF

{XMLNode}

MUST CONTAIN {value}

TYPE value STRING }

oc:XMLElement

oid:1

name:PID

order: 1

PID

@IDNum PaNa DTofBi Sex

oc:XMLElement

oid:1.2

name: PaNa

order: 1

value: Jones Wm

oc:XMLAttribute

oid:1.1

name: IDNum

value: PATID1234

“PATID1234” “Jones Wm” date M

1961-06-13

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 PATIENT (Name, (OBX)*)>

<!ELEMENT OBX (Name, Value) >

<!ELEMENT Name (#PCDATA) >

<!ELEMENT Value (#PCDATA) >

PATIENT

*

OBX

Name Value

PATIENT

OBX

  • 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 }

XML

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

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

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

Relational

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

<row>

<Person>

<Name><FN>…</FN><LN>…</LN>

<Addr><City>…</City></Addr>*

</Person>

</row>

table PERSON(Name NAME, Alist ALIST)

object NAME(FN STR, LN STR)

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"/>

      <condition>

      order_tab.order_key = part_tab.order_key

      </condition>

      <attribute_node name="key">

      <table name="order_tab"/>

      <column name="order_key"/>

      </attribute_node>

      </element_node>

  • 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
NatiX

  • 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
Xyleme

  • 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
Xyleme/Natix

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 http://xml.apache.org/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
Summary

  • 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
Conclusion

  • 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

    http://www.research.att.com/~sihem

Storing XML


More resources l.jpg
More Resources

  • W3C Documents http://www.w3.org/TR/

  • W3C XML Query page http://www.w3.org/XML/Query.html

  • XML Query Implementations & Demos

    Galax - AT&T, Lucent, and Avaya http://www-db.research.bell-labs.com/galax/

    Quip - Software AG http://www.softwareag.com/developer/quip/

    XQuery demo – Microsoft http://131.107.228.20/xquerydemo/

    Fraunhofer IPSI XQuery Prototype http://xml.ipsi.fhg.de/xquerydemo/

    XQengine – Fatdog http://www.fatdog.com/

    X-Hive http://217.77.130.189/xquery/index.html

    OpenLink http://demo.openlinksw.com:8391/xquery/demo.vsp

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 http://www.w3.org/TR/REC-xml. 2000

W3C Recommendation. Namespaces in XML In http://www.w3.org/TR/REC-xml-names. 1999

W3C Working Draft. XML Path Language (XPath) 2.0. In http://www.w3.org/TR/xpath20. 2001

W3C XML representation of a relational database In http://www.w3.org/XML/RDB. html

W3C Recommendation.XML Schema Part 0: Primer In http://www.w3.org/TR/xmlschema-0. 2001

W3C Recommendation. XML Schema Part 1: Structures In http://www.w3.org/TR/xmlschema1. 2001

W3C Recommendation. XML Schema Part 1: Datatypes In http://www.w3.org/TR/xmlschema-2. 2001

W3C Recommendation. XSL Transformations (XSLT) 1.0. In http://www.w3.org/TR/xslt. 1999

W3C Working Draft. XQuery 1.0: An XML Query Language In http://www.w3.org/TR/xquery. 2001

References (W3C)

Storing XML


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

  • Ronald Bourret: XML Database Products: In http://www.rpbourret.com/xml/XMLDatabaseProds.htm, 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


ad