<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=utf-8" />

    <title>Eclipse XSD - DRAFT 2.5.0 Plans</title>


    <link rel="stylesheet" href="http://www.eclipse.org/default_style.css" type="text/css" />
  </head>

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

      </p>

      <p>      	
      <em>Please send comments about this draft
      plan to the</em>
      
      <a href="mailto:mdt-xsd.dev@eclipse.org">mdt-xsd.dev@eclipse.org</a>
      <em>developer mailing list
      
      or

      the</em>
      <a href="news://news.eclipse.org/eclipse.technology.xsd">eclipse.technology.xsd</a>
      <em>newsgroup.</em>
      </p>

      <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">
        <li>
          <a href="#Deliverables">Release deliverables</a>
        </li>

        <li>
          <a href="#Milestones">Release milestones</a>
        </li>

        <li>
          <a href="#TargetOperatingEnvironments">Target operating
          environments</a>
        </li>

        <li>
          <a href="#Compatibility">Compatibility with previous
          releases</a>
        </li>

        <li>
          <a href="#Themes">Themes / Plan Items</a>
        </li>

        <li>
          <a href="#Project">XSD Project</a>
        </li>
      </ul>

      <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="http://bugs.eclipse.org/bugs">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>

      <h2>
      <a name="Deliverables">
      </a>

      Release Deliverables</h2>

      <p>The release deliverables are:</p>

      <ul type="disc">
        <li>Source code release for XSD is available in the Eclipse.org <a href="http://www.eclipse.org/modeling/">Modeling Project</a>
        <a href="http://dev.eclipse.org/viewcvs/index.cgi/?root=Modeling_Project">CVS
        repositories</a> 

        for 
        <a
        href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.mdt/org.eclipse.xsd/?root=Modeling_Project">
        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="http://wiki.eclipse.org/EMF/EMF_2.5_Simplified_Downloads">This may be changing</a>, but is not yet committed to plan.</ul></li>

        <li>XSD runtime binaries and SDK features on
        eclipse.org update site (install via Eclipse update
        manager).</li>

      </ul>

      <h2>
      <a name="Milestones">
      </a>

      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="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_5.html#Milestones">Eclipse Milestone Releases</a>.
      </p>

      
      <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="http://www.eclipse.org/eclipse/development/freeze_plan_3.5.html">--><i style="color:gray">Eclipse Release Candidate</i> (forthcoming) <!--</a>-->.
      This convergence is required to meet the goals of the <a href="http://www.eclipse.org/projects/ganymede.php">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>

      <h2>
      <a name="TargetOperatingEnvironments">
      </a>

      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
      depends.</p>

      <p>Most of Eclipse is "pure" Java 
      <sup>TM</sup>

      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
      following:</p>

      <ul type="disc">
        <li>Java 2 Platform 5.0</li>

        <li>Eclipse Platform 3.5.0</li>

      </ul>

      <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 
      <a
      href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_5.html#TargetOperatingEnvironments">
      Eclipse Project 3.5 plan</a> for a list of reference platforms.</p>

      <h4>Internationalization</h4>

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

      <h2>
      <a name="Compatibility">

      </a>

      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>

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

      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
      to 
      <em>
        <a
        href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs">
        Evolving Java-based APIs</a>
      </em>

      for a discussion of the kinds of API changes that maintain
      contract compatibility.</p>

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

      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 
      <em>
        <a
        href="http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs">

        Evolving Java-based APIs</a>
      </em>

      for a discussion of the kinds of API changes that maintain
      binary compatibility.</p>

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

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

      <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 
      <em>
        <a
        href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">
        How to Use the Eclipse API</a>
      </em>

      for information about how to write compliant plug-ins.</p>
      
      <h3>

      <a name="MigrationGuide">
      </a>

      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>

      <h2>
      <a name="Themes">

      </a>

      Themes</h2>
  <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>

      <ul>
        <li>
        <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>

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

<p><img width="12" height="12" src="/modeling/images/green-box.gif"
      border="0" /> Additionally, the following plan items have been proposed.</p>
<ul>        
        <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>

</ul>


      <p>The current status of each plan item is noted:</p>

      <ul type="disc">
      <li>
        <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>

        <li>
        <b>Committed</b>

        items - A committed bug is one that we have
        decided to address for the release.</li>

        <li>
        <b>Proposed</b>

        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>

        <li>
        <b>Deferred</b>

        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
        point.</li>
      </ul>

      <h2>
      <a name="Project">

      </a>

     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>

<blockquote>
<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>
<p><a 
	href="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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>

  </p>

</blockquote>
<h4><a name="Proposed"> </a> Proposed Items</h4>

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

<p><a 
	href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;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> | 
	<a
	href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;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>

	</blockquote>

<h4><a name="Deferred"> </a> Deferred Items</h4>

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

<p><a 
	href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;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>
 </p>
</blockquote>

<h4><a name="Plan"> </a> Plan Items </h4>

<blockquote>
<p>Plan item bugzillas from this and previous releases:</p>
<p><a 
	href="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;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>

</blockquote>


<p><em> <small>Note that for the links above, you may need to reset your
browser's <u>bugs.eclipse.org</u> cookie(s) in order to see all the
appropriate columns.</small> </em></p>
</div>

</body>
</html>