Description: |
This is from the list. Submitted by Dr. Savas Parastatidis
All,
Few weeks back I asked the group about the XML schema definition of
service data. Thomas pointed out that the non-conformant XML schema came
from the OGSI spec and indeed it did. I just found some time to work on
this and here's my proposal for the v1.1 spec.
In the current version of the spec the serviceData element is defined
using non-valid XML Schema (section 6.2.1, page 16):
<xsd:restriction base="xsd:element">
and
<xsd:attributeGroup ref="xsd:occurs"/>
I am attaching an alternative definition of the ServiceDataType that is
valid XML Schema and, hopefully, maintains all the characteristics of
the existing one.
Furthermore, in order to allow elements of ServiceDataType to be used in
WSDL, the WSDL extensibility mechanism was used (thanks to Jim Webber
from Arjuna Technologies Ltd for pointing this out to me).
I used the portTypeExt substitution group from the published draft of
WSDL 1.2 since the OGSI spec already uses the "inheritance" feature from
this future spec. (Note that in the editor's version of the WSDL 1.2
spec the "portType" element has been renamed to "interface" and the
substitution group to "serviceExt".)
So, using this extensibility mechanism, it is possible to introduce the
following in the "types" component of the WSDL that will allow us to
continue use the serviceData element as is but in a WSDL-conformant way.
(At least this is my understanding of the WSDL spec).
<types>
<xs:element name="serviceData" type="sd:ServiceDataType"
substitutionGroup="portTypeExt"/>
</types>
An example of a WSDL that uses this feature is attached.
What do you think?
--
Dr. Savas Parastatidis
Chief Software Architect, North-East Regional e-Science Centre
School of Computing Science, University of Newcastle upon Tyne, UK
http://savas.parastatidis.name
. |