← Prev in month
← Prev in thread
Minor technical issue (or two) in the reference.xsd schema
The most recent copy of this schema[1] does not seem to support (allow
validation of) the WS-Reliability 'bare URI' scheme. To directly insert
text into the wsrm:ReplyTo element, the ref:ServiceRefType type must
support mixed content. That is,
<xsd:complexType name="ServiceRefType">
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="reference-scheme" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
should instead be
<xsd:complexType name="ServiceRefType" mixed="true">
...
</xsd:complexType>
An alternative would be to leave ServiceRefType as is and define a
particular BareURI (simple) type or element in either reference.xsd or
ws-reliability-1.1.xsd. Lots of options but the element would be simple in
every case:
<xsd:element name="BareURI" type="xsd:anyURI">
or
<xsd:simpleType name="BareURIType">
<xsd:restriction base="xsd:anyURI" />
</xsd:simpleType>
<!--
BareURIType would be ref:BareURIType if the element were in the
WS-Reliability schema while the type is in the reference schema.
-->
<xsd:element name="BareURI" type="BareURIType">
I lean slightly toward this second approach because it is more consistent
with the other expected (WS-Addressing or WS-MessageDelivery, for example)
cases. That is, the element of ref:ServiceRefType would have the
consistent semantics of identifying the set of messages in which the
contained address is relevant. The namespace of the contained element and
the @reference-scheme value would identify the semantics of that address.
Which raises another niggle I had not considered earlier: I believe the
namespace of the contained element or the direct inclusion of text in the
wsrm:ReplyTo element (if we leave that option) provides the same
information as the @reference-scheme value. Do we need both?
thanx,
doug
[1]
http://www.oasis-open.org/apps/org/workgroup/wsrm/download.php/7108/reference-1.1.xsd
← Prev in month
← Prev in thread