From: Oren Ben-K. <or...@ri...> - 2001-12-18 20:59:49
|
Clark C . Evans [mailto:cc...@cl...] wrote: > | Note that such a URI is not allowed to contain '/' > > Actually, over lunch I figured that the uri_part > production can contain '/' without any problem. It > just requires that IANA names are always written > without the abbreviation: !yaml:iana/image/gif From the RFC: absoluteURI = scheme ":" ( hier_part | opaque_part ) opaque_part = uric_no_slash *uric ^^^^^^^^ No, you *can't* write !yaml:iana/image/gif. This would be a *relative* URL with 'iana/image/gif' being the path, and an unspecified authority. You *could* write yaml://iana/image/gif - but that would mean we are back to the current proposal... You'll just need to use some other character to separate language and space. And encode the '/' somehow (you could replace it by '.' for IANA for the sake of readability). yaml:iana:image.gif But this would break the shorthand mechanism: No period and no ':': !seq == !yaml:any:org.yaml.seq A period and no ':': !com.clarkevans.timesheet == !yaml:any:org.yaml.timesheet Just one ':': !java:java.lang.Integer == !yaml:java:java.lang.Integer PROBLEM: !perl:Net::Ftp - OOPS. So it can't be ':' unless you prefix it: !:perl:Net::Ftp - no problem. However it is better to not use ':'. Say we use '!' instead: !yaml:perl!Net::Ftp !perl!Net::Ftp !yaml:any!org.yaml.int|dec !any!org.yaml.int|dec !org.yaml.int|dec !int|dec Hmmm... As for using '^' for separating it... Ugly as sin, right? Let's see the alternatives: !yaml:any!org.yaml.^int|dec !^int|dec !yaml:any!org.yaml.`int|dec !`int|dec !yaml:any!org.yaml.\int|dec !\int|dec !yaml:any!org.yaml.|int^dec !|int^dec !yaml:any!org.yaml.|int`dec !|int`dec !yaml:any!org.yaml.|int\dec !|int\dec I think the latter are best. Say | for splitting, \ for format? Another issue: !http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ? |html We'd have to put something instead of '?' above (and '?' won't do). A '/' I guess: !http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd/|p Hmmm... I guess I could live with that... It does solve a part of the problem (not ALL the problem... just a part). That is if Brian can live with writing: !perl!Blessed::Hash !perl!@Blessed::Array !perl!$Blessed::Scalar Brian, does that work for you? Have fun, Oren Ben-Kiki |