- From: matt.halstead at auckland.ac.nz (Matt Halstead)
- Subject: [cellml-discussion] Maintaining CellML forwards compatibility
- Date: Wed, 5 Apr 2006 23:32:50 +1200
That would probably keep most people happy. I doubt CellML will move
much more past a 1.1 phase, instead we will have a new language
specification which is a better model than CellML.
On 5/04/2006, at 12:01 PM, Andrew Miller wrote:
>
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.
>
_______________________________________________
>
cellml-discussion mailing list
>
cellml-discussion at cellml.org
>
http://www.cellml.org/mailman/listinfo/cellml-discussion
Archive powered by MHonArc 2.6.18.