make/jdk/src/classes/build/tools/dtdbuilder/README.txt
author lana
Mon, 19 Mar 2018 21:52:50 +0000
changeset 49266 778e4516409c
parent 47216 71c04702a3d5
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
README:
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
This directory contains a program to read a DTD, and produce a compressed
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
representation of it.  It's intended that this program be run at build
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
time, and the resultant .bdtd binary DTD file be read at program startup.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
			    .dtdb FILE FORMAT
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
file ::= version_no:int num_names:short name[]:string num_entities entity[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
	 num_elements element[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
entity ::= name_id:short type:byte data:string
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
element ::= name_id:short type:byte 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
	    flags:byte (&0x01 = omit start, &0x02 = omit end)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
	    content_model
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
	    num_exclusions:byte name_id[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
	    num_inclusions:byte name_id[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
	    num_attributes:byte attribute[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
attribute ::= name_id:short type:byte modifier:byte 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
	      value:name_id (or -1 for null)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
	      num_values:short name_id[]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
content_model ::= content_c | content_e | content_null
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
content_null ::= flag:byte=0
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
content_c ::= flag:byte=1 type:int content:content_model next:content_model
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
content_e ::= flag:byte=2 type:int element_name_id next:content_model
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
string ::= modified UTF-8 encoding of a string
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
See the java.io.InputStream class description for the specification of modified
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
UTF-8.