wiki/assets/hina/hina2_2-rev0_5-20000923.txt

325 lines
14 KiB
Plaintext
Raw Normal View History

2021-03-27 17:20:48 +00:00
<EFBFBD><EFBFBD>g<>eHY<48>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 meta data format version 2.2 (HINA/2.2)
Document revision 0.5
2000/09/23
1. <00>i<EFBFBD><69>
,g<>e<EFBFBD>fo00<>f<EFBFBD>eBf;R<>S<EFBFBD>_<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0g<>eHY<48>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 0(http://masshy.fastwave.gr.jp/hina/release/)
k0J0Q0<51>0meta data formatg0B0<42>0 "hina-di" k0d0D0f0<18><><EFBFBD>W0_0<5F>0n0g0B0<42>00
2. hina-dih0o0
S0n0<6E>e<EFBFBD>fg0o00B0<42>0web
Nn0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<EFBFBD>`1X(<00>f<EFBFBD>eBf;R<>0W<30><05>j0i0)<00>0"meta data"h0|T<>yY0<59>00
hina-dio0g<>eHY<48>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0J0Q0<51>0meta data<18><><EFBFBD>formatg0B0<42>00g<>eHY<48>0<EFBFBD>0<EFBFBD>0<EFBFBD>0o0hina-di<00>0<EFBFBD>W,gh0W0f00
<00>N<EFBFBD>0<EFBFBD>0<EFBFBD>0n0g<>eHY<48>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>Ss0<73>f<EFBFBD>eBf;R<>S<EFBFBD>_<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0h0<68>`1XqQ g<>0<EFBFBD>N<EFBFBD>c<EFBFBD>0L<30>F00
3. <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>i <20>
3.1 BNF
,g<>e<EFBFBD>fk0J0D0f00hina-din0hQ<68>N<EFBFBD>io0BNF(Backus-Naur Form)[RFC822]k0<6B>0c0f0<18><><EFBFBD>U0<55>0<EFBFBD>00
3.2 <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
hina-di<00>0<EFBFBD>ibY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>N Nk0cR0<52>00US-ASCIIn0character seto0ANSI X3.4-1986h0Y0<59>00
OCTET = <any 8-bit sequence of data>
CHAR = <any US-ASCII character (octets 0 - 127)>
UPALPHA = <any US-ASCII uppercase letter "A".."Z">
LOALPHA = <any US-ASCII lowercase letter "A".."Z">
ALPHA = UPALPHA | LOALPHA
DIGIT = <any US-ASCII digit "0".."9">
WORD = <1*(ALPHA|DIGIT) but excluding ":" and "-">
CTL = <any US-ASCII control character (octets 0 - 31) and DEL (127)>
CR = <US-ASCII CR, carriage return (13)>
LF = <US-ASCII LF, linefeed (10)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
<"> = <US-ASCII double-quote mark (34)>
CRLF = CR LF
TEXT = <any OCTET except CTLs, but including HT>
TOKEN = <any TEXT, but don't start with SP or HT>
SEPARATOR = ":" 1*( SP | HT )
DELIMITER = "," *(SP|HT)
4. hina-din0<6E>ib
hina-dio0 B0<42>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>`1X 0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0(meta data) 0<>0~0h0<68>0_0BlockK0<4B>0j0<6A>00
hina-di = Header-block ; 4.2 Header-block
1*( Entity-block ) ; 4.3 Entity-block
4.1 Block
B0<42>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0d0D0f0<18><><EFBFBD>U0<55>0_0meta datan0~0h0~0<>00
Blockk0o0 04.2 Header-block 0h0 04.3 Entity-block 0n02d0L0B0<42>00
Blocko0L<30>cT<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0(Line-format)g0<18><><EFBFBD>U0<55>0<EFBFBD>00
_0`0W0 05.1 HINA 0<>0d<30>O00
Line-format = field-name SEPARATOR field-value CRLF
field-name = WORD *( "-" WORD)
field-value = TOKEN
field-nameo0'Y<>eW[<5B>0\<5C>eW[n0:S%Rj0W00field-valuen0]0<>0o0field-namek0<6B>OX[0
4.2 Header-block
hina-din0HQ-<2D>k0B0<42>0Block0hina-di<>n0<6E>`1X<31>0cd00
Header-block = HINA ; 5.1 HINA
Optional-Header
CRLF
Optional-header = 1*( User-Agent ; 5.2 User-Agent
| Content-Type ; 5.4 Content-Type
| Date ) ; 5.5 Date
4.3 Entity-block
Header-block<00>NM<4E>n0Block0<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0meta data<00>0cd00
Entity-block = 1*( URL ; 5.3 URL
| Content-Type ; 5.4 Content-Type
| Date ; 5.5 Date
| Title ; 5.6 Title
| Author-Name ; 5.7 Author-Name
| Expires ; 5.8 Expires
| Expire ; 5.9 Expire
| Last-Modified ; 5.10 Last-Modified
| Last-Modified-Detected ; 5.11 Last-Modified-Detected
| Server ; 5.12 Server
| Authorized ; 5.13 Authorized
| Authorized-url ; 5.14 Authorized-url
| Method ; 5.15 Method
| Keyword ; 5.16 Keyword
| Experimental-field ; 6. Experimental-field
| Undefined-field ; 7. Undefined-field
CRLF
5. <00>[<5B>field
5.1 HINA
<>L0hina-dig0B0<42>0<EFBFBD>Nh00]0n0version<00>0:yY00
HINA = "HINA" "/" hinadi-version CRLF
hinadi-version = "2.2"
5.2 User-Agent
hina-di<00>0<EFBFBD>Q<EFBFBD>RW0_0agent T0S0n0fieldo0<6F>_<08>g0B0<42>00
User-Agent = "User-Agent" SEPARATOR TOKEN CRLF
field-valuen0'Y<>eW[\<5C>eW[:S%R: B0<42>0
5.3 URL
<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0f:yY0<59>0URL0S0n0fieldo0<6F>_<08>g0B0<42>00
URL = "URL" SEPARATOR rfc2396-url CRLF
rfc2396-url = <URI described on "5.1.2 Request-URI" in RFC 2396>
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC 2396k0<6B>n<EFBFBD>b
5.4 Content-Type
hina-di<00>0W0O0o0<6F>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0Content-type0
( Header-block<00>Q: hina-di<00><>SOn0Content-Type
Entity-block<00>Q: <00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0Content-Type )
Content-Type = "Content-Type" SEPARATOR rfc1521-type CRLF
rfc1521-type = <Content-Type described in RFC1521>
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC1521k0<6B>n<EFBFBD>b
5.5 Date
]0n0block<00>0<EFBFBD>Q<EFBFBD>RW0_0Bf;R
Date = "Date" SEPARATOR rfc2616-date CRLF
rfc2616-date = <Date described on "3.3 Date/Time Formats" in RFC2616,
but rfc1123-date is recommended.> [TBD]
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC2616k0<6B>n<EFBFBD>b
5.6 Title
<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0
Title = "Title" SEPARATOR TOKEN CRLF
5.7 Author-Name
<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0W<30><05> T
Author-Name = "Author-Name" SEPARATOR TOKEN CRLF
5.8 Expires
]0n0blockn0<6E>`1Xn0 g<>RgP<67>
Expires = "Expires" SEPARATOR rfc2616-date CRLF
rfc2616-date = <Date described on "3.3 Date/Time Formats" in RFC2616,
but rfc1123-date is recommended.> [TBD]
5.9 Expire
]0n0blockn0<6E>`1Xn0 g<>RgP<67>0Expiresh0 TNn0<6E>`1X<31>0<18> <09>Y0<59>00
Expire o0 NMO<4D>N<EFBFBD>c'`n0_0<5F>0k0<18><><EFBFBD>U0<55>0<EFBFBD>00[TBD]
Expire = "Expire" SEPARATOR rfc2616-date CRLF
rfc2616-date = <Date described on "3.3 Date/Time Formats" in RFC2616,
but rfc1123-date is recommended.> [TBD]
5.10 Last-Modified
]0n0blockL0:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>f<EFBFBD>eBf;R
Last-Modified = "Last-Modified" SEPARATOR rfc2616-date CRLF
rfc2616-date = <Date described on "3.3 Date/Time Formats" in RFC2616,
but rfc1123-date is recommended.> [TBD]
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC2616k0<6B>n<EFBFBD>b
5.11 Last-Modified-Detected
]0n0blockn0meta datan0<6E>`1X<31>S<EFBFBD>_ [TBD]
Last-Modified-Detected = "Last-Modified-Detected" SEPARATOR rfc2616-date CRLF
rfc2616-date = <Date described on "3.3 Date/Time Formats" in RFC2616,
but rfc1123-date is recommended.> [TBD]
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC2616k0<6B>n<EFBFBD>b
5.12 Server
]0n0blockL0:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0meta data<00>0<EFBFBD>S<EFBFBD>_k0O(uU0<55>0_0<5F>0<EFBFBD>0<EFBFBD>0 T
Server = "Server" SEPARATOR TOKEN CRLF
field-valuen0'Y<>eW[\<5C>eW[:S%R: B0<42>0
5.13 Authorized
]0n0blockL0:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0meta data<00>0<EFBFBD>S<EFBFBD>_W0_0<5F>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0 T
Authorized = "Authorized" SEPARATOR TOKEN CRLF [TBD: TOKEN or WORD?]
field-valuen0'Y<>eW[\<5C>eW[:S%R: B0<42>0
5.14 Authorized-url
05.13 Authorized 0g0:yU0<55>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0X<30>%RY0<59>0URL
Authorized-url = "Authorized-url" SEPARATOR rfc2396-url CRLF
rfc2396-url = <URI described on "5.1.2 Request-URI" in RFC 2396>
field-valuen0'Y<>eW[\<5C>eW[:S%R: RFC2396k0<6B>n<EFBFBD>b
[TBD:agent`0Q0<51>RK0W0f0URLg0<67>Sgqg0M0j0D04XTo0?]
5.15 Method
TBD
(<00>O) Method: REMOTE/GET/200
5.16 Keyword
]0n0blockL0:yY0<59>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0n0<6E>i<EFBFBD><69><EFBFBD>0:yY0<59>Nan0XS<58><53>(<07>pe<70>S)0
Keyword = "Keyword" DELIMITER keywords CRLF
keywords = word *(DELIMITER word)
word = TOKEN
field-valuen0'Y<>eW[\<5C>eW[:S%R: B0<42>0
6. Experimental-field
<00>[<13><>vfield0<>`1XO<>do0<6F>O<<3C>U0<55>0j0D00
Experimental-field = x-field-name SEPARATOR value
x-field-name = "X-" WORD *( "-" WORD)
value = TOKEN
7. Undefined-field
05. <00>[<5B>field 0 06. Experimental-field 0<>NYn0Y0y0f0n0field0
<00>`1XO<>do0<6F>O<<3C>U0<55>0j0D00
undefined-field = undef-field-name SEPARATOR value CRLF
undef-field-name = WORD *( "-" WORD)
value = TOKEN
8. meta datan0ckS_'`n0<6E>O<<3C>
meta datan0<6E>`1XckS_'`o00
<00>0 05.13 Authorized 0
<00>0 05.14 Authorized-url 0
k0<6B>0c0f0:yU0<55>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0L0<4C>O<<3C>Y0<59>0irh0Y0<59>00
<07>pen0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0K0<4B>0<EFBFBD>S<EFBFBD>_W0_00 TN 05.3 URL 0n0meta data<00>0<EFBFBD>mTW0f0
)R(u<>0<EFBFBD>Q<EFBFBD>RW0f0o0j0<6A>0j0D00
<00>Nn0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>S<EFBFBD>_W0_0meta datao0<6F>_Z0blockXSMOk0<6B>Q<EFBFBD>RW0j0O0f0o0D0Q0j0D00
~0_00]0n0<6E>Q<EFBFBD>[<5B>09e YW0f0o0j0<6A>0j0D00
_0`0W00 05.15 Method 0o0<6F>OYh0Y0<59>00
9. meta datan0O<>d
9.1 O<>dU0<55>0_0meta datan0<6E>O<<3C>
hina-dik0J0Q0<51>0meta datan0O<>do00
1) <00>Nn0<6E>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0L0<4C>Q<EFBFBD>RW0_0hina-din0<6E>S<EFBFBD>_
2) <00>S<EFBFBD>_W0_0hina-di<00>0hina-dik0<6B>Q<EFBFBD>Q<EFBFBD>R
k0<6B>0c0f0L<30><4C>0<EFBFBD>0<EFBFBD>0S0h0<68>0<EFBFBD>`<60>[W0f0D0<44>00
O<>dU0<55>0_0meta datao00<>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0k0<6B>0c0f0 07. meta datan0ckS_'`n0<6E>O<<3C> 0L0j0U0<55>0f0
D0<44>0<EFBFBD>0n0h0g<>_Y0<59>00
9.2 O<>dn0<6E>[a<>
O<>dY0<59>0fieldo0Entity-block<00>Qn0fieldn00g0B0<42>00
9.3 O<>dn0*g<>O<<3C>
06. Experimental-field 0 07. Undefiend-field 0n0O<>do0<6F>O<<3C>U0<55>0j0D00
(<00>O)
[<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0A]
\<5C>
(<00>Q<EFBFBD>R)
<00>!
[hina-di A] ---(<00>S<EFBFBD>_)-->[<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0B]
\<5C>
(<00>Q<EFBFBD>R)
<00>!
[hina-di B] ---(<00>S<EFBFBD>_)-->[<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0C]
<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0A: *g<>[<5B>field<00>0<EFBFBD>Q<EFBFBD>RY0<59>0
<00>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0<EFBFBD>0B: *g<>[<5B>field<00>0<EFBFBD>Q<EFBFBD>RW0j0D0
N<18>n0<6E>0F0j0O<>dn04XT0[hina-di B]k0o00[hina-di A]k0+T~0<>0f0D0_0
06. Experimental-field 0 07. Undefiend-field 0o0[hina-di B]k0o0+T~0<>0j0D00