Re: Updated UBER spec doc
Will Hartung <[email protected]> Mon, 10 Mar 2014 14:52:59 -0700
| Newsgroups | gmane.comp.web.services.rest |
|---|---|
| Message-ID | <CAA2iDiDDV-h++eAbu2u7_mh-wa4aCx0fReCOU5jS+RkeJTnK5Q@mail.gmail.com> |
--20cf3071c8ac7eca6e04f447a027 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I know, I know, I like to just bang my drum and hear myself...uh..type, or something...however. Mike, please, now, if you're going to specify something for XML, give it an official namespace identifier, and REQUIRE/MUST it. The beauty of XML is that you can mix and mash it up, and you can't (easily) do that without a namespace. <uber xmlns=3D"urn:uberisuber"> <data> ... </data> </uber> <u:uber xmlns:u=3D"urn:uberisuber"> <u:data>...</u:data> </u:uber> <=FC:uber xmlns:=FC=3D"urn:uberisuber"> <=FC:data>...</=FC:data> </=FC:uber= > (that would be annoying, but it's amusing in context...anyway...just an abbreviation, could be anything) Lots of folks don't namespace their data, and when used internally and privately, that's fine. But as soon as you start sharing it, or using it with other XML techs (XML Sig, SOAP, SAML, etc.) things can get messy, especially for an overarching framework like you're proposing. The framework shouldn't interfere with the data. By getting this settled up front, you won't have to worry about legacy implementations (notably XSL) that rely upon your data not having a namespace breaking if/when you change it to add one. This is why you REQUIRE it, XML code is different if the elements are namespaced or not, un-namespaced and namespaced XML files aren't "the same". So, anyway, my 2 cents. I'll crawl back in to my hole. Regards, Will Hartung On Sat, Mar 8, 2014 at 1:40 PM, mike amundsen <[email protected]> wrote: > > > I updated the spec docs for UBER ("Uniform Basis for Exchanging > Representations") and posted the changes in a branch on github: > https://rawgithub.com/mamund/media-types/spec-fixes/uber-hypermedia.html > > This covers most of the suggestions I've had to date on cleaning up the > spec and making the JSON variant more canonical. > > diff details can be found here: > https://github.com/mamund/media-types/compare/master...spec-fixes > > Thanks for the contributions and looking forward to the feedback. > > Cheers. > > mamund > +1.859.757.1449 > skype: mca.amundsen > http://amundsen.com/blog/ > http://twitter.com/mamund > https://github.com/mamund > http://linkedin.com/in/mamund > > >=20=20=20 > --=20 CONFIDENTIALITY NOTICE: The information contained in this electronic=20 transmission may be confidential. If you are not an intended recipient, be= =20 aware that any disclosure, copying, distribution or use of the information= =20 contained in this transmission is prohibited and may be unlawful. If you=20 have received this transmission in error, please notify us by email reply=20 and then erase it from your computer system. --20cf3071c8ac7eca6e04f447a027 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/htm= l4/strict.dtd"> <html> <head> </head> =20 <body style=3D"background-color: #fff;"> <span style=3D"display:none"> </span> <!--~-|**|PrettyHtmlStartT|**|-~--> <div id=3D"ygrp-mlmsg" style=3D"position:relative;"> <div id=3D"ygrp-msg" style=3D"z-index: 1;"> <!--~-|**|PrettyHtmlEndT|**|-~--> <div id=3D"ygrp-text" > =20=20=20=20=20=20 =20=20=20=20=20=20 <p><div dir=3D"ltr"><div><div><div><div><div>I know, I know, I like t= o just bang my drum and hear myself...uh..type, or something...however.<br>= <br></div>Mike, please, now, if you're going to specify something for X= ML, give it an official namespace identifier, and REQUIRE/MUST it.<br> <br></div>The beauty of XML is that you can mix and mash it up, and you can= 't (easily) do that without a namespace.<br><br></div><uber xmlns=3D= "urn:uberisuber"> <data> ... </data> </uber>= <br> <br></div><u:uber xmlns:u=3D"urn:uberisuber"> <u:data>= ;...</u:data> </u:uber><br><br><=FC:uber xmlns:=FC=3D"u= rn:uberisuber"> <=FC:data>...</=FC:data> </=FC:uber&= gt;<br><br> </div><div>(that would be annoying, but it's amusing in context...anywa= y...just an abbreviation, could be anything)<br></div><div><br></div><div>L= ots of folks don't namespace their data, and when used internally and p= rivately, that's fine.<br> <br></div><div>But as soon as you start sharing it, or using it with other = XML techs (XML Sig, SOAP, SAML, etc.) things can get messy, especiall= y for an overarching framework like you're proposing. The framework sho= uldn't interfere with the data.<br> <br></div><div>By getting this settled up front, you won't have to worr= y about legacy implementations (notably XSL) that rely upon your data not h= aving a namespace breaking if/when you change it to add one. This is why yo= u REQUIRE it, XML code is different if the elements are namespaced or not, = un-namespaced and namespaced XML files aren't "the same".<br> <br></div><div>So, anyway, my 2 cents. I'll crawl back in to my hole.<b= r><br></div><div>Regards,<br><br>Will Hartung<br></div><div><div><div><br><= /div></div></div></div><div class=3D"gmail_extra"><br><br><div class=3D"gma= il_quote"> On Sat, Mar 8, 2014 at 1:40 PM, mike amundsen <span dir=3D"ltr"><<a href= =3D"mailto:[email protected]" target=3D"_blank">[email protected]</a>></sp= an> wrote:<br><blockquote class=3D"gmail_quote" style=3D"border-left:1px #c= cc solid;"> <u></u> =20 <div> <span> </span> <div> <div> <div> =20=20=20=20=20=20 =20=20=20=20=20=20 <p></p><div dir=3D"ltr">I updated the spec docs for UBER ("Unifo= rm Basis for Exchanging Representations") and posted the changes in a = branch on github: <a href=3D"https://rawgithub.com/mamund/media-types/= spec-fixes/uber-hypermedia.html" target=3D"_blank">https://rawgithub.com/ma= mund/media-types/spec-fixes/uber-hypermedia.html</a><div> <br></div><div>This covers most of the suggestions I've had to date on = cleaning up the spec and making the JSON variant more canonical.</div><div>= <br></div><div>diff details can be found here: <a href=3D"https://gith= ub.com/mamund/media-types/compare/master...spec-fixes" target=3D"_blank">ht= tps://github.com/mamund/media-types/compare/master...spec-fixes</a></div> <div><br></div><div>Thanks for the contributions and looking forward to the= feedback.</div><div><br></div><div>Cheers.<br clear=3D"all"><div><div dir= =3D"ltr"><div><br></div>mamund<div><span><span title=3D"Call with Google Vo= ice"><span title=3D"Call with Google Voice"><span title=3D"Call with Google= Voice"><a href=3D"tel:%2B1.859.757.1449" value=3D"+18597571449" target=3D"= _blank">+1.859.757.1449</a></span></span></span></span><br> skype: mca.amundsen<br><a href=3D"http://amundsen.com/blog/" target=3D"_bla= nk">http://amundsen.com/blog/</a><br><a href=3D"http://twitter.com/mamund" = target=3D"_blank">http://twitter.com/mamund</a><br><a href=3D"https://githu= b.com/mamund" target=3D"_blank">https://github.com/mamund</a><br> <a href=3D"http://linkedin.com/in/mamund" target=3D"_blank">http://linkedin= .com/in/mamund</a></div></div></div> <br><br></div> </div> <p></p> </div> =20=20=20=20=20 =20=20=20=20 <div style=3D"color:#fff;"></div> </div> =20=20 </div></div></blockquote></div><br></div> <br> <span><font face=3D"Arial" size=3D"1">CONFIDENTIALITY NOTICE: The informati= on contained in this electronic transmission may be confidential. If you ar= e not an intended recipient, be aware that any disclosure, copying, distrib= ution or use of the information contained in this transmission is prohibite= d and may be unlawful. If you have received this transmission in error, ple= ase notify us by email reply and then erase it from your computer system.</= font></span></p> </div> =20=20=20=20=20 <!--~-|**|PrettyHtmlStart|**|-~--> <div style=3D"color: #fff; height: 0;">__._,_.___</div> =20=20=20=20=20=20=20=20=20=20 =20=20 =20=20=20=20 <div style=3D"clear:both"> </div> <table cellspacing=3D4px style=3D"margin-top: 20px; margin-bottom: 10px= ;"> <tbody> <tr> <td style=3D"font-size: 12px; font-family: arial; font-weight: bo= ld; padding: 7px 5px 5px; color: #FFF; background-color: #F2F2F2; border: 1= px solid #EAEAEA " > <a style=3D"text-decoration: none; color: #2D50FD= " href=3D"https://groups.yahoo.com/group/rest-discuss/post;_ylc=3DX3oDMTJxM= jVuaHZuBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BG1zZ0lk= AzE5NjI2BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTM5NDQ4ODM4MA--?act=3Dreply&messag= eNum=3D19626">Reply via web post</a> </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"mailto:[email protected]?subject=3DRe%3A%20%5Brest= -discuss%5D%20Updated%20UBER%20spec%20doc" style=3D"text-decoration: none; = color: #2D50FD;"> Reply to sender </a>=20 </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"mailto:[email protected]?subject=3DRe%3A%= 20%5Brest-discuss%5D%20Updated%20UBER%20spec%20doc" style=3D"text-decoratio= n: none; color: #2D50FD"> Reply to group </a>=20 </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #FFF; background-color: #F2F2F2; border: 1px solid #EAEAEA; "= > <a href=3D"https://groups.yahoo.com/group/rest-discuss/post;_yl= c=3DX3oDMTJlaTVwOGwzBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzA= xMDE0BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTM5NDQ4ODM4MA--" style=3D"text-decora= tion: none; color: #2D50FD">Start a New Topic</a> </td> <td style=3D"font-size: 12px; font-family: arial; padding: 7px 5p= x 5px; color: #2D50FD; background-color: #F2F2F2; border: 1px solid #EAEAEA= ; " > <a href=3D"https://groups.yahoo.com/group/rest-= discuss/message/19624;_ylc=3DX3oDMTM2MG12bGlzBF9TAzk3MzU5NzE0BGdycElkAzQzMT= kyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BG1zZ0lkAzE5NjI2BHNlYwNmdHIEc2xrA3Z0cGMEc3Rpb= WUDMTM5NDQ4ODM4MAR0cGNJZAMxOTYyNA--" style=3D"text-decoration: none; color:= #2D50FD;">Messages in this topic</a> (2) </td> </tr> </tbody> </table> =20=20=20=20=20=20=20=20 <!------- Start Nav Bar ------> =20 <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-family: Ver= dana; font-size: 10px; margin-bottom: 10px; padding: 10px;"> <span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-transf= orm: uppercase; "><a href=3D"https://groups.yahoo.com/group/rest-discuss;_y= lc=3DX3oDMTJlMzU2c283BF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1Nz= AxMDE0BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTM5NDQ4ODM4MA--" style=3D"text-decor= ation: none;">Visit Your Group</a></span> <ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in= line;"> <li style=3D"border-right: 1px solid #000; font-weight: 700; di= splay: inline; padding: 0 5px; margin-left: 0;"> <span class=3D"cat"><a href=3D"https://groups.yahoo.com/group/rest-di= scuss/members;_ylc=3DX3oDMTJmZXJvZDlrBF9TAzk3MzU5NzE0BGdycElkAzQzMTkyNTUEZ3= Jwc3BJZAMxNzA1NzAxMDE0BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEzOTQ0ODgzODA-?o=3D= 6" style=3D"text-decoration: none;">New Members</a></span> <span class=3D"ct" style=3D"color: #ff7900;">3</span> </li> </ul> </div> <div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p= x; padding: 0 2px 0 0; clear: both;"> <a href=3D"https://groups.yahoo.com/;_ylc=3DX3oDMTJkNW43bnFiBF9TAzk3NDc2N= TkwBGdycElkAzQzMTkyNTUEZ3Jwc3BJZAMxNzA1NzAxMDE0BHNlYwNmdHIEc2xrA2dmcARzdGlt= ZQMxMzk0NDg4Mzgw" style=3D"float: left;"><img src=3D"http://l.yimg.com/ru/s= tatic/images/yg/img/email/new_logo/logo-groups-137x15.png" height=3D"15" wi= dth=3D"137" alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a> <div style=3D"color: #747575; float: right;"> • <a href=3D"https://i= nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio= n: none;">Privacy</a> • <a href=3D"mailto:rest-discuss-unsubscribe@yah= oogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsubs= cribe</a> • <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/term= s/" style=3D"text-decoration: none;">Terms of Use</a> </div> </div> <!-- |**|end egp html banner|**| --> </div> <!-- ygrp-msg --> =20 <!-- Sponsor --> <!-- |**|begin egp html banner|**| --> <div id=3D"ygrp-sponsor" style=3D"width:160px; float:right; clear:none; m= argin:0 0 25px 0; background: #fff;"> <!-- Start Recommendations --> <div id=3D"ygrp-reco"> </div> <!-- End Recommendations --> </div> <!-- |**|end egp html banner|**| --> <div style=3D"clear:both; color: #FFF; font-size:1px;">.</div> </div> <img src=3D"http://geo.yahoo.com/serv?s=3D97359714/grpId=3D4319255/grpspI= d=3D1705701014/msgId=3D19626/stime=3D1394488380" width=3D"1" height=3D"1"> = <br> <div style=3D"color: #fff; height: 0;">__,_._,___</div> <!--~-|**|PrettyHtmlEnd|**|-~--> </body> <!--~-|**|PrettyHtmlStart|**|-~--> <head> <style type=3D"text/css"> <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial; margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px; padding: 0 0; } #actions { font-family: Verdana; font-size: 11px; padding: 10px 0; } #activity { background-color: #e0ecee; float: left; font-family: Verdana; font-size: 10px; padding: 10px; } #activity span { font-weight: 700; } #activity span:first-child { text-transform: uppercase; } #activity span a { color: #5085b6; text-decoration: none; } #activity span span { color: #ff7900; } #activity span .underline { text-decoration: underline; } .attach { clear: both; display: table; font-family: Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach div a { text-decoration: none; } .attach img { border: none; padding-right: 5px; } .attach label { display: block; margin-bottom: 5px; } .attach label a { text-decoration: none; } =20=20 blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold a { text-decoration: none; } dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p span { margin-right: 10px; font-family: Verdana; font-weight: 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-table div div a { text-decoration: none; } div.attach-table { width: 400px; } div.file-title a, div.file-title a:active, div.file-title a:hover, div.fi= le-title a:visited { text-decoration: none; } div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div= .photo-title a:visited { text-decoration: none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family: Verdana; font-size: 10px; font-weight: normal; } .green { color: #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos div { float: left; width: 72px; } #photos div div { border: 1px solid #666666; height: 62px; overflow: hidden; width: 62px; } #photos div label { color: #666666; font-size: 10px; overflow: hidden; text-align: center; white-space: nowrap; width: 64px; } #reco-category { font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial, helvetica,clean, sans-serif; *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99% Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li { font-size: 77%; list-style-type: square; padding: 6px 0; }=20 #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right: none !important;=20 }=20 --> </style> </head> <!--~-|**|PrettyHtmlEnd|**|-~--> </html> <!-- end group email --> --20cf3071c8ac7eca6e04f447a027--