SAX.setDocumentLocator() SAX.startDocument() SAX.internalSubset(kanjidic2, , ) SAX.comment( Version 1.3

This is the DTD of the XML-format kanji file combining information from
the KANJIDIC and KANJD212 files. It is intended to be largely self-
documenting, with each field being accompanied by an explanatory
comment.

The file covers the following kanji:
(a) the 6,355 kanji from JIS X 0208;
(b) the 5,801 kanji from JIS X 0212;
(c) the 3,625 kanji from JIS X 0213 as follows:
        (i) the 2,741 kanji which are also in JIS X 0212 have
        JIS X 0213 code-points (kuten) added to the existing entry;
        (ii) the 884 "new" kanji have new entries.

At the end of the explanation for a number of fields there is a tag
with the format [N]. This indicates the leading letter(s) of the
equivalent field in the KANJIDIC and KANJD212 files.

The KANJIDIC documentation should also be read for additional 
information about the information in the file.
)

SAX.elementDecl(kanjidic2, 4, …) SAX.elementDecl(header, 4, …) SAX.comment(

The single header element will contain identification information
about the version of the file 
)

SAX.elementDecl(file_version, 3, …) SAX.comment(

This field denotes the version of kanjidic2 structure, as more
than one version may exist.
)

SAX.elementDecl(database_version, 3, …) SAX.comment(

The version of the file, in the format YYYY-NN, where NN will be
a number starting with 01 for the first version released in a
calendar year, then increasing for each version in that year.
)

SAX.elementDecl(date_of_creation, 3, …) SAX.comment(

The date the file was created in international format (YYYY-MM-DD).
)

SAX.elementDecl(character, 4, …) SAX.elementDecl(literal, 3, …) SAX.comment(

The character itself in UTF8 coding.
)

SAX.elementDecl(codepoint, 4, …) SAX.comment(

The codepoint element states the code of the character in the various
character set standards.
)

SAX.elementDecl(cp_value, 3, …) SAX.comment(

The cp_value contains the codepoint of the character in a particular
standard. The standard will be identified in the cp_type attribute.
)

SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, …) SAX.comment(

The cp_type attribute states the coding standard applying to the
element. The values assigned so far are:
        jis208 - JIS X 0208-1997 - kuten coding (nn-nn)
        jis212 - JIS X 0212-1990 - kuten coding (nn-nn)
        jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn)
        ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits)
)

SAX.elementDecl(radical, 4, …) SAX.elementDecl(rad_value, 3, …) SAX.comment(

The radical number, in the range 1 to 214. The particular
classification type is stated in the rad_type attribute.
)

SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, …) SAX.comment(

The rad_type attribute states the type of radical classification.
        classical - as recorded in the KangXi Zidian.
        nelson - as used in the Nelson "Modern Japanese-English 
        Character Dictionary" (i.e. the Classic, not the New Nelson).
        This will only be used where Nelson reclassified the kanji.
)

SAX.elementDecl(misc, 4, …) SAX.elementDecl(grade, 3, …) SAX.comment(

The Jouyou Kanji grade level. 1 through 6 indicate the grade in which
the kanji is taught in Japanese schools. 8 indicates it is one of the
remaining Jouyou Kanji to be learned in junior high school, and 9 
indicates it is a Jinmeiyou (for use in names) kanji. [G]
)

SAX.elementDecl(stroke_count, 3, …) SAX.comment(

The stroke count of the kanji, including the radical. If more than 
one, the first is considered the accepted count, while subsequent ones 
are common miscounts. (See Appendix E. of the KANJIDIC documentation
for some of the rules applied when counting strokes in some of the 
radicals.) [S]
)

SAX.elementDecl(variant, 3, …) SAX.comment(

A cross-reference code to another kanji, usually regarded as a variant.
The type of cross-reference is given in the var_type attribute.
)

SAX.attributeDecl(variant, var_type, 1, 2, NULL, …) SAX.comment(

The var_type attribute indicates the type of variant code. The current
values are: 
        jis208 - in JIS X 0208 - kuten coding
        jis212 - in JIS X 0212 - kuten coding
        jis213 - in JIS X 0213 - kuten coding
        deroo - De Roo number - numeric
        njecd - Halpern NJECD index number - numeric
        s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor
        nelson - "Classic" Nelson - numeric
        oneill - Japanese Names (O'Neill) - numeric
)

SAX.elementDecl(freq, 3, …) SAX.comment(

A frequency-of-use ranking. The 2,500 most-used characters have a 
ranking; those characters that lack this field are not ranked. The 
frequency is a number from 1 to 2,500 that expresses the relative 
frequency of occurrence of a character in modern Japanese. This is
based on a survey in newspapers, so it is biassed towards kanji
used in newspaper articles. The discrimination between the less
frequently used kanji is not strong.
)

SAX.elementDecl(rad_name, 3, …) SAX.comment(

When the kanji is itself a radical and has a name, this element
contains the name (in hiragana.) [T2]
)

SAX.elementDecl(dic_number, 4, …) SAX.comment(

This element contains the index numbers and similar unstructured
information such as page numbers in a number of published dictionaries,
and instructional books on kanji.
)

SAX.elementDecl(dic_ref, 3, …) SAX.comment(

Each dic_ref contains an index number. The particular dictionary,
etc. is defined by the dr_type attribute.
)

SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, …) SAX.comment(

The dr_type defines the dictionary or reference book, etc. to which
dic_ref element applies. The initial allocation is:
  nelson_c - "Modern Reader's Japanese-English Character Dictionary",  
        edited by Andrew Nelson (now published as the "Classic" 
        Nelson).
  nelson_n - "The New Nelson Japanese-English Character Dictionary", 
        edited by John Haig.
  halpern_njecd - "New Japanese-English Character Dictionary", 
        edited by Jack Halpern.
  halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by 
        Jack Halpern.
  heisig - "Remembering The  Kanji"  by  James Heisig.
  gakken - "A  New Dictionary of Kanji Usage" (Gakken)
  oneill_names - "Japanese Names", by P.G. O'Neill. 
  oneill_kk - "Essential Kanji" by P.G. O'Neill.
  moro - "Daikanwajiten" compiled by Morohashi. For some kanji two
        additional attributes are used: m_vol:  the volume of the
        dictionary in which the kanji is found, and m_page: the page
        number in the volume.
  henshall - "A Guide To Remembering Japanese Characters" by
        Kenneth G.  Henshall.
  sh_kk - "Kanji and Kana" by Spahn and Hadamitzky.
  sakade - "A Guide To Reading and Writing Japanese" edited by
        Florence Sakade.
  henshall3 - "A Guide To Reading and Writing Japanese" 3rd
        edition, edited by Henshall, Seeley and De Groot.
  tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask.
  crowley - "The Kanji Way to Japanese Language Power" by
        Dale Crowley.
  kanji_in_context - "Kanji in Context" by Nishiguchi and Kono.
  busy_people - "Japanese For Busy People" vols I-III, published
        by the AJLT. The codes are the volume.chapter.
  kodansha_compact - the "Kodansha Compact Kanji Guide".
)

SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, …) SAX.comment(

See above under "moro".
)

SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, …) SAX.comment(

See above under "moro".
)

SAX.elementDecl(query_code, 4, …) SAX.comment(

These codes contain information relating to the glyph, and can be used
for finding a required kanji. The type of code is defined by the
qc_type attribute.
)

SAX.elementDecl(q_code, 3, …) SAX.comment(

The q_code contains the actual query-code value, according to the
qc_type attribute.
)

SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, …) SAX.comment(

The q_code attribute defines the type of query code. The current values
are:
  skip -  Halpern's SKIP (System  of  Kanji  Indexing  by  Patterns) 
        code. The  format is n-nn-nn.  See the KANJIDIC  documentation 
        for  a description of the code and restrictions on  the 
        commercial  use  of this data. [P]

  sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle 
        1996) by Spahn and Hadamitzky. They are in the form nxnn.n,  
        e.g.  3k11.2, where the  kanji has 3 strokes in the 
        identifying radical, it is radical "k" in the SH 
        classification system, there are 11 other strokes, and it is 
        the 2nd kanji in the 3k11 sequence. (I am very grateful to 
        Mark Spahn for providing the list of these descriptor codes 
        for the kanji in this file.) [I]
  four_corner - the "Four Corner" code for the kanji. This is a code 
        invented by Wang Chen in 1928. See the KANJIDIC documentation 
        for  an overview of  the Four Corner System. [Q]

  deroo - the codes developed by the late Father Joseph De Roo, and 
        published in  his book "2001 Kanji" (Bojinsha). Fr De Roo 
        gave his permission for these codes to be included. [DR]
  misclass - a possible misclassification of the kanji according
        to one of the code types. (See the "Z" codes in the KANJIDIC
        documentation for more details.)

)

SAX.elementDecl(reading_meaning, 4, …) SAX.comment(

The readings for the kanji in several languages, and the meanings, also
in several languages. The readings and meanings are grouped to enable
the handling of the situation where the meaning is differentiated by 
reading. [T1]
)

SAX.elementDecl(nanori, 3, …) SAX.comment(

Japanese readings that are now only associated with names.
)

SAX.elementDecl(rmgroup, 4, …) SAX.elementDecl(reading, 3, …) SAX.comment(

The reading element contains the reading or pronunciation
of the kanji.
)

SAX.attributeDecl(reading, r_type, 1, 2, NULL, …) SAX.comment(

The r_type attribute defines the type of reading in the reading
element. The current values are:
  pinyin - the modern PinYin romanization of the Chinese reading 
        of the kanji. The tones are represented by a concluding 
        digit. [Y]
  korean_r - the romanized form of the Korean reading(s) of the 
        kanji.  The readings are in the (Republic of Korea) Ministry 
        of Education style of romanization. [W]
  korean_h - the Korean reading(s) of the kanji in hangul.
  ja_on - the "on" Japanese reading of the kanji, in katakana. A
        second attribute r_status, if present, will indicate with
        a value of "jy" whether the reading is approved for a
        "Jouyou kanji".
  ja_kun - the "kun" Japanese reading of the kanji, in hiragana. 
        Where relevant the okurigana is also included separated by a 
        ".". Readings associated with prefixes and suffixes are 
        marked with a "-". A second attribute r_status, if present, 
        will indicate with a value of "jy" whether the reading is 
        approved for a "Jouyou kanji".
)

SAX.attributeDecl(reading, r_status, 1, 3, NULL, …) SAX.comment(

See under ja_on and ja_kun above.
)

SAX.elementDecl(meaning, 3, …) SAX.comment(

The meaning associated with the kanji.
)

SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, …) SAX.comment(

The m_lang attribute defines the target language of the meaning. It 
will be coded using the two-letter language code from the ISO 639 
standard. When absent, the value "en" (i.e. English) is implied. [{}]
)

SAX.externalSubset(kanjidic2, , ) SAX.startElement(kanjidic2) SAX.characters( , 1) SAX.endElement(kanjidic2) SAX.endDocument()