Thomas,

The original namespace was designed in a way that would not require a change
until there was a radical RM (or schema design) change.

 

I would suggest that the principles are similar to archetype versions and
revisions, the namespace will require a change when the schema change breaks
existing data, otherwise it is just a version change.

 

The version attribute in the schema does not affect the data at all, it is
for version control information to the users of the schema.  I don't care
what goes there but at the time the openEHR release seemed logical.  If a
new release changes the schema (in a compatible way) the release number of
that specific schema can change otherwise I don't see any need to upgrade
the version ID just because of a new release,  but as I said I don't care
that much because it has no affect on the data as long as I know what schema
I need to deploy with my version specific openEHR components.

 

The question is, what do we do when we do have a data breaking schema
change, like potentially in r1.1?  I suggest that we just go with
http://schemas.openehr.org/v1.1 and we can assume the old
http://schemas.openehr.org/v1 meant r1.0.x.  It wasn't expected to have such
a substantial schema change until r2 but I guess that is the reality of
software.

 

Jumping ship to another style such as http://schemas.openehr.org/2009/03
would also be reasonable, it would just mean we have to correlate release
dates with release numbers.

 

BTW Andrew,

There is an optional rm_version in the archetype_details attached to any
archetyped locatable.  We currently populate this only when we specify a
template_id on the composition, which is all compositions in our
applications.  We could suggest that this is required for all compositions
and make this the handle to determine what schema to use for validation.

 

Heath

 

From: [email protected]
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Thomas Beale
Sent: Wednesday, 10 December 2008 10:23 PM
To: For openEHR technical discussions
Subject: {Disarmed} Re: Q on openEHR XML-schema versioning

 

Andrew Patterson wrote: 

ok - this approach more or less replicates the release id approach
already in use, but converts it to a URL.
    

 
Except, this is a change that occurs in all xml _instances_, not just
the schema files. So every reference model document in every
system in existence now has to handle two different schemas
and convert between them. We have to decide whether this is
what we want.. do the xml schemas aggressively track the
exact spec versions, or do we only increment xml schema
versions when necessary (and therefore should the xml
schemas have a separate version)
  


I don't think this is the case - each document should just indicate which
schema it is derived from. There will always be new and improved XML-schemas
- that is just the nature of a formalism that is inherently inefficient -
people will keep coming up with ways to improve it. Any document created
from a previous version of the schema will point to the earlier version.
Since all schemas in openEHR are designed to convert into the same reference
model, the data remain interoperable (unlike purely schema-based approaches
to health data). 

The main point it seems to me is what the schema should carry as its
namespace... is it (as today):



<xs:schema xmlns:xs= <http://www.w3.org/2001/XMLSchema> MailScanner has
detected a possible fraud attempt from "www.w3.org" claiming to be
"http://www.w3.org/2001/XMLSchema"; xmlns= <http://schemas.openehr.org/v1>
MailScanner has detected a possible fraud attempt from "schemas.openehr.org"
claiming to be "http://schemas.openehr.org/v1";
       targetNamespace= <http://schemas.openehr.org/v1> MailScanner has
detected a possible fraud attempt from "schemas.openehr.org" claiming to be
"http://schemas.openehr.org/v1"; elementFormDefault="qualified"
version="v1.0.2"
       id="BaseTypes.xsd">

or more like:



<xs:schema xmlns:xs= <http://www.w3.org/2001/XMLSchema> MailScanner has
detected a possible fraud attempt from "www.w3.org" claiming to be
"http://www.w3.org/2001/XMLSchema"; xmlns= <http://schemas.openehr.org/v1>
MailScanner has detected a possible fraud attempt from "schemas.openehr.org"
claiming to be "http://schemas.openehr.org/v1";
       targetNamespace= <http://schemas.openehr.org/v1> MailScanner has
detected a possible fraud attempt from "schemas.openehr.org" claiming to be
"http://schemas.openehr.org/v1.0.2"; elementFormDefault="qualified" 
       id="BaseTypes.xsd">

I don't know what weight the 'version' attribute carries in the xs:schema
tag - I don't understand why there appear to be two ways of indicating the
version in fact.





 
The schema identifier is a URI - there is no requirement that it is
accessible at the same identifier, and in fact it seems like there
is a trend towards using other URN syntaxes rather than
URLs.
  


so sticking with the current style of URI is no problem.


- thomas beale

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20081212/7c529705/attachment.html>

Reply via email to