[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: P Please consider the
environment before printing this email. From: Dwarkanath,
Sukumar - INTL [mailto:Sukumar_Dwarkanath@sra.com] 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] 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]