Last active
August 9, 2018 16:58
-
-
Save fedorg/622d09540888885f8c7a5bd1e9c7f5fe to your computer and use it in GitHub Desktop.
ChemDraw CDX Kaitai Struct spec
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
meta: | |
id: cdx | |
file-extension: cdx | |
title: CambridgeSoft ChemDraw CDX | |
endian: le | |
ks-version: 0.8 | |
encoding: ascii | |
seq: | |
- id: header | |
type: header | |
- id: document | |
type: document | |
size-eos: true | |
enums: | |
proptype: | |
0x0000: end_object | |
0x0001: creation_user_name | |
0x0002: creation_date | |
0x0003: creation_program | |
0x0004: modification_user_name | |
0x0005: modification_date | |
0x0006: modification_program | |
0x0007: unused1 | |
0x0008: name | |
0x0009: comment | |
0x000a: z_order | |
0x000b: registry_number | |
0x000c: registry_authority | |
0x000d: unused2 | |
0x000e: represents_property | |
0x000f: ignore_warnings | |
0x0010: chemical_warning | |
0x0011: visible | |
0x0100: font_table | |
0x0200: x2d_position | |
0x0201: x3d_position | |
0x0202: x2d_extent | |
0x0203: x3d_extent | |
0x0204: bounding_box | |
0x0205: rotation_angle | |
0x0206: bounds_in_parent | |
0x0207: x3d_head | |
0x0208: x3d_tail | |
0x0209: top_left | |
0x020a: top_right | |
0x020b: bottom_right | |
0x020c: bottom_left | |
0x0300: color_table | |
0x0301: foreground_color | |
0x0302: background_color | |
0x0400: node_type | |
0x0401: node_label_display | |
0x0402: node_element | |
0x0403: atom_element_list | |
0x0404: atom_formula | |
0x0420: atom_isotope | |
0x0421: atom_charge | |
0x0422: atom_radical | |
0x0423: atom_restrict_free_sites | |
0x0424: atom_restrict_implicit_hydrogens | |
0x0425: atom_restrict_ring_bond_count | |
0x0426: atom_restrict_unsaturated_bonds | |
0x0427: atom_restrict_rxn_change | |
0x0428: atom_restrict_rxn_stereo | |
0x0429: atom_abnormal_valence | |
0x042a: unused3 | |
0x042b: atom_num_hydrogens | |
0x042c: unused4 | |
0x042d: unused5 | |
0x042e: atom_h_dot | |
0x042f: atom_h_dash | |
0x0430: atom_geometry | |
0x0431: atom_bond_ordering | |
0x0432: node_attachments | |
0x0433: atom_generic_nickname | |
0x0434: atom_alt_group_id | |
0x0435: atom_restrict_substituents_up_to | |
0x0436: atom_restrict_substituents_exactly | |
0x0437: atom_cip_stereochemistry | |
0x0438: atom_translation | |
0x0439: atom_atom_number | |
0x043a: atom_show_query | |
0x043b: atom_show_stereo | |
0x043c: atom_show_atom_number | |
0x043d: atom_link_count_low | |
0x043e: atom_link_count_high | |
0x043f: atom_isotopic_abundance | |
0x0440: atom_external_connection_type | |
0x0500: mole_racemic | |
0x0501: mole_absolute | |
0x0502: mole_relative | |
0x0503: mole_formula | |
0x0504: mole_weight | |
0x0505: frag_connection_order | |
0x0600: bond_order | |
0x0601: bond_display | |
0x0602: bond_display2 | |
0x0603: bond_double_position | |
0x0604: bond_begin | |
0x0605: bond_end | |
0x0606: bond_restrict_topology | |
0x0607: bond_restrict_rxn_participation | |
0x0608: bond_begin_attach | |
0x0609: bond_end_attach | |
0x060a: bond_cip_stereochemistry | |
0x060b: bond_bond_ordering | |
0x060c: bond_show_query | |
0x060d: bond_show_stereo | |
0x060e: bond_crossing_bonds | |
0x060f: bond_show_rxn | |
0x0700: text | |
0x0701: justification | |
0x0702: line_height | |
0x0703: word_wrap_width | |
0x0704: line_starts | |
0x0705: label_alignment | |
0x0706: label_line_height | |
0x0707: caption_line_height | |
0x0708: interpret_chemically | |
0x0800: mac_print_info | |
0x0801: win_print_info | |
0x0802: print_margins | |
0x0803: chain_angle | |
0x0804: bond_spacing | |
0x0805: bond_length | |
0x0806: bold_width | |
0x0807: line_width | |
0x0808: margin_width | |
0x0809: hash_spacing | |
0x080a: label_style | |
0x080b: caption_style | |
0x080c: caption_justification | |
0x080d: fractional_widths | |
0x080e: magnification | |
0x080f: width_pages | |
0x0810: height_pages | |
0x0811: drawing_space_type | |
0x0812: width | |
0x0813: height | |
0x0814: page_overlap | |
0x0815: header | |
0x0816: header_position | |
0x0817: footer | |
0x0818: footer_position | |
0x0819: print_trim_marks | |
0x081a: label_style_font | |
0x081b: caption_style_font | |
0x081c: label_style_size | |
0x081d: caption_style_size | |
0x081e: label_style_face | |
0x081f: caption_style_face | |
0x0820: label_style_color | |
0x0821: caption_style_color | |
0x0822: bond_spacing_abs | |
0x0823: label_justification | |
0x0824: fix_inplace_extent | |
0x0825: side | |
0x0826: fix_inplace_gap | |
0x0900: window_is_zoomed | |
0x0901: window_position | |
0x0902: window_size | |
0x0a00: graphic_type | |
0x0a01: line_type | |
0x0a02: arrow_type | |
0x0a03: rectangle_type | |
0x0a04: oval_type | |
0x0a05: orbital_type | |
0x0a06: bracket_type | |
0x0a07: symbol_type | |
0x0a08: curve_type | |
0x0a20: arrow_head_size | |
0x0a21: arc_angular_size | |
0x0a22: bracket_lip_size | |
0x0a23: curve_points | |
0x0a24: bracket_usage | |
0x0a25: polymer_repeat_pattern | |
0x0a26: polymer_flip_type | |
0x0a27: bracketed_objects | |
0x0a28: bracket_repeat_count | |
0x0a29: bracket_component_order | |
0x0a2a: bracket_sru_label | |
0x0a2b: bracket_graphic_id | |
0x0a2c: bracket_bond_id | |
0x0a2d: bracket_inner_atom_id | |
0x0a2e: curve_points3d | |
0x0a60: picture_edition | |
0x0a61: picture_edition_alias | |
0x0a62: mac_pict | |
0x0a63: windows_metafile | |
0x0a64: ole_object | |
0x0a65: enhanced_metafile | |
0x0a80: spectrum_x_spacing | |
0x0a81: spectrum_x_low | |
0x0a82: spectrum_x_type | |
0x0a83: spectrum_y_type | |
0x0a84: spectrum_x_axis_label | |
0x0a85: spectrum_y_axis_label | |
0x0a86: spectrum_data_point | |
0x0a87: spectrum_class | |
0x0a88: spectrum_y_low | |
0x0a89: spectrum_y_scale | |
0x0aa0: tlc_origin_fraction | |
0x0aa1: tlc_solvent_front_fraction | |
0x0aa2: tlc_show_origin | |
0x0aa3: tlc_show_solvent_front | |
0x0aa4: tlc_show_borders | |
0x0aa5: tlc_show_side_ticks | |
0x0ab0: tlc_rf | |
0x0ab1: tlc_tail | |
0x0ab2: tlc_show_rf | |
0x0b00: named_alternative_group_text_frame | |
0x0b01: named_alternative_group_group_frame | |
0x0b02: named_alternative_group_valence | |
0x0b80: geometric_feature | |
0x0b81: relation_value | |
0x0b82: basis_objects | |
0x0b83: constraint_type | |
0x0b84: constraint_min | |
0x0b85: constraint_max | |
0x0b86: ignore_unconnected_atoms | |
0x0b87: dihedral_is_chiral | |
0x0b88: point_is_directed | |
0x0c00: reaction_step_atom_map | |
0x0c01: reaction_step_reactants | |
0x0c02: reaction_step_products | |
0x0c03: reaction_step_plusses | |
0x0c04: reaction_step_arrows | |
0x0c05: reaction_step_objects_above_arrow | |
0x0c06: reaction_step_objects_below_arrow | |
0x0c07: reaction_step_atom_map_manual | |
0x0c08: reaction_step_atom_map_auto | |
0x0d00: object_tag_type | |
0x0d01: unused6 | |
0x0d02: unused7 | |
0x0d03: object_tag_tracking | |
0x0d04: object_tag_persistent | |
0x0d05: object_tag_value | |
0x0d06: positioning | |
0x0d07: positioning_angle | |
0x0d08: positioning_offset | |
0x0e00: sequence_identifier | |
0x0f00: cross_reference_container | |
0x0f01: cross_reference_document | |
0x0f02: cross_reference_identifier | |
0x0f03: cross_reference_sequence | |
0x1000: template_pane_height | |
0x1001: template_num_rows | |
0x1002: template_num_columns | |
0x1100: group_integral | |
0x1ff0: splitter_positions | |
0x1ff1: page_definition | |
0x4000: user_temporary_begin | |
0x4400: user_temporary_end | |
0x8000: obj_document | |
0x8001: obj_page | |
0x8002: obj_group | |
0x8003: obj_fragment | |
0x8004: obj_node | |
0x8005: obj_bond | |
0x8006: obj_text | |
0x8007: obj_graphic | |
0x8008: obj_curve | |
0x8009: obj_embedded_object | |
0x800a: obj_named_alternative_group | |
0x800b: obj_template_grid | |
0x800c: obj_registry_number | |
0x800d: obj_reaction_scheme | |
0x800e: obj_reaction_step | |
0x800f: obj_object_definition | |
0x8010: obj_spectrum | |
0x8011: obj_object_tag | |
0x8012: obj_ole_client_item | |
0x8013: obj_sequence | |
0x8014: obj_cross_reference | |
0x8015: obj_splitter | |
0x8016: obj_table | |
0x8017: obj_bracketed_group | |
0x8018: obj_bracket_attachment | |
0x8019: obj_crossing_bond | |
0x8020: obj_border | |
0x8021: obj_geometry | |
0x8022: obj_constraint | |
0x8023: obj_tlc_plate | |
0x8024: obj_tlc_lane | |
0x8025: obj_tlc_spot | |
0x8fff: obj_unknown_object | |
types: | |
cdx_unknown: | |
-webide-representation: '{data}' | |
seq: | |
- id: data | |
size-eos: true | |
cdx_font_style: | |
# types: | |
# font_flags: | |
# enums: | |
# font_script: | |
# 0: plain | |
# 1: sub | |
# 2: super | |
# 3: formula | |
# seq: | |
# - id: bold | |
# type: b1 | |
# - id: italic | |
# type: b1 | |
# - id: underline | |
# type: b1 | |
# - id: outline | |
# type: b1 | |
# - id: shadow | |
# type: b1 | |
# - id: font_script | |
# type: b2 | |
# enum: font_script | |
seq: | |
- id: font_table_index | |
type: u2 | |
- id: flags | |
type: u2 #font_flags | |
- id: size | |
type: u2 | |
- id: color | |
type: u2 | |
cdx_raw_string: | |
seq: | |
- id: value | |
type: str | |
size-eos: true | |
cdx_string: | |
-webide-representation: '{text}' | |
types: | |
stylerun: | |
seq: | |
- id: starts | |
type: u2 | |
- id: style | |
type: cdx_font_style | |
seq: | |
- id: num_styleruns | |
type: u2 | |
- id: styleruns | |
type: stylerun | |
repeat: expr | |
repeat-expr: num_styleruns | |
- id: text | |
type: str | |
size-eos: true | |
cdx_boolean: | |
seq: | |
- id: value | |
type: s1 | |
cdx_coordinate: | |
seq: | |
- id: value | |
type: s4 | |
cdx_point2d: | |
seq: | |
- id: yx | |
type: s4 | |
repeat: expr | |
repeat-expr: 2 | |
cdx_point3d: | |
seq: | |
- id: zyx | |
type: s4 | |
repeat: expr | |
repeat-expr: 3 | |
cdx_rectangle: | |
seq: | |
- id: tlbr | |
type: s4 | |
repeat: expr | |
repeat-expr: 4 | |
cdx_color_table: | |
types: | |
color: | |
seq: | |
- id: rgb | |
type: u2 | |
repeat: expr | |
repeat-expr: 3 | |
seq: | |
- id: num_colors | |
type: u2 | |
- id: colors | |
type: color | |
repeat: expr | |
repeat-expr: num_colors | |
cdx_curve_points: | |
seq: | |
- id: num_points | |
type: u2 | |
- id: points | |
type: cdx_point2d | |
repeat: expr | |
repeat-expr: num_points | |
cdx_curve_points3d: | |
seq: | |
- id: num_points | |
type: u2 | |
- id: points | |
type: cdx_point3d | |
repeat: expr | |
repeat-expr: num_points | |
cdx_element_list: | |
seq: | |
- id: num_elements | |
type: s2 | |
- id: elements | |
type: s2 | |
repeat: expr | |
repeat-expr: (num_elements < 0 ? -num_elements : num_elements) | |
instances: | |
negation: | |
value: (num_elements < 0) | |
cdx_object_id: | |
seq: | |
- id: obj_id | |
type: u4 | |
cdx_object_id_array: | |
seq: | |
- id: objs | |
type: cdx_object_id | |
repeat: eos | |
cdx_object_id_array_with_counts: | |
seq: | |
- id: num_objs | |
type: u2 | |
- id: objs | |
type: cdx_object_id | |
repeat: expr | |
repeat-expr: num_objs | |
cdx_represents_property: | |
seq: | |
- id: obj_id | |
type: cdx_object_id | |
- id: prop_tag | |
type: u2 | |
cdx_font_table: | |
types: | |
stylerun: | |
-webide-representation: '{font_name}' | |
seq: | |
- id: font_id | |
type: u2 | |
- id: charset | |
type: u2 | |
- id: font_name_length | |
type: u2 | |
- id: font_name | |
type: str | |
size: font_name_length | |
seq: | |
- id: platform | |
type: u2 | |
- id: num_styleruns | |
type: u2 | |
- id: styleruns | |
type: stylerun | |
repeat: expr | |
repeat-expr: num_styleruns | |
cdx_date: | |
seq: | |
- id: year | |
type: s2 | |
- id: month | |
type: s2 | |
- id: day | |
type: s2 | |
- id: hour | |
type: s2 | |
- id: minute | |
type: s2 | |
- id: second | |
type: s2 | |
- id: milliseconds | |
type: s2 | |
int16_list_with_counts: | |
seq: | |
- id: num_values | |
type: u2 | |
- id: values | |
type: u2 | |
repeat: expr | |
repeat-expr: num_values | |
cdx_object: | |
seq: | |
- id: value | |
type: cdx_unknown | |
cdx_formula: | |
seq: | |
- id: value | |
type: cdx_unknown | |
cdx_boolean_implied: | |
seq: | |
- id: content | |
size: _parent.len | |
instances: | |
value: | |
value: _parent.len > 0 | |
cdx_varies: | |
seq: | |
- id: value | |
type: cdx_unknown | |
cdx_cip_stereo_bond: | |
enums: | |
stereo: | |
0: | |
id: u | |
doc: Undetermined | |
1: | |
id: n | |
doc: Determined to be symmetric | |
2: | |
id: e | |
doc: Asymmetric: (E) | |
3: | |
id: z | |
doc: Asymmetric: (Z) | |
seq: | |
- id: stereo | |
type: s1 | |
enum: stereo | |
cdx_cip_stereo_atom: | |
enums: | |
stereo: | |
0: | |
id: u | |
doc: Undetermined | |
1: | |
id: n | |
doc: Determined to be symmetric | |
2: | |
id: r | |
doc: Asymmetric: (R) | |
3: | |
id: s | |
doc: Asymmetric: (S) | |
4: | |
id: pr | |
doc: Pseudoasymmetric: (r) | |
5: | |
id: ps | |
doc: Pseudoasymmetric: (s) | |
6: | |
id: unspecified | |
doc: The node is not symmetric (might be asymmetric or pseudoasymmetric), but lacks a hash/wedge so absolute configuration cannot be determined | |
seq: | |
- id: stereo | |
type: s1 | |
enum: stereo | |
header: | |
seq: | |
- id: magic | |
contents: [ 0x56, 0x6a, 0x43, 0x44, | |
0x30, 0x31, 0x30, 0x30, | |
0x04, 0x03, 0x02, 0x01, | |
0x00, 0x00, 0x00, 0x00, | |
0x00, 0x00, 0x00, 0x00, | |
0x00, 0x00 ] | |
prop: | |
-webide-representation: '{content}' | |
seq: | |
- id: len | |
type: u2 | |
- id: content | |
size: len | |
type: | |
switch-on: _parent.tag | |
cases: | |
'proptype::end_object': s2 | |
'proptype::creation_user_name': cdx_string | |
'proptype::creation_date': cdx_date | |
'proptype::creation_program': cdx_string | |
'proptype::modification_user_name': cdx_string | |
'proptype::modification_date': cdx_date | |
'proptype::modification_program': cdx_string | |
'proptype::unused1': cdx_unknown | |
'proptype::name': cdx_raw_string | |
'proptype::comment': cdx_string | |
'proptype::z_order': s2 | |
'proptype::registry_number': cdx_string | |
'proptype::registry_authority': cdx_string | |
'proptype::unused2': cdx_unknown | |
'proptype::represents_property': cdx_represents_property | |
'proptype::ignore_warnings': cdx_boolean_implied | |
'proptype::chemical_warning': cdx_string | |
'proptype::visible': cdx_boolean | |
# fonts. | |
'proptype::font_table': cdx_font_table | |
# coordinates. | |
'proptype::x2d_position': cdx_point2d | |
'proptype::x3d_position': cdx_point3d | |
'proptype::x2d_extent': cdx_point2d | |
'proptype::x3d_extent': cdx_point3d | |
'proptype::bounding_box': cdx_rectangle | |
'proptype::rotation_angle': s4 | |
'proptype::bounds_in_parent': cdx_rectangle | |
'proptype::x3d_head': cdx_point3d | |
'proptype::x3d_tail': cdx_point3d | |
'proptype::top_left': cdx_point2d | |
'proptype::top_right': cdx_point2d | |
'proptype::bottom_right': cdx_point2d | |
'proptype::bottom_left': cdx_point2d | |
# colors. | |
'proptype::color_table': cdx_color_table | |
'proptype::foreground_color': u2 | |
'proptype::background_color': s2 | |
# atom properties. | |
'proptype::node_type': s2 | |
'proptype::node_label_display': s1 | |
'proptype::node_element': s2 | |
'proptype::atom_element_list': cdx_element_list | |
'proptype::atom_formula': cdx_formula | |
'proptype::atom_isotope': s2 | |
'proptype::atom_charge': s1 | |
'proptype::atom_radical': u1 | |
'proptype::atom_restrict_free_sites': u1 | |
'proptype::atom_restrict_implicit_hydrogens': cdx_boolean_implied | |
'proptype::atom_restrict_ring_bond_count': s1 | |
'proptype::atom_restrict_unsaturated_bonds': s1 | |
'proptype::atom_restrict_rxn_change': cdx_boolean_implied | |
'proptype::atom_restrict_rxn_stereo': s1 | |
'proptype::atom_abnormal_valence': cdx_boolean_implied | |
'proptype::unused3': s2 | |
'proptype::atom_num_hydrogens': u2 | |
'proptype::unused4': s2 | |
'proptype::unused5': s2 | |
'proptype::atom_h_dot': cdx_boolean_implied | |
'proptype::atom_h_dash': cdx_boolean_implied | |
'proptype::atom_geometry': s1 | |
'proptype::atom_bond_ordering': cdx_object_id_array | |
'proptype::node_attachments': cdx_object_id_array_with_counts | |
'proptype::atom_generic_nickname': cdx_string | |
'proptype::atom_alt_group_id': cdx_object_id | |
'proptype::atom_restrict_substituents_up_to': u1 | |
'proptype::atom_restrict_substituents_exactly': u1 | |
'proptype::atom_cip_stereochemistry': cdx_cip_stereo_atom | |
'proptype::atom_translation': s1 | |
'proptype::atom_atom_number': cdx_string | |
'proptype::atom_show_query': cdx_boolean | |
'proptype::atom_show_stereo': cdx_boolean | |
'proptype::atom_show_atom_number': cdx_boolean | |
'proptype::atom_link_count_low': s2 | |
'proptype::atom_link_count_high': s2 | |
'proptype::atom_isotopic_abundance': s1 | |
'proptype::atom_external_connection_type': s1 | |
# molecule properties. | |
'proptype::mole_racemic': cdx_boolean | |
'proptype::mole_absolute': cdx_boolean | |
'proptype::mole_relative': cdx_boolean | |
'proptype::mole_formula': cdx_formula | |
'proptype::mole_weight': f8 | |
'proptype::frag_connection_order': cdx_object_id_array | |
# bond properties. | |
'proptype::bond_order': s2 | |
'proptype::bond_display': s2 | |
'proptype::bond_display2': s2 | |
'proptype::bond_double_position': s2 | |
'proptype::bond_begin': cdx_object_id | |
'proptype::bond_end': cdx_object_id | |
'proptype::bond_restrict_topology': s1 | |
'proptype::bond_restrict_rxn_participation': s1 | |
'proptype::bond_begin_attach': u1 | |
'proptype::bond_end_attach': u1 | |
'proptype::bond_cip_stereochemistry': cdx_cip_stereo_bond | |
'proptype::bond_bond_ordering': cdx_object_id_array | |
'proptype::bond_show_query': cdx_boolean | |
'proptype::bond_show_stereo': cdx_boolean | |
'proptype::bond_crossing_bonds': cdx_object_id_array | |
'proptype::bond_show_rxn': cdx_boolean | |
# text properties. | |
'proptype::text': cdx_string | |
'proptype::justification': s1 | |
'proptype::line_height': u2 | |
'proptype::word_wrap_width': s2 | |
'proptype::line_starts': int16_list_with_counts | |
'proptype::label_alignment': s1 | |
'proptype::label_line_height': s2 | |
'proptype::caption_line_height': s2 | |
'proptype::interpret_chemically': cdx_boolean_implied | |
# document properties. | |
'proptype::mac_print_info': cdx_unknown | |
'proptype::win_print_info': cdx_unknown | |
'proptype::print_margins': cdx_rectangle | |
'proptype::chain_angle': s4 | |
'proptype::bond_spacing': s2 | |
'proptype::bond_length': cdx_coordinate | |
'proptype::bold_width': cdx_coordinate | |
'proptype::line_width': cdx_coordinate | |
'proptype::margin_width': cdx_coordinate | |
'proptype::hash_spacing': cdx_coordinate | |
'proptype::label_style': cdx_font_style | |
'proptype::caption_style': cdx_font_style | |
'proptype::caption_justification': s1 | |
'proptype::fractional_widths': cdx_boolean_implied | |
'proptype::magnification': s2 | |
'proptype::width_pages': s2 | |
'proptype::height_pages': s2 | |
'proptype::drawing_space_type': s1 | |
'proptype::width': cdx_coordinate | |
'proptype::height': cdx_coordinate | |
'proptype::page_overlap': cdx_coordinate | |
'proptype::header': cdx_string | |
'proptype::header_position': cdx_coordinate | |
'proptype::footer': cdx_string | |
'proptype::footer_position': cdx_coordinate | |
'proptype::print_trim_marks': cdx_boolean_implied | |
'proptype::label_style_font': s2 | |
'proptype::caption_style_font': s2 | |
'proptype::label_style_size': s2 | |
'proptype::caption_style_size': s2 | |
'proptype::label_style_face': s2 | |
'proptype::caption_style_face': s2 | |
'proptype::label_style_color': s2 | |
'proptype::caption_style_color': s2 | |
'proptype::bond_spacing_abs': cdx_coordinate | |
'proptype::label_justification': s1 | |
'proptype::fix_inplace_extent': cdx_point2d | |
'proptype::side': s2 | |
'proptype::fix_inplace_gap': cdx_point2d | |
# window properties. | |
'proptype::window_is_zoomed': cdx_boolean_implied | |
'proptype::window_position': cdx_point2d | |
'proptype::window_size': cdx_point2d | |
# graphic object properties. | |
'proptype::graphic_type': s2 | |
'proptype::line_type': s2 | |
'proptype::arrow_type': s2 | |
'proptype::rectangle_type': s2 | |
'proptype::oval_type': s2 | |
'proptype::orbital_type': s2 | |
'proptype::bracket_type': s2 | |
'proptype::symbol_type': s2 | |
'proptype::curve_type': s2 | |
'proptype::arrow_head_size': s2 | |
'proptype::arc_angular_size': s2 | |
'proptype::bracket_lip_size': s2 | |
'proptype::curve_points': cdx_curve_points | |
'proptype::bracket_usage': s1 | |
'proptype::polymer_repeat_pattern': s1 | |
'proptype::polymer_flip_type': s1 | |
'proptype::bracketed_objects': cdx_object_id_array | |
'proptype::bracket_repeat_count': s2 | |
'proptype::bracket_component_order': s2 | |
'proptype::bracket_sru_label': cdx_string | |
'proptype::bracket_graphic_id': cdx_object_id | |
'proptype::bracket_bond_id': cdx_object_id | |
'proptype::bracket_inner_atom_id': cdx_object_id | |
'proptype::curve_points3d': cdx_curve_points3d | |
# embedded pictures. | |
'proptype::picture_edition': cdx_unknown | |
'proptype::picture_edition_alias': cdx_unknown | |
'proptype::mac_pict': cdx_unknown | |
'proptype::windows_metafile': cdx_unknown | |
'proptype::ole_object': cdx_unknown | |
'proptype::enhanced_metafile': cdx_unknown | |
# spectrum properties | |
'proptype::spectrum_x_spacing': f8 | |
'proptype::spectrum_x_low': f8 | |
'proptype::spectrum_x_type': s2 | |
'proptype::spectrum_y_type': s2 | |
'proptype::spectrum_x_axis_label': cdx_string | |
'proptype::spectrum_y_axis_label': cdx_string | |
'proptype::spectrum_data_point': f8 | |
'proptype::spectrum_class': s2 | |
'proptype::spectrum_y_low': f8 | |
'proptype::spectrum_y_scale': f8 | |
# tlc properties | |
'proptype::tlc_origin_fraction': f8 | |
'proptype::tlc_solvent_front_fraction': f8 | |
'proptype::tlc_show_origin': cdx_boolean | |
'proptype::tlc_show_solvent_front': cdx_boolean | |
'proptype::tlc_show_borders': cdx_boolean | |
'proptype::tlc_show_side_ticks': cdx_boolean | |
'proptype::tlc_rf': f8 | |
'proptype::tlc_tail': cdx_coordinate | |
'proptype::tlc_show_rf': cdx_boolean | |
# alternate group properties | |
'proptype::named_alternative_group_text_frame': cdx_rectangle | |
'proptype::named_alternative_group_group_frame': cdx_rectangle | |
'proptype::named_alternative_group_valence': s2 | |
# geometry and constraint properties | |
'proptype::geometric_feature': s1 | |
'proptype::relation_value': s1 | |
'proptype::basis_objects': cdx_object_id_array | |
'proptype::constraint_type': s1 | |
'proptype::constraint_min': f8 | |
'proptype::constraint_max': f8 | |
'proptype::ignore_unconnected_atoms': cdx_boolean_implied | |
'proptype::dihedral_is_chiral': cdx_boolean_implied | |
'proptype::point_is_directed': cdx_boolean_implied | |
# reaction properties | |
'proptype::reaction_step_atom_map': cdx_object_id_array | |
'proptype::reaction_step_reactants': cdx_object_id_array | |
'proptype::reaction_step_products': cdx_object_id_array | |
'proptype::reaction_step_plusses': cdx_object_id_array | |
'proptype::reaction_step_arrows': cdx_object_id_array | |
'proptype::reaction_step_objects_above_arrow': cdx_object_id_array | |
'proptype::reaction_step_objects_below_arrow': cdx_object_id_array | |
'proptype::reaction_step_atom_map_manual': cdx_object_id_array | |
'proptype::reaction_step_atom_map_auto': cdx_object_id_array | |
# cdobject_tag properties | |
'proptype::object_tag_type': s2 | |
'proptype::unused6': cdx_unknown | |
'proptype::unused7': cdx_unknown | |
'proptype::object_tag_tracking': cdx_boolean | |
'proptype::object_tag_persistent': cdx_boolean | |
'proptype::object_tag_value': cdx_varies | |
'proptype::positioning': s1 | |
'proptype::positioning_angle': s4 | |
'proptype::positioning_offset': cdx_point2d | |
# cdsequence properties | |
'proptype::sequence_identifier': cdx_string | |
# cdcross_reference properties | |
'proptype::cross_reference_container': cdx_string | |
'proptype::cross_reference_document': cdx_string | |
'proptype::cross_reference_identifier': cdx_string | |
'proptype::cross_reference_sequence': cdx_string | |
# miscellaneous properties. | |
'proptype::template_pane_height': cdx_coordinate | |
'proptype::template_num_rows': s2 | |
'proptype::template_num_columns': s2 | |
'proptype::group_integral': cdx_boolean | |
'proptype::splitter_positions': cdx_object_id_array | |
'proptype::page_definition': cdx_object_id_array | |
# user defined properties | |
# first 1024 tags are reserved for temporary tags used only during the runtime. | |
'proptype::user_temporary_begin': cdx_unknown | |
'proptype::user_temporary_end': cdx_unknown | |
# objects. | |
'proptype::obj_document': cdx_object | |
'proptype::obj_page': cdx_object | |
'proptype::obj_group': cdx_object | |
'proptype::obj_fragment': cdx_object | |
'proptype::obj_node': cdx_object | |
'proptype::obj_bond': cdx_object | |
'proptype::obj_text': cdx_object | |
'proptype::obj_graphic': cdx_object | |
'proptype::obj_curve': cdx_object | |
'proptype::obj_embedded_object': cdx_object | |
'proptype::obj_named_alternative_group': cdx_object | |
'proptype::obj_template_grid': cdx_object | |
'proptype::obj_registry_number': cdx_object | |
'proptype::obj_reaction_scheme': cdx_object | |
'proptype::obj_reaction_step': cdx_object | |
'proptype::obj_object_definition': cdx_object | |
'proptype::obj_spectrum': cdx_object | |
'proptype::obj_object_tag': cdx_object | |
'proptype::obj_ole_client_item': cdx_object | |
'proptype::obj_sequence': cdx_object | |
'proptype::obj_cross_reference': cdx_object | |
'proptype::obj_splitter': cdx_object | |
'proptype::obj_table': cdx_object | |
'proptype::obj_bracketed_group': cdx_object | |
'proptype::obj_bracket_attachment': cdx_object | |
'proptype::obj_crossing_bond': cdx_object | |
'proptype::obj_border': cdx_object | |
'proptype::obj_geometry': cdx_object | |
'proptype::obj_constraint': cdx_object | |
'proptype::obj_tlc_plate': cdx_object | |
'proptype::obj_tlc_lane': cdx_object | |
'proptype::obj_tlc_spot': cdx_object | |
'proptype::obj_unknown_object': cdx_object | |
_: cdx_unknown | |
entity: | |
-webide-representation: '{tag}: {prop}{obj.objId}' | |
seq: | |
- id: tag | |
type: u2 | |
enum: proptype | |
- id: prop | |
type: prop | |
if: (tag.to_i < 0x8000) and (tag != proptype::end_object) | |
- id: obj | |
type: obj | |
if: (tag.to_i >= 0x8000) and (tag != proptype::end_object) | |
obj: | |
seq: | |
- id: obj_id | |
type: u4 | |
- id: content | |
type: entity | |
repeat: until | |
repeat-until: _.tag == proptype::end_object | |
document: | |
seq: | |
- id: content | |
type: entity | |
repeat: eos | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment