Hi,
After going through the messaging schemas at:
http://www.oasis-open.org/committees/ebxml-msg/schema/ I would like to make a
few comments, in the continuity of Issue73 thread.
1. The way these schemas are written are not consistent.
a) msg-header-2_0.xsd, envelope.xsd, xmldsig-core-schema.xsd have the
XMLSchema namespace (http://www.w3.org/2001/XMLSchema) as the default namespace,
whereas, xlink.xsd and xml_lang.xsd have the XMLSchema namespace prefixed.
+It would be better if a single convention is followed when
writing the schemas. Either use prefixes or don't. The broad picture should be
uniform and consistent.
b) msg-header-2_0.xsd, xlink.xsd, xml_lang.xsd have elementFormDefault
and attributeFormDefault attributes specified and set to qualified, whereas,
envelope.xsd does not specify these attributes which defaults to unqualified and
xmldsig-core-schema.xsd specifies only elementFormDefault as qualified.
+Here also inconsistency lies in the use of xxFormDefault
attributes. Somewhere it is used and somewhere it is not. Some have set it to
qualified and some have set it to unqualified. Setting attributeFormDefault to
qualified is not a good practice. If set, all the attributes in the instance
document must be prefixed. This looks like much of pain for the community and
will clutter the instance document with too many prefixes.
2. There is very less use of annotation tags in these schemas.
It would be nice and helpful to many if annotation tags are used to
describe the element tags e.g. TimeToLive, Action, etc.. This will improve the
readability of schema and make it more expressive. It would not be completely
wrong to say annotations are not at all used in these schemas.
3. The namespace for msg-header-2_0.xsd,
'http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd' ends
in '.xsd'. This may confuse the community in namespace and schemalocation. I
vote against this.
I am still looking in these schemas. :-)
Cheers,
Rahul.