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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-transport message

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


Subject: v0.8 Manifest proposal


All,

I've been doing quite a bit of thinking about our v0.8
Manifest. I would like to submit a proposal for
changing the current (0.8) Manifest element
with the objective of making it more precise
in its semantic meaning.

Specifically, I've been considering the use of 
XLink (http://www.w3.org/TR/xlink) for purposes of 
representing the DocumentReference. My proposal is that the
DocumentReference becomes an XLink simple link which
is roughly equivalent to an <A href=""> in HTML.

From the XLink spec:

	Simple links offer shorthand syntax for a common kind 
	of link, an outbound link with exactly two participating
        resources (into which category HTML-style A and IMG links 
	fall). Because simple links offer less functionality than
        extended links, they have no special internal structure.

My objective in proposing the use of XLink in this context is 
NOT to impose complexity or even require use of an XLink processor 
on an ebXML message. Rather, to provide for a more precise definition 
of the Manifest element semantics, by leveraging the XLink namespace and
its element and attribute semantics.

e.g.
	<Manifest xmlns:xlink="http://www.w3.org/1999/xlink">
		<DocumentReference xlink:type="simple"
			xlink:role="http://www.ebxml.org/gci/purchaseOrder"
			xlink:href="cid:...">
			<MetaData version="1.0" 
				schemaLocation="http://www.ebxml.org/gci/OrderV0.1072400.dtd"/>
		</DocumentReference>		
	</Manifest>

Specifically, I propose that the current DocumentLabel element be eliminated
and that its puropose be transferred to an xlink:role attribute of the DocumentReference
element. DocumentLabel is really pretty loose in the current version of the
spec. I would suggest that we make it expressly clear that it is RECOMMENDED
that the value of an xlink:role be a URI reference to one of:
	- request message type within a specific business process registered
	in an ebXML registry/repository
	- an xpath or XPointer expression into the CPA which governs the message,
	identified by the CPAID element
I would actually prefer the latter as it might make things easier to implement
and it is certainly quite explicit as to which step in a choreography the
message is intended to represent.

e.g.
	xlink:role="//ServiceInterface[InterfaceId = 'foo']/ActionMenu/Action[ActionId =
'xxx']/Request[RequestName = 'blahblah']"

you get the idea...

I also propose that DocumentId element be eliminated and its purpose be
transferred to the xlink:href attribute (new) of the DocumentReference element.
I think that it is quite clear what this should represent.

It would seem to me that any valid XLink attribute of a simple link be
permitted (e.g. OPTIONAL in cardinality) to be used. Specifically, 
xlink:title and the xlink:show and xlink:actuaute attributes. I'm not so
clear on whether we should include xlink:arcrole. That would possibly be
something for discussion.

I also propose that we add a new element Metadata which would have
the following definition:

	<!ELEMENT Metadata EMPTY>
	<!ATTLIST Metadata version CDATA #IMPLIED
			schemaLocation CDATA #IMPLIED>

The version attribute would be used to permit the version of the
document's schema/dtd to be reflected externally to the referenced
document. This has actually been something which has been recognised
as extreemly valuable to a number of vertical working groups (e.g.
OTA). I have received off-list requests that a version identifier
be added to our Manifest on more than one occasion.

The schemaLocation attribute I added to allow for the DTD or schema
to be externally accessible to the software agent processing the
message. This too has been communicated as an important feature.

I would suggest that we make the Metadata element OPTIONAL in cardinality
and OPTIONAL to implement on either the producer or consumer of a
message. Basically, the Metadata element is purely informative content
which is most likely avilable elsewhere in the message.

Of pros and cons, I would submit the following:
	- this approach offers an easier migration to XP (assuming
	that SOAP 1.1 with Attachments manages to find its way
	into XP).
	- this approach is more explicit in its semantic meaning
	and interpretation due to leveraging the semantic meaning
	of the xlink specification (currently CR status)

So, our DTD would be revised with something along the
lines of the following:

	<!ELEMENT Manifest (DocumentReference*)>
	<!ATTLIST Manifest xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'>

	<!ELEMENT DocumentReference (Metadata?)>
	<!ATTLIST DocumentReference  xlink:type    CDATA  #FIXED 'simple'
        	xlink:role    CDATA  #REQUIRED
        	xlink:href    CDATA  #REQUIRED
        	xlink:show    CDATA  #IMPLIED
                xlink:actuate CDATA  #IMPLIED
               	xlink:title   CDATA  #IMPLIED >

	<!ELEMENT Metadata EMPTY>
	<!ATTLIST Metadata  version        CDATA  #IMPLIED
                    schemaLocation CDATA  #IMPLIED >
	
Comments?

Chris


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

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC