付録A OIID指定時のURLの文法

ここでは,データベースに格納されたDMAオブジェクトが保持しているOIIDを指定する場合の指定方法について説明します。

データベースに格納されたDMAオブジェクト(永続オブジェクト)は,プロパティの値としてNULLでないOIID(Object Instance Identifier)を保持しています。OIIDは,論理的に永続オブジェクトへのURL(Uniform Resource Locator)であると考えられます。したがって,URLのシンタクスを使用して定義されます。OIIDを定義するURLを,特に「DMA URL」といいます。

OIIDの使用方法
OIIDは,文書空間でのオブジェクトの存在や格納位置などを明確にするために使用する識別子です。文書空間中でOIIDは,最大2の48乗-1個作成できます。
なお,OIIDにはユーザアプリケーションから見た連続性,規則性はありません。このため,例えば,ユーザが文書やコンテナなどを指定するときに識別子として直接OIIDを入力するような使用方法は,OIIDの使用方法として適しません。
<この節の構成>
(1) OIIDの形式
(2) OIID(DMA URL)のBNF記法

(1) OIIDの形式

OIIDはURLのシンタクスを使用して定義します。

(a) 形式

OIIDは次の形式で指定します。

dma:///<system id>/<docspace id>/<object id>
各項目について説明します。
<system id> ::= <テキスト化されたDMA SystemのDmaId>
OIIDを生成したDMA Systemを登録するために使われたGUIDです。
(2) OIID(DMA URL)のBNF記法」で示す「dmasystem」に相当します。
<docspace id> ::= <テキスト化された文書空間のDmaId>
OIIDを生成した文書空間を登録するために使われたGUIDです。
(2) OIID(DMA URL)のBNF記法」で示す「dmadocspace」に相当します。
<object id> ::= <印刷可能なASCIIコード>
ASCIIサブセットにコード化されたデータシーケンスです。
(2) OIID(DMA URL)のBNF記法」で示す「dmaobjectid」に相当します。
(b) 指定例

OIIDの指定例を次に示します。

<指定例>
dma:///07a17522-a626-11d0-b11f-0020af27a837/a95414a4-fef7
-11d3-999f-080009bafc2d/f5d8e3a2-284c-11d2-9177
-0000e21303670000000000006852

(2) OIID(DMA URL)のBNF記法

OIID(DMA URL)のBNF記法を次に示します。

dmaurl= "dma://" "/" dmasystem "/"dmadocspace "/" dmaobjectid
dmasystem = dmaguid
dmadocspace = dmaguid
dmaobjectid = oidchars
dmaguid = 1*dmaguidchar
dmaguidchar = hex | "-"
oidchars = *oidchar
oidchar = alpha | digit | safe | ":" | "@" | "&" | "="
alpha = lowalpha | hialpha
lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" |
     "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
     "y" | "z"
hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" |
     "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" |
     "W" | "X" | "Y" | "Z"
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
safe = "$" | "-" | "_" | "." | "+"
hex = digit | "A" | "B" | "C" | "D" | "E" | "F" |"a" | "b" | "c" | "d" | "e" | "f"