Hi Tim,
There are many reasons and benefits to using Type4 UUIDs. I cannot imagine that RelaxNG has any magic to allow global elements to be the same name and have different types or two elements at the same level
Sometimes study helps to expand imagination. You should go beyond your imagination, it has nothing to do with magic, but we had that discussion before.
two elements at the same level have different types. Certainly no programming language allows that.
First, an XML schema language is not a programming language but a schema language, kind like ADL, second, ever heard of polymorphism in programming languages?
http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming
There are other approaches that can be used and not use UUIDs. You can nest all of your complexTypes and create VERY wide artifacts. You can use intricate namespacing if you want.
Of course, I found some ways too, but I don’t like them. That is my choice, why do you oppose so strong against that, what is the reason?
Other tricks are also possible, for example augmenting element-names during validation-time, but also that is cumbersome code, and that just for avoiding the problems of an ivory tower stupid W3C standard?
Interesting here that you call it a stupid standard and then in a later email you praise it for its industry acceptance.
No, you misunderstood my message, I “praise” XML for being the industry-standard, XML-schema is only a way of “doing” XML.
But, the things you continue to call tricks are not tricks, they are features of the standard that are implemented because one or more people presented sufficient use cases. Just because Priscilla Walmsley doesn’t bless their use doesn’t mean that they are any less valid.
So this is indeed an important restriction, which makes the clean use of XML Schema impossible in OpenEhr-rm, or any other ADL based multi level modeling system. Dirty use, tricks, ignoring validation errors, etc of course remain possible.
Yes, be specific. You probably can’t model an ADL based RM in Haskell or Erlang either. But that doesn’t mean they are not useful in multi-level modeling with a functional design. If you goal is to stay with ADL then you have to live with those requirements. I chose not to in MLHIM for all the other benefits that come with adopting XML technologies.
Your choice, I make another choice. No problem.
There are more restrictions, but less important. For example it is not possible to support the Dv_Time constraint/pattern hh:??:??, same for Dv_DateTime. In the Dv_Date is also a problem, but can be worked around by the “alternative” rule, but on another way then it is meant to use.
Sorry Tim, I am quite sure about this. You can handle them as Strings, then they can have any format, but then you will have a problem in doing queries, because in indexes they are treated as string then.
There are very clean and efficient ways to allow for partial dates in XML Schema.
Anyway, after a few weeks I will probably define the OpenEhr RM and all possible constraints in RelaxNG.
I’m not sure why you think RelaxNG will work any better than XML Schema 1.1
I said already, study it, don’t following your intuition. I already gave you a simple example how RelaxNG could have prevented your GUID-element-names, a few weeks ago.
Anyway, I will come back to this, in the mean time, take a look at the mail archive, you should find the example there.
Ah, I found it