corbaname URLは、ネーミングコンテキスト中のバインディング名を含むこと以外、corbaloc URLと同様です。
“corbaname::nshost/NameService#NC”は、nshost上のイニシャルサービス“NameService”で表されるネーミングコンテキストに、バインディング名“NC”で登録されているネーミングコンテキストのオブジェクトリファレンスを表します。
“corbaname::nshost”のようにオブジェクトキーが指定されていない場合は、オブジェクトキーとして“NameService”が指定されたものとみなされます。
“corbaname:rir:#NC”は、オーバライド設定がされない初期設定のネーミングコンテキストに、文字列表記のバインディング名“NC”で登録されているネーミングコンテキストのオブジェクトリファレンスを表します。
“corbaname:rir:”、“corbaname:rir:/NameService”は、“corbaloc:rir:”と同等で、ORBInitRef引数、およびORBDefaultInitRef引数によるイニシャルリファレンスのオーバライドが設定されていない初期設定のネーミングコンテキストのオブジェクトリファレンスを表します。ORBInitRef引数、およびORBDefaultInitRef引数の詳細については、“第13章 ネーミングサービスのイニシャルリファレンスの獲得”を参照してください。
corbanameのシンタックスは、以下のとおりです。
<corbaname> = "corbaname:"<corbaloc_obj>["#"<string_name>] <corbaloc_obj> = <obj_addr_list> ["/"<key_string>] <obj_addr_list> = “13.4 corbaloc URLスキーマ”参照。 <key_string> = “13.4 corbaloc URLスキーマ”参照。 <string_name> = stringfied Name | empty_string corbaloc_obj : corbaloc URLと同じシンタックスで表され、ネーミングコンテキストを指定します。 obj_addr_list : “13.4 corbaloc URLスキーマ”参照。 key_string : “13.4 corbaloc URLスキーマ”参照。 string_name : 以下に規定されているURLエスケープ付きの文字列表記のバインディング名です。
US-ASCII英数字、および以下に示された文字を除く文字がエスケープされます。
";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
パーセント(%)がエスケープとして使われます。ネームコンポーネント中のエスケープが必要である文字は、パーセント(%)に続く2桁の16進数で表されます。最初の16進文字は上位のハーフバイトを表し、2つ目の16進文字は下位のハーフバイトを表します。パーセント(%)が2桁の16進数を後に持たない場合、文字列表記のバインディング名の構文は不当になります。
例
エスケープメカニズムの例を以下に示します。
文字列化された名前 | URLエスケープ後 | 備考 |
---|---|---|
a.b/c.d | a.b/c.d | 同一のURL形式となる |
<a>.b/c.d | %3ca%3e.b/c.d | “<”と“>”がエスケープされる |
a.b/ c.d | a.b/%20%20c.d | 2つの空白がエスケープされる |
a%b/c%d | a%25b/c%25d | 2つの%がエスケープされる |
a\\b/c.d | a%5c%5cb/c.d | “\”がエスケープされる、文字列化された名前ですでにエスケープされる |