CellML Discussion List

Text archives Help


[cellml-discussion] Maintaining CellML forwards compatibility


Chronological Thread 
  • From: ak.miller at auckland.ac.nz (Andrew Miller)
  • Subject: [cellml-discussion] Maintaining CellML forwards compatibility
  • Date: Wed, 05 Apr 2006 12:01:19 +1200

Hi all,

To date, the strategy used for CellML when changing to a new version(so far,
this has only happened from CellML 1.0 to 1.1) has been to move all elements
into a new namespace, even those elements which are compatible with previous
versions.

As new versions tend to build on older versions, some degree of forwards
compatibility seems reasonable, as CellML processing software may simply be
able to ignore parts of the document which they don't understand, and so still
be able to deal with newer versions.

However, in order to support this, we need to make it clear which elements in
a
new specification old software should try to process, and which ones it should
ignore. It seems that the best way to do this is to mix namespaces -- that is,
new versions of CellML subsequent to 1.1 can add new elements and attributes
in
the new CellML namespace, and state that certain elements or attributes in the
namespaces from previous versions are deprecated. However, they will not move
elements or attributes from the old namespace into the new namespace(except to
explicitly signal that compatibility has been broken).

For example, suppose that a hypothetical CellML 1.2 specification has been
released, and it defines a new structural element called foobar. In this case,
a CellML 1.2 document could look like this...

<model xmlns="http://www.cellml.org/cellml/1.1#";
xmlns:cml12="http://www.cellml.org/cellml/1.2#";>
<component>
...
</component>
<cml12:foobar />
</model>

CellML 1.1 capable software can still process the document, as it will treat
cml12:foobar as an extension element and ignore it.

Any opinions? Should we state (for example, in the MIME type registration)
that
we will follow this approach?

Best regards,
Andrew Miller


----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




Archive powered by MHonArc 2.6.18.

Top of page