W3C

XML Processing Model Use Cases and Requirements

W3C Working Group Note 11 January 2006

This version:
http://www.w3.org/TR/2004/NOTE-xproc-requirements-20060111/
Latest version:
http://www.w3.org/TR/xproc-requirements/
Editors:
Dmitry Lenkov, Oracle Corporation <dmitry.lenkov@oracle.com>
Norman Walsh, Sun Microsystems, Inc. <Norman.Walsh@Sun.COM>
Alex Milowski, Invited Expert <alex@milowski.com>

This document is also available in these non-normative formats: XML.


Abstract

This document contains requirements for the development of XML Processing Model and Language, which are intended to describe and specify the processing relationships between XML resources.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is a Working Group Note of the Requirements Document for an XML Processing Model and Language for describing an interoperable way for applications to describe the order in which processes should be applied to XML documents.

This document has been produced by the W3C XML Processing Model Group as part of the XML Activity and is an continuation of the work done by the XML Core Working Group. This document supercedes their requirement document note.

Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document has been produced under the 24 January 2002 CPP as amended by the W3C Patent Policy Transition Procedure. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) with respect to this specification should disclose the information in accordance with section 6 of the W3C Patent Policy. Documentation of intellectual property possibly relevant to this specification may be found at the Working Group's public IPR disclosure page.

Table of Contents

1 Introduction
2 Design Principles
3 Terminology
4 Requirements
    4.1 Address Practical Interoperability Concerns
    4.2 Small and Simple Language
    4.3 Allow Control Over Inputs, Outputs, and Parameters
5 Use cases
    5.1 Extracting MathML
    5.2 Style an XML Document in a Browser
    5.3 Apply a Sequence of Operations


1 Introduction

A large and growing set of specifications describe processes operating on XML documents. Many applications will depend on the use of more than one of these specifications. Considering how implementations of these specifications might interact raises many issues related to interoperability. This specification contains requirements on an XML Processing Model and Language for the description of XML process interactions in order to address these issues. This specification is concerned with the conceptual model of XML process interactions, the language for the decription of these interactions, and the inputs and outputs of the overall process. This specification is not generally concerned with the implementations of actual XML processes participating in these interactions.

2 Design Principles

The design principles described in this document are guiding ideals for both the requirements and use cases as well as the future specifications produced to satisfy this document.

  1. Infoset Processing: Any XML document in this specification is operated on as an information set. Processes may consume or produce information sets to inspect, augment, extract, or produce new informations.

  2. Technology Neutral: Applications should be free to implement XML processing using appropriate technologies such as SAX, DOM, or other infoset representations.

3 Terminology

Do we want a terminology section where we introduce common terms that exist in current XML pipeline/processing languages?

4 Requirements

This list would be replaced with the longer version of the sections.

4.1 Address Practical Interoperability Concerns

We'd describe the requirement in more detail here...

Supporting use cases:

4.2 Small and Simple Language

We'd describe the requirement in more detail here...

Supporting use cases:

4.3 Allow Control Over Inputs, Outputs, and Parameters

We'd describe the requirement in more detail here...

Supporting use cases:

5 Use cases

This list would be replaced with the longer version of the sections.

5.1 Extracting MathML

Each use case would explain the inputs, outputs, and sequence of processing steps. A diagram would be nice too.

5.2 Style an XML Document in a Browser

Each use case would explain the inputs, outputs, and sequence of processing steps. A diagram would be nice too.

5.3 Apply a Sequence of Operations

Each use case would explain the inputs, outputs, and sequence of processing steps. A diagram would be nice too.