[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [obix] OBIX Deadline today - unresolved issues
Here is my answer to your question, Bill, "what specific items are not in synch?"
For now I am focusing on one small part. If we find an issue there, we should then check other areas. Right now I am focused on "int" and the difference between the Schema (.xsd) and the text (pdf) - let's use WD36. Consider you are a programmer, ready to program for OBIX. If you want to know about what "int" means let's see what it says in the Schema: <xs:complexType name="Int"> <xs:complexContent> <xs:extension base="Obj"> <xs:attribute name="min" type="xs:int"/> <xs:attribute name="max" type="xs:int"/> <xs:attribute ref="unit"/> <xs:attribute name="val" type="xs:int" default="0"/> </xs:extension> </xs:complexContent> </xs:complexType> So from the Schema we can see that "Int" can have a minimum and maximum value, a unit of measure, and value with type "Int", with a default value of "0". Let's look at "bool" in the Schema: <xs:complexType name="Bool"> <xs:complexContent> <xs:extension base="Obj"> <xs:attribute ref="range"/> <xs:attribute name="val" type="xs:boolean" default="false"/> </xs:extension> </xs:complexContent> </xs:complexType> So, here from the Schema we can see that "Bool" has a finite value set (e.g. 0 and 1), with a value type "boolean" and with a default value of "false". The Schema also says, that in contrast to "Int", for "Bool" we do not have a minimum or maximum value, nor a unit of measure. However, when I go the pdf spec for "int", the Contract definition says the following (line 515, section 4.3.1.2): <int href="" is="obix:obj" val="0" null="false"/> All the pdf text says here is that "int" has the value type "int" and the default value is "0". It points to obj, but does not indicate that a minimum, maximum or unit of measure of the object could be used. The pdf spec for "bool" Contract definition says the following (line 512, section 4.3.1.1): <bool href="" is="obix:obj" val="false" null="false"/> All the pdf text says here is that "bool" has the value type "bool" and the default value is "false". This also points to obj like "int" did, but in this case, minimum, maximum or unit of measure would not be appropriate. So how is one supposed to know without a lot of checking different sections, that "bool" does not have minimum, maximum and unit of measure? Just as important, how does one know that "int" could have minimum, maximum and unit of measure? For a programmer, one would expect a reasonable connection between the spec text and the Schema, and they would have similar meanings - at least to the degree that is reasonable to do so. I think for these examples, the Schema is much more precise, yet only takes one line to explain. So I suggest text section for "int" (section 4.3.1.2) preferably in the Contract Definition, but otherwise in the text, should include that minimum, maximum and unit of measure could be used. This way, the definition of "int" is more precise, and aligns with the Schema. Other sections may have similar issues. Cheers, Ludo From: obix@lists.oasis-open.org [obix@lists.oasis-open.org] on behalf of Gemmill, Craig [craig.gemmill@tridium.com]
Sent: Thursday, October 23, 2014 5:03 AM To: William Cox; Obix TC List Cc: ludob@horizontec.com; Toby Considine Subject: RE: [obix] OBIX Deadline today - unresolved issues Comments inline.
From: William Cox [mailto:wtcox@CoxSoftwareArchitects.com]
The Schema is the final word once we’ve released it; however, the spec is the correct value for what we want. It should be a 64-bit long. So I think the schema should be changed to represent that.
Obj is just the abbreviated notation of “Object”, because it is less jarring to the reader to see the known word Object, instead of the non-word Obj, in the prose. The XML representation is ‘obj’, which is just an abbreviation to save space, since it’s used frequently. If you want to change the schema to say ‘Object’ instead of ‘Obj’, that’s fine, but the XML representation should stay ‘obj’, and the spec should stay “Object” for readability. If a sentence is needed somewhere up in Section 3 or 4 to say that “Object” == <obj>, that’s fine.
is = 0 .. N, not 0 .. 1
You mean in Section 4 or something?
William Cox Email: wtcox@CoxSoftwareArchitects.com Web: http://www.CoxSoftwareArchitects.com +1 862 485 3696 mobile
On 10/22/14 9:27 AM, Ludo Bertsch wrote:
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]