XML:DB Home

Index
Requirements
Working Draft
API Use Cases

JavaDoc
Repository

Mail List
Mail Archive
Authors
Lars Martin - lars@smb-tec.com
Status
Working Draft - 2000-11-17
Notice
This is an XML:DB Working Draft for review by all interested parties. It is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Working Drafts as reference material or to cite them as other than "work in progress". This work is part of the XML:DB Project.
Abstract
This document specifies goals and requirements for the XML:DB XML Database API.

Table of Contents


1 XML Database API Requirements
    1.1 Goals
    1.2 Requirements
        1.2.1 General Requirements
        1.2.2 API Functionality

Appendices

A Changes made to Previous Versions
    A.1 March 2, 2000
    A.2 November 17, 2000
B Normative References
C Other References


XML Database API Requirements

Goals

The goal of the XML:DB Initiative is to develop an Application Programming Interface (API) for XML Databases. To provide a wide usability the API must be specified as vendor-neutral. Furthermore it is the goal to use the API with any programming language. Using existing W3C publications the API specification includes as much as possible established recommendations.


Requirements

The following key words are used throughout the document to specify the extent to which an item is a requirement for the work of the XML Database API Working Group:

  • MUST - This word means that the item is an absolute requirement.
  • SHOULD - This word means that there may exist valid reasons not to treat this item as a requirement, but the full implications should be understood and the case carefully weighed before discarding this item.
  • MAY - This word means that an item deserves attention, but further study is needed to determine whether the item should be treated as a requirement.
  • General Requirements

  • Language Independence - The API MUST NOT preclude the usage with more than one language binding.
  • Textual Interface - The API MUST provide a textual representation of XML result sets.
  • XML-API Interface - The API SHOULD provide a SAX or DOM based representation of XML result sets.

  • API Functionality

  • Insertion - The API MUST be able to store new Documents into the database. An optional unique identifier MAY be assigned to this document.
  • Retrieval - The API MUST provide the ability to retrieve Documents from the database. The Document MUST be identified by a unique ID.
  • Deletion - The API MUST be able to delete Documents from the Database. The Document MUST be identified by a unique ID.
  • Update - The API MUST provide the ability to update Documents. The Document MUST be identified by a unique ID.
  • Query Processing - The API MUST provide the ability to process queries. The query facility MUST NOT assume the existence of a particular Query Language.
  • Collections - The API MUST provide the ability to support nested collections of Documents.
  • Transactions - The API MAY provide a transactional environment.



  • Changes made to Previous Versions

    March 2, 2000

    • Cleaned up wording and corrected typos

    November 17, 2000

    • IDs are no longer required attributes to identify documents for insertion
    • completed some missing requirements


    Normative References

    • [XML] "Extensible Markup Language (XML) 1.0", Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, 10 February 1998
    • [SAX] "Simple API for XML (SAX) 2.0", David Megginson, May 5, 2000
    • [DOM] "Document Object Model (DOM) Level 2 Core Specification", Arnaud Le Hors, Philippe Le Hegaret, Lauren Wood, November 13, 2000

    Other References

    • [XUpdate] "XUpdate XML Update Language", XML:DB XUpdate Working Group, 2000
    • [XML Query] "XML Query Requirements", W3C XML Query Working Group, 2000


    Copyright © 2000-2003 The XML:DB Initiative. All Rights Reserved.