Next in thread → Next in month →

RE: [ebxml-msg] Discussion: payload reference for use in SOAP body. Survey of options before writing this up.

From
Dale Moberg <>
Date
2004-05-21T16:32:02+00:00
ID
Thread
RE: [ebxml-msg] Discussion: payload reference for use in SOAP body. Survey of options before writing this up.
Title: Message

 I was leaning toward originally, just a bare fragment identifier 
--

 

uriref="#invoiceA"

 

Supposedly we can always use xml:id and not have to consult the schema to 
find information items with ID types.

 

 

But I 
think you misunderstand the escaping. (Or else I do.) I think that the escaping 
is done on characters in the content-id value.

 

For 
example, starting with

 

content-id: <>

 

to 
construct the cid URI part of the URI-reference we remove the 
brackets

 



 

we 
escape reserved characters (the percent sign is reserved for indicating hex 
escapes so we have to escape the percent sign)



 

 

 

We 
then append the scheme

 

cid:

 

And that is the URI part.

 

Now add the fragment (start is indicated by the hash 
mark #)

 

cid:#xmlns(s12=http://www.w3.org/2003/05/soap-envelope) 
xpointer(/s12:envelope/s12:body)

 

That is the URI-reference, absolute path 
format.

 

You are doing the escaping backwards it seems to me. We 
have to escape some of the cid's character values because a cid 
can have characters in it that are not legal in 
URIs.

 

Whew. 

 

 

 

 

  

  
-----Original Message-----
From: Matthew 
  MacKenzie [mailto:] 
Sent: Friday, May 21, 2004 9:14 
  AM
To: 
Subject: Re: 
  [ebxml-msg] Discussion: payload reference for use in SOAP body. Survey of 
  options before writing this up.

  
Ok, so in the case of the SOAP Body, do we allow an arbitrary CID, e.g. 
  

  
cid:some@crap#xmlns(s12=http://www.w3.org/2003/05/soap-envelope) 
  xpointer(/s12:envelope/s12:body)  

  
<some@crap%??xmlns%??=http%??%??%??www.w3.org%??2003%??05%??soap-envelope%??xpointer%??s12%??envelope%??s12%??body%?? 
  

  
I don't really like this.... 

  
How about we use xml:id? 

  
xmlid:invoiceA 

  
... 

  
<soap:Body> 

  
<Invoice xml:id="invoiceA" /> 

  
</soap:Body> 

  
On May 21, 2004, at 1:32 AM, Dale Moberg wrote: 

  
    
From RFC  
    2392 

    
 

    
     Notes: In 
    Internet mail messages, the addr-spec in a Content-ID 
    

    
     [MIME] or 
    Message-ID [822] header is enclosed in angle brackets 
    

    
     
    (<>).  Since addr-spec in a Message-ID or Content-ID might 
    contain 

    
     characters 
    not allowed within a URL; any such character (including 
    

    
     "/", which 
    is reserved within the "mid" scheme) must be hex-encoded 
    

    
     using the 
    %hh escape mechanism in [URL]. 

    
 

    
   A "cid" URL is 
    converted to the corresponding Content-ID message 
    

    
   header [MIME] by 
    removing the "cid:" prefix, converting the % encoded 
    

    
   character to their 
    equivalent US-ASCII characters, and enclosing the 
    

    
   remaining parts with 
    an angle bracket pair, "<" and ">".  For 
    

    
   example, 
    "cid:" corresponds to 

    
 

    
     
    Content-ID: <> 

    
 

    
   Reversing the process 
    and converting URL special characters to their 

    
   % encodings produces 
    the original cid. 

    
 

    
[I think there is a typo. I 
    think it should read 

    
 

    
     
    Content-ID:  
    

    
 

    
%25 == "%"] 
    

    
 

    
 

    
 

    
 

    
-----Original Message----- 
    

    
From: Matthew MacKenzie 
    [mailto:] 

    
Sent: Thursday, May 20, 2004 6:26 
    PM 

    
To: Dale Moberg 

    
Cc: ; Pete 
    Wenzel 

    
Subject: Re: [ebxml-msg] Discussion: payload reference for use in 
    SOAP body. Survey of options before writing this up. 
    

    
hex-escaped-cid-value-minus-opening-and-closing-brackets 

    
?? 

    
On May 20, 2004, at 8:44 PM, Dale Moberg wrote: 
    

    
I am following up with the 
    namespace qualification for the URI-reference fragment 
    using an xpointer 
    scheme-based approach, 

    
CID:hex-escaped-cid-value-minus-opening-and-closing-brackets#xmlns(s12=http://www.w3.org/2003/05/soap-envelope) 
    xpointer(/s12:envelope/s12:body)  

    
[This is how the fragment indicates the namespace qualification for 
    soap12. Note this doesn't mean that the prefix in the soap message has to be 
    s12 but only that whatever prefix was actually used is 
    associated with the URI given in the xmlns() pointer-part.] 
    

    
This is from the 
    http://www.w3.org/TR/xptr-xmlns/ which basically writes 
    up the above piece of syntax for the xmlns() pointer-part.. The 
    namespace value has to be escaped. The framework allows an 
    optional whitespace string between the items in 
    the fragment's pointer-parts. 
    

    
___________________________ 
    

    
Matthew MacKenzie 

    
Senior Architect 
    

    
IDBU Server Solutions 

    
Adobe Systems Canada Inc. 
    

    
http://www.adobe.com/products/server/ 
    

    
 

    
+1 (506) 871.5409 
  

  
___________________________ 
  

  
Matthew MacKenzie 

  
Senior Architect 

  
IDBU Server Solutions 

  
Adobe Systems Canada Inc. 

  
http://www.adobe.com/products/server/ 

  
 

  
+1 (506) 871.5409 

Next in thread → Next in month →