OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

emergency message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: EDXL-HAVE issues found (for review / answer)


Sukumar and others,

 

One of our engineers have some follow up comments:

 

[Aside:  Coincidentally, one of the purposes is to examine CAP and EDXL documents for adherence to that very set of business rules that cannot be enforced by the schema only.  End of Aside.]

 

Perhaps another example or two will clarify.  All of the following snippets are from an otherwise valid EDXL-HAVE 1.0 document.

 

To create this snippet, I started with the example in the standard, fixed up some whitespace issues, and changed "Available" to

"Vacant/Available":

 

      <have:BedCapacity>

        <have:BedType>AdultICU</have:BedType>

        <have:Capacity>

          <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

        </have:Capacity>

        <have:SubCategoryBedType>Surgery</have:SubCategoryBedType>

        <have:Capacity>

          <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

          <have:AvailableCount>40</have:AvailableCount>

        </have:Capacity>

        <have:SubCategoryBedType>General</have:SubCategoryBedType>

        <have:Capacity>

          <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

          <have:AvailableCount>20</have:AvailableCount>

        </have:Capacity>

      </have:BedCapacity>

 

My validator (xmllint from the libxml2 library) complains:

 

t.xml:63: element SubCategoryBedType: Schemas validity error : Element

'{urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}SubCategoryBedType': This element is not expected. Expected is one of ( {urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}Capacity,

{urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}CommentText ).

 

Line 63 is the first SubCategoryBedType element.

 

Based on Constraint 2 of the SubCategoryBedType element, it's actually the initial Capacity element that's throwing things off.  I interpret that constraint to say that if sub-categories are used at all, they have to be used everywhere.  So I deleted the initial Capacity element, and got here:

 

      <have:BedCapacity>

        <have:BedType>AdultICU</have:BedType>

        <have:SubCategoryBedType>Surgery</have:SubCategoryBedType>

        <have:Capacity>

          <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

          <have:AvailableCount>40</have:AvailableCount>

        </have:Capacity>

        <have:SubCategoryBedType>General</have:SubCategoryBedType>

        <have:Capacity>

          <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

          <have:AvailableCount>20</have:AvailableCount>

        </have:Capacity>

      </have:BedCapacity>

 

Now I get this error:

 

t.xml:65: element SubCategoryBedType: Schemas validity error : Element

'{urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}SubCategoryBedType': This element is not expected. Expected is one of ( {urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}Capacity,

{urn:oasis:names:tc:emergency:EDXL:HAVE:1.0}CommentText ).

 

Line 65 is the *second* SubCategoryBedType element.

 

That led me to the schema.  As my previous example (the one with the greek element tags) demonstrates, the schema allows for zero or more BedType elements, followed by zero or more SubCategoryBedType elements, followed by zero or more Capacity elements.

 

I think what was intended was zero or more "capacity groups," where a "capacity group" contains one BedType element, zero or one SubCategoryBedType element, and one Capacity element (and consistent use

*or* non-use of the SubCategoryBedType element within one BedCapacity element).

 

But that all conflicts with Constraint 5, which seems to say that you need that initial, specially crafted Capacity element when you use the sub-categories, and agrees with the way the example is constructed.

 

It seems that something has to give.

 

 

Timothy D. Gilmore | SAIC

Senior Test Engineer | ILPSG | NIMS SC | NIMS STEP

phone: 606.274.2063 | fax: 606.274.2012

mobile: 606.219.7882 | email: gilmoret@us.saic.com  

P Please consider the environment before printing this email.

 


From: Dwarkanath, Sukumar - INTL [mailto:Sukumar_Dwarkanath@sra.com]
Sent: Monday, November 09, 2009 9:46 AM
To: Gilmore, Timothy; emergency@lists.oasis-open.org
Cc: Rex Brooks
Subject: RE: EDXL-HAVE issues found (for review / answer)

 

Tim,

 

On the BedType element – please refer to page 25 - “If a <Capacity> element is specified, it pertains to the preceding <BedType> or <SubCategoryBedType> element.”

 

I am not completely sure of your questions – for each BedType, you can specify its <Capacity> – I am not sure where the conflict is – please be more specific. The standard suggests using the <BedCapacity> element to encapsulate BedTypes and its subcategories. As you may be aware, a number of business rules in a standard cannot be enforced by schema only.

 

Thanks

Sukumar

 

 

 

 


From: Gilmore, Timothy [mailto:TIMOTHY.D.GILMORE@saic.com]
Sent: Friday, November 06, 2009 8:16 AM
To: emergency@lists.oasis-open.org
Cc: Dwarkanath, Sukumar - INTL; Rex Brooks
Subject: EDXL-HAVE issues found (for review / answer)

 

One of our engineers has been looking closely at the EDXL-HAVE standard and has some comments / questions:

 

(1) The XLink schema files distributed by OGC (the Open Geospatial

Consortium) and OASIS conflict.  According to [0], the only present workaround is to edit the schema files locally, which makes me very uncomfortable.

 

(2) My interpretation of the description of the intention of the <BedType> element conflicts with the schema.  The schema is more than happy to accept this snippet in an otherwise valid EDXL-HAVE document:

 

      <have:BedCapacity>

      <have:BedType>MedicalSurgical</have:BedType>

      <have:BedType>OtherIsolation</have:BedType>

      <have:BedType>NurseryBeds</have:BedType>

      <have:SubCategoryBedType>foo, etc.</have:SubCategoryBedType>

      <have:SubCategoryBedType><Ω>γαμμα</Ω></have:SubCategoryBedType>

      <have:Capacity>

        <have:CapacityStatus>Vacant/Available</have:CapacityStatus>

        <have:AvailableCount>20</have:AvailableCount>

        <have:BaselineCount>30</have:BaselineCount>

      </have:Capacity>

      <have:Capacity>

        <have:CapacityStatus>NotAvailable</have:CapacityStatus>

        <have:AvailableCount>999</have:AvailableCount>

      </have:Capacity>

      </have:BedCapacity>

 

In particular, I can't reconcile this with the normative constraints of <Capacity> and <SubCategoryBedType> listed in section 3.2.4 of the standard (and with the non-normative diagram in section 3.1).  To which <BedType> element(s) and/or <SubCategoryBedType> element(s) do the <Capacity> elements refer?

 

Note that the example of <SubCategoryBedType> elements on page 27 of the standard is not valid (for several reasons), and therefore of marginal use as an example.

 

Can these comments / questions get reviewed and answered?

 

Thanks,

 

Timothy D. Gilmore | SAIC

Senior Test Engineer | ILPSG | NIMS SC | NIMS STEP

phone: 606.274.2063 | fax: 606.274.2012

mobile: 606.219.7882 | email: gilmoret@us.saic.com  

P Please consider the environment before printing this email.

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]