blob: 3b28fc96c8b89122b69873e4dfdcc06e62505df2 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" xml:lang="en" lang="en">
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Eclipse XSD - DRAFT 2.5.0 Plans</title>
<link rel="stylesheet" href="" type="text/css" />
<body lang="EN-US" xml:lang="EN-US">
<div class="Section1">
<h1>XML Schema Definition (XSD)
<br />
Draft 2.5.0 Plans</h1>
<p>Last revised <tt>$Date: 2008/07/11 18:01:34 $</tt> (
<img width="12" height="12" src="/modeling/images/green-box.gif"
border="0" />
marks interesting changes over previous plans).
<em>Please send comments about this draft
plan to the</em>
<a href=""></a>
<em>developer mailing list
<a href="news://"></a>
<p>This document lays out the feature and API set for the
next feature release, 2.5.0, of the XML Schema Definition (XSD) project.</p>
<ul type="disc">
<a href="#Deliverables">Release deliverables</a>
<a href="#Milestones">Release milestones</a>
<a href="#TargetOperatingEnvironments">Target operating
<a href="#Compatibility">Compatibility with previous
<a href="#Themes">Themes / Plan Items</a>
<a href="#Project">XSD Project</a>
<p>Plans do not materialize out of nowhere, nor are they
entirely static. To ensure the planning process is
transparent and open to the entire Eclipse community, plans
are posted in an embryonic form and then revised from time to
time throughout the release cycle.</p>
<p>The first part of the plan deals with the important
matters of release deliverables, release milestones, target
operating environments, and release-to-release compatibility.
These are all things that need to be clear for any release,
even if no features were to change.</p>
<p>The remainder of the plan consists of plan items for the
projects under the XSD project. Each
plan item covers a feature or API that is to be added, or
some aspect that is to be improved. Each plan item has its
own entry in the
<a href="">Eclipse bugzilla</a>
database, with a title and a concise summary (usually a
single paragraph) that explains the work item at a suitably
high enough level so that everyone can readily understand
what the work item is without having to understand the
nitty-gritty detail.</p>
<p>Not all plan items represent the same amount of work; some
may be quite large, others, quite small. Some plan items may
involve work that is localized to a single subsystem; others
may involve coordinated changes across several projects
within the same top-level project; and others may involve
coordination with other top-level projects. Although some
plan items are for work that is more pressing that others,
the plan items appear in no particular order.</p>
<p>With the previous release as the starting point, this is
the plan for how we will enhance and improve it. Fixing bugs,
improving test coverage, documentation, examples, performance
tuning, usability, etc. are considered routine ongoing
maintenance activities and are not included in this plan
unless they would also involve a significant change to the
API or feature set, or involve a significant amount of work.
The intent of the plan is to account for all interesting
feature work.</p>
<a name="Deliverables">
Release Deliverables</h2>
<p>The release deliverables are:</p>
<ul type="disc">
<li>Source code release for XSD is available in the <a href="">Modeling Project</a>
<a href="">CVS
XSD</a>. <ul><img width="12" height="12" src="/modeling/images/green-box.gif"
border="0" /> <b>NOTE:</b> In addition, source builds have been requested to better support linux distributions and legal code scanning.</ul></li>
<li>XSD runtime binaries and SDK distributions
(downloadable). <ul><img width="12" height="12" src="/modeling/images/green-box.gif"
border="0" /> <b>NOTE:</b> <a href="">This may be changing</a>, but is not yet committed to plan.</ul></li>
<li>XSD runtime binaries and SDK features on update site (install via Eclipse update
<a name="Milestones">
Release Milestones</h2>
<p>XSD builds are available weekly as <em>Integration
builds</em>. XSD Milestone Releases are <b>one business day</b> after the <a href="">Eclipse Milestone Releases</a>.
<p>Following the final milestone, release candidates will begin. XSD Release Candidates are planned to be released <b>one business day</b> after each
<!--<a href="">--><i style="color:gray">Eclipse Release Candidate</i> (forthcoming) <!--</a>-->.
This convergence is required to meet the goals of the <a href="">Ganymede Simultaneous Release</a>.</p>
<p>Scheduled release candidates should end in 2008Q2, and beyond that point, will be produced only as needed, leading up to a release in late 2008Q2.</p>
<a name="TargetOperatingEnvironments">
Target Operating Environments</h2>
<p>In order to remain current, each release of an Eclipse
project targets reasonably current versions of underlying
operating environments and other Eclipse projects on which it
<p>Most of Eclipse is "pure" Java
code and has no direct dependence on the underlying operating
system. The chief dependence is on the Eclipse Platform, and
on the Java 2 Platform that runs it.</p>
<p>The XSD 2.5.0 release depends on the
<ul type="disc">
<li>Java 2 Platform 5.0</li>
<li>Eclipse Platform 3.5.0</li>
<p>The 2.5.0 releases of XSD are designed to run
on any configuration supporting the above components.</p>
<p>The Eclipse Platform runs in a variety of operating
environments. Testing is focused on a handful of popular
combinations of operating system and Java 2 Platform; these
are our
<em>reference platforms</em>.
Eclipse undoubtedly runs fine in many operating
environments beyond the reference platforms we test. However,
since we do not systematically test them we cannot vouch for
them. Problems encountered when running Eclipse on
non-reference platform that cannot be recreated on any
reference platform will be given lower priority than problems
with running Eclipse on a reference platform.</p>
<p>See the
Eclipse Project 3.5 plan</a> for a list of reference platforms.</p>
<p>Eclipse is designed as the basis for internationalized
products. The user interface elements provided by the various
Eclipse projects, including dialogs and error messages, are
externalized. The English strings for XSD are
provided as the default resource bundles. Translations are
not provided with this release. However, the plug-in fragment
mechanism provides the means by which translations into any
number of other languages can be incorporated.</p>
<a name="Compatibility">
Compatibility with Previous Releases</h2>
<h3>Compatibility of Release 2.5.0 with 2.4.0</h3>
<p>XSD 2.5.0 will be compatible with XSD 2.4.0, except in those areas noted in the
<a href="#MigrationGuide">
<em>XSD 2.5.0 Migration Guide</em></a>.</p>
<b>API Contract Compatibility:</b>
XSD 2.5.0 will be upwards contract-compatible
with XSD 2.4.0 except in those areas noted in the
<a href="#MigrationGuide">
<em>XSD 2.5.0 Migration Guide.</em>
Programs that use affected APIs and extension points will
need to be ported to XSD 2.5.0 APIs. Downward
contract compatibility is not supported. There is no
guarantee that compliance with XSD 2.5.0 APIs
would ensure compliance with XSD 1.x APIs. Refer
Evolving Java-based APIs</a>
for a discussion of the kinds of API changes that maintain
contract compatibility.</p>
<b>Binary (plug-in) Compatibility:</b>
XSD 2.5.0 will be upwards binary-compatible with
XSD 2.4.0 except in those areas noted in the
<a href="#MigrationGuide">
<em>XSD 2.5.0 Migration Guide.</em>
Downward plug-in compatibility is not supported: plug-ins
compiled against XSD 2.5.0 will likely be
unusable with XSD 1.x. Refer to
Evolving Java-based APIs</a>
for a discussion of the kinds of API changes that maintain
binary compatibility.</p>
<b>Source Compatibility:</b>
Source files written to use XSD 2.4.0 APIs will
usually compile and run successfully against XSD
2.5.0 APIs, although this cannot be guaranteed.
In some cases, it may be necessary to make minor changes to the
source code to disambiguate things like imports or overloaded
method invocations. Downward source compatibility is not
supported. If source files use new APIs, they will not be
usable with earlier versions.</p>
<b>Workspace Compatibility:</b>
XSD 2.5.0 will be upwards
workspace-compatible with XSD 2.4.0 unless noted.
This means that workspaces and projects created by an Eclipse
with XSD 2.4.0 installed can be successfully
opened by an Eclipse with XSD 2.5.0 installed.
This includes both hidden metadata, which is localized to a
particular workspace, as well as metadata files found within
a workspace project, which may propagate between workspaces
via file copying or team repositories. User interface session
state may be discarded when a workspace is upgraded. Downward
workspace compatibility is not supported. Metadata files
created (or overwritten) by the newer version will generally
be unusable with older versions.</p>
<b>Non-compliant usage of API's:</b>
All non-API methods and classes, and certainly everything in
a package with "internal" in its name, are considered
implementation details which may vary between operating
environment and are subject to change without notice. Client
plug-ins that directly depend on anything other than what is
specified in the API are inherently unsupportable and receive
no guarantees about compatibility within a single release
much less with an earlier releases. Refer to
How to Use the Eclipse API</a>
for information about how to write compliant plug-ins.</p>
<a name="MigrationGuide">
XSD 2.5.0 Migration Guide</h3>
<p>At this time, there are no known issues migrating from
2.4.0 to 2.5.0.
Should this change, this document will be
revised, or a secondary document will be added documenting
any known issues.</p>
<a name="Themes">
<p><img width="12" height="12" src="/modeling/images/green-box.gif"
border="0" /> The changes under consideration for the next release of
Eclipse XSD address a few major themes: </p>
<b>More With Less</b>
- While supporting past releases is very important, it comes with a price -- less time to develop, and subsequently support, new features. As the development team becomes smaller, there are less hands available to support more releases.</li>
<b>Release Currency</b>
- Modeling projects will maintain release currency concurrent with 3.x releases. For XSD 2.5.0, this means
currency with Eclipse 3.5.0 and Java SE 5.0.</li>
<p><img width="12" height="12" src="/modeling/images/green-box.gif"
border="0" /> Additionally, the following plan items have been proposed.</p>
<li><b>Investigate XML Schema 1.1</b>
- Investigate the future impact of XML Schema 1.1; likely no actual changes will be made until the final approval of the specification. </li>
<p>The current status of each plan item is noted:</p>
<ul type="disc">
<b>Plan Item</b>
items - a <i>Plan Item</i> that we have
decided to address for the release. To see all committed items - see <i>"committed"</i> items</li>
items - A committed bug is one that we have
decided to address for the release.</li>
items - A bug item is one that we are
considering addressing for the release. Although we are
actively investigating it, we are not yet in a position to
commit to it, or to say that we won't be able to address
it. After due consideration, a proposal will either be
committed or deferred.</li>
items - A reasonable proposal that will not make it in
to this release for some reason is marked as deferred with
a brief note as to why it was deferred. Deferred plan items
may resurface as committed plan items at a later
<a name="Project">
XSD Project</h2>
<p>Plan items reflect new features of the XSD project, or
areas where existing features will be significantly reworked.
<h4><a name="Committed"> </a> Committed Items </h4>
<p>Bugzillas with a target milestone set are committed to
that release. For the most current list of these items, see the
following links:</p>
<p><b>2.5.0 release:</b></p>
href=";component=XSD&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=ASSIGNED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id&amp;query_format=advanced&amp;field0-0-0=target_milestone&amp;type0-0-0=substring&amp;value0-0-0=2.5">All Open</a>
| <a
href=";component=XSD&amp;bug_status=UNCONFIRMED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id&amp;query_format=advanced&amp;field0-0-0=target_milestone&amp;type0-0-0=substring&amp;value0-0-0=2.5">All Resolved</a>
| <a
href=";component=XSD&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=ASSIGNED&amp;bug_status=UNCONFIRMED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id&amp;query_format=advanced&amp;field0-0-0=target_milestone&amp;type0-0-0=substring&amp;value0-0-0=2.5">All Bugs</a>
<h4><a name="Proposed"> </a> Proposed Items</h4>
<p>Bugzillas without a specific target milestone are
proposed, but not committed for a particular release. This list also includes Bugzillas that were
proposed for older releases but have not yet been addressed. For the most
current list of these items, see the following links:</p>
href=";short_desc_type=allwordssubstr&amp;short_desc=&amp;product=MDT&amp;component=XSD&amp;target_milestone=---&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;query_based_on=">Open</a> |
href=";short_desc_type=allwordssubstr&amp;short_desc=&amp;product=MDT&amp;component=XSD&amp;target_milestone=---&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Resolved</a> </p>
<h4><a name="Deferred"> </a> Deferred Items</h4>
<p>Bugzillas assigned to the non-specific target of 'Future' are
deferred, and not scheduled for a particular release. For the most
current list of these items, see the following link:</p>
href=";short_desc_type=allwordssubstr&amp;short_desc=&amp;product=MDT&amp;component=XSD&amp;target_milestone=Future&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">All Open</a>
<h4><a name="Plan"> </a> Plan Items </h4>
<p>Plan item bugzillas from this and previous releases:</p>
href=";component=XSD&amp;short_desc_type=substring&amp;short_desc=%5BPlan+Item%5D&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=ASSIGNED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id">All Open</a>
| <a
href=";component=XSD&amp;short_desc_type=substring&amp;short_desc=%5BPlan+Item%5D&amp;bug_status=UNCONFIRMED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id">All Resolved</a>
| <a
href=";component=XSD&amp;short_desc_type=substring&amp;short_desc=%5BPlan+Item%5D&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=ASSIGNED&amp;bug_status=UNCONFIRMED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;order=bugs.bug_status,bugs.target_milestone,bugs.bug_id">All Bugs</a></p>
<p><em> <small>Note that for the links above, you may need to reset your
browser's <u></u> cookie(s) in order to see all the
appropriate columns.</small> </em></p>