1<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
2
3   <xsd:annotation>
4      <xsd:documentation xml:lang="en">
5
6         XML Schema (XSD) for Ada.
7
8         This file was generated by the gnat2xsd tool.
9
10         gnat2xsd Copyright (C) 2012-2015, AdaCore, Inc.
11
12         This schema is open source and is licensed under the Eclipse Public
13         License (EPL). See http://www.eclipse.org/legal/epl-v10.html
14
15
16         There are several sections below:
17
18             Basic Types. General-purpose elements used everywhere.
19
20             Abstract Classes. Unions of concrete types.
21
22             List Types. Lists of abstract class types.
23
24             Boolean Elements. These indicate that the corresponding
25             query is True; False is indicated by Nil.
26
27             Defining Occurrences. Elements for defining occurrences,
28             such as Defining_Identifier.
29
30             Usage Occurrences. Elements for usage occurrences
31             (references to defining occurrences), such as Identifier.
32
33             Other Elements. All syntactic structures that don't fall
34             under defining or usage occurrences.
35
36      </xsd:documentation>
37   </xsd:annotation>
38
39
40   <!-- ================================================================ -->
41   <!-- Basic Types -->
42
43   <xsd:simpleType name="Source_Location">
44      <xsd:restriction base="xsd:string">
45         <xsd:pattern value="\d+:\d+"/>
46      </xsd:restriction>
47   </xsd:simpleType>
48
49   <xsd:element name="not_an_element" type="Not_An_Element"/>
50
51   <xsd:complexType name="Not_An_Element">
52      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
53   </xsd:complexType>
54
55   <xsd:element name="compilation_unit" type="Compilation_Unit"/>
56
57   <xsd:complexType name="Compilation_Unit">
58      <xsd:sequence>
59         <xsd:element name="context_clause_elements_ql" type="Context_Clause_List"/>
60         <xsd:element name="unit_declaration_q" type="Declaration_Class"/>
61         <xsd:element name="pragmas_after_ql" type="Element_List"/>
62      </xsd:sequence>
63      <xsd:attribute name="unit_kind" type="xsd:string" use="required"/>
64      <xsd:attribute name="unit_class" type="xsd:string" use="required"/>
65      <xsd:attribute name="unit_origin" type="xsd:string" use="required"/>
66      <xsd:attribute name="unit_full_name" type="xsd:string" use="required"/>
67      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
68      <xsd:attribute name="source_file" type="xsd:string" use="required"/>
69      <xsd:attribute name="checks" type="xsd:string"/>
70      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
71   </xsd:complexType>
72
73   <!-- ================================================================ -->
74   <!-- Abstract Classes -->
75
76   <xsd:complexType name="Element_Class">
77      <xsd:choice maxOccurs="1">
78         <xsd:element ref="not_an_element"/>
79         <xsd:element ref="defining_identifier"/>
80         <xsd:element ref="defining_character_literal"/>
81         <xsd:element ref="defining_enumeration_literal"/>
82         <xsd:element ref="defining_and_operator"/>
83         <xsd:element ref="defining_or_operator"/>
84         <xsd:element ref="defining_xor_operator"/>
85         <xsd:element ref="defining_equal_operator"/>
86         <xsd:element ref="defining_not_equal_operator"/>
87         <xsd:element ref="defining_less_than_operator"/>
88         <xsd:element ref="defining_less_than_or_equal_operator"/>
89         <xsd:element ref="defining_greater_than_operator"/>
90         <xsd:element ref="defining_greater_than_or_equal_operator"/>
91         <xsd:element ref="defining_plus_operator"/>
92         <xsd:element ref="defining_minus_operator"/>
93         <xsd:element ref="defining_concatenate_operator"/>
94         <xsd:element ref="defining_unary_plus_operator"/>
95         <xsd:element ref="defining_unary_minus_operator"/>
96         <xsd:element ref="defining_multiply_operator"/>
97         <xsd:element ref="defining_divide_operator"/>
98         <xsd:element ref="defining_mod_operator"/>
99         <xsd:element ref="defining_rem_operator"/>
100         <xsd:element ref="defining_exponentiate_operator"/>
101         <xsd:element ref="defining_abs_operator"/>
102         <xsd:element ref="defining_not_operator"/>
103         <xsd:element ref="defining_expanded_name"/>
104         <xsd:element ref="ordinary_type_declaration"/>
105         <xsd:element ref="task_type_declaration"/>
106         <xsd:element ref="protected_type_declaration"/>
107         <xsd:element ref="incomplete_type_declaration"/>
108         <xsd:element ref="tagged_incomplete_type_declaration"/>
109         <xsd:element ref="private_type_declaration"/>
110         <xsd:element ref="private_extension_declaration"/>
111         <xsd:element ref="subtype_declaration"/>
112         <xsd:element ref="variable_declaration"/>
113         <xsd:element ref="constant_declaration"/>
114         <xsd:element ref="deferred_constant_declaration"/>
115         <xsd:element ref="single_task_declaration"/>
116         <xsd:element ref="single_protected_declaration"/>
117         <xsd:element ref="integer_number_declaration"/>
118         <xsd:element ref="real_number_declaration"/>
119         <xsd:element ref="enumeration_literal_specification"/>
120         <xsd:element ref="discriminant_specification"/>
121         <xsd:element ref="component_declaration"/>
122         <xsd:element ref="loop_parameter_specification"/>
123         <xsd:element ref="generalized_iterator_specification"/>
124         <xsd:element ref="element_iterator_specification"/>
125         <xsd:element ref="procedure_declaration"/>
126         <xsd:element ref="function_declaration"/>
127         <xsd:element ref="parameter_specification"/>
128         <xsd:element ref="procedure_body_declaration"/>
129         <xsd:element ref="function_body_declaration"/>
130         <xsd:element ref="return_variable_specification"/>
131         <xsd:element ref="return_constant_specification"/>
132         <xsd:element ref="null_procedure_declaration"/>
133         <xsd:element ref="expression_function_declaration"/>
134         <xsd:element ref="package_declaration"/>
135         <xsd:element ref="package_body_declaration"/>
136         <xsd:element ref="object_renaming_declaration"/>
137         <xsd:element ref="exception_renaming_declaration"/>
138         <xsd:element ref="package_renaming_declaration"/>
139         <xsd:element ref="procedure_renaming_declaration"/>
140         <xsd:element ref="function_renaming_declaration"/>
141         <xsd:element ref="generic_package_renaming_declaration"/>
142         <xsd:element ref="generic_procedure_renaming_declaration"/>
143         <xsd:element ref="generic_function_renaming_declaration"/>
144         <xsd:element ref="task_body_declaration"/>
145         <xsd:element ref="protected_body_declaration"/>
146         <xsd:element ref="entry_declaration"/>
147         <xsd:element ref="entry_body_declaration"/>
148         <xsd:element ref="entry_index_specification"/>
149         <xsd:element ref="procedure_body_stub"/>
150         <xsd:element ref="function_body_stub"/>
151         <xsd:element ref="package_body_stub"/>
152         <xsd:element ref="task_body_stub"/>
153         <xsd:element ref="protected_body_stub"/>
154         <xsd:element ref="exception_declaration"/>
155         <xsd:element ref="choice_parameter_specification"/>
156         <xsd:element ref="generic_procedure_declaration"/>
157         <xsd:element ref="generic_function_declaration"/>
158         <xsd:element ref="generic_package_declaration"/>
159         <xsd:element ref="package_instantiation"/>
160         <xsd:element ref="procedure_instantiation"/>
161         <xsd:element ref="function_instantiation"/>
162         <xsd:element ref="formal_object_declaration"/>
163         <xsd:element ref="formal_type_declaration"/>
164         <xsd:element ref="formal_incomplete_type_declaration"/>
165         <xsd:element ref="formal_procedure_declaration"/>
166         <xsd:element ref="formal_function_declaration"/>
167         <xsd:element ref="formal_package_declaration"/>
168         <xsd:element ref="formal_package_declaration_with_box"/>
169         <xsd:element ref="derived_type_definition"/>
170         <xsd:element ref="derived_record_extension_definition"/>
171         <xsd:element ref="enumeration_type_definition"/>
172         <xsd:element ref="signed_integer_type_definition"/>
173         <xsd:element ref="modular_type_definition"/>
174         <xsd:element ref="root_integer_definition"/>
175         <xsd:element ref="root_real_definition"/>
176         <xsd:element ref="universal_integer_definition"/>
177         <xsd:element ref="universal_real_definition"/>
178         <xsd:element ref="universal_fixed_definition"/>
179         <xsd:element ref="floating_point_definition"/>
180         <xsd:element ref="ordinary_fixed_point_definition"/>
181         <xsd:element ref="decimal_fixed_point_definition"/>
182         <xsd:element ref="unconstrained_array_definition"/>
183         <xsd:element ref="constrained_array_definition"/>
184         <xsd:element ref="record_type_definition"/>
185         <xsd:element ref="tagged_record_type_definition"/>
186         <xsd:element ref="ordinary_interface"/>
187         <xsd:element ref="limited_interface"/>
188         <xsd:element ref="task_interface"/>
189         <xsd:element ref="protected_interface"/>
190         <xsd:element ref="synchronized_interface"/>
191         <xsd:element ref="pool_specific_access_to_variable"/>
192         <xsd:element ref="access_to_variable"/>
193         <xsd:element ref="access_to_constant"/>
194         <xsd:element ref="access_to_procedure"/>
195         <xsd:element ref="access_to_protected_procedure"/>
196         <xsd:element ref="access_to_function"/>
197         <xsd:element ref="access_to_protected_function"/>
198         <xsd:element ref="subtype_indication"/>
199         <xsd:element ref="range_attribute_reference"/>
200         <xsd:element ref="simple_expression_range"/>
201         <xsd:element ref="digits_constraint"/>
202         <xsd:element ref="delta_constraint"/>
203         <xsd:element ref="index_constraint"/>
204         <xsd:element ref="discriminant_constraint"/>
205         <xsd:element ref="component_definition"/>
206         <xsd:element ref="discrete_subtype_indication_as_subtype_definition"/>
207         <xsd:element ref="discrete_range_attribute_reference_as_subtype_definition"/>
208         <xsd:element ref="discrete_simple_expression_range_as_subtype_definition"/>
209         <xsd:element ref="discrete_subtype_indication"/>
210         <xsd:element ref="discrete_range_attribute_reference"/>
211         <xsd:element ref="discrete_simple_expression_range"/>
212         <xsd:element ref="unknown_discriminant_part"/>
213         <xsd:element ref="known_discriminant_part"/>
214         <xsd:element ref="record_definition"/>
215         <xsd:element ref="null_record_definition"/>
216         <xsd:element ref="null_component"/>
217         <xsd:element ref="variant_part"/>
218         <xsd:element ref="variant"/>
219         <xsd:element ref="others_choice"/>
220         <xsd:element ref="anonymous_access_to_variable"/>
221         <xsd:element ref="anonymous_access_to_constant"/>
222         <xsd:element ref="anonymous_access_to_procedure"/>
223         <xsd:element ref="anonymous_access_to_protected_procedure"/>
224         <xsd:element ref="anonymous_access_to_function"/>
225         <xsd:element ref="anonymous_access_to_protected_function"/>
226         <xsd:element ref="private_type_definition"/>
227         <xsd:element ref="tagged_private_type_definition"/>
228         <xsd:element ref="private_extension_definition"/>
229         <xsd:element ref="task_definition"/>
230         <xsd:element ref="protected_definition"/>
231         <xsd:element ref="formal_private_type_definition"/>
232         <xsd:element ref="formal_tagged_private_type_definition"/>
233         <xsd:element ref="formal_derived_type_definition"/>
234         <xsd:element ref="formal_discrete_type_definition"/>
235         <xsd:element ref="formal_signed_integer_type_definition"/>
236         <xsd:element ref="formal_modular_type_definition"/>
237         <xsd:element ref="formal_floating_point_definition"/>
238         <xsd:element ref="formal_ordinary_fixed_point_definition"/>
239         <xsd:element ref="formal_decimal_fixed_point_definition"/>
240         <xsd:element ref="formal_ordinary_interface"/>
241         <xsd:element ref="formal_limited_interface"/>
242         <xsd:element ref="formal_task_interface"/>
243         <xsd:element ref="formal_protected_interface"/>
244         <xsd:element ref="formal_synchronized_interface"/>
245         <xsd:element ref="formal_unconstrained_array_definition"/>
246         <xsd:element ref="formal_constrained_array_definition"/>
247         <xsd:element ref="formal_pool_specific_access_to_variable"/>
248         <xsd:element ref="formal_access_to_variable"/>
249         <xsd:element ref="formal_access_to_constant"/>
250         <xsd:element ref="formal_access_to_procedure"/>
251         <xsd:element ref="formal_access_to_protected_procedure"/>
252         <xsd:element ref="formal_access_to_function"/>
253         <xsd:element ref="formal_access_to_protected_function"/>
254         <xsd:element ref="aspect_specification"/>
255         <xsd:element ref="box_expression"/>
256         <xsd:element ref="integer_literal"/>
257         <xsd:element ref="real_literal"/>
258         <xsd:element ref="string_literal"/>
259         <xsd:element ref="identifier"/>
260         <xsd:element ref="and_operator"/>
261         <xsd:element ref="or_operator"/>
262         <xsd:element ref="xor_operator"/>
263         <xsd:element ref="equal_operator"/>
264         <xsd:element ref="not_equal_operator"/>
265         <xsd:element ref="less_than_operator"/>
266         <xsd:element ref="less_than_or_equal_operator"/>
267         <xsd:element ref="greater_than_operator"/>
268         <xsd:element ref="greater_than_or_equal_operator"/>
269         <xsd:element ref="plus_operator"/>
270         <xsd:element ref="minus_operator"/>
271         <xsd:element ref="concatenate_operator"/>
272         <xsd:element ref="unary_plus_operator"/>
273         <xsd:element ref="unary_minus_operator"/>
274         <xsd:element ref="multiply_operator"/>
275         <xsd:element ref="divide_operator"/>
276         <xsd:element ref="mod_operator"/>
277         <xsd:element ref="rem_operator"/>
278         <xsd:element ref="exponentiate_operator"/>
279         <xsd:element ref="abs_operator"/>
280         <xsd:element ref="not_operator"/>
281         <xsd:element ref="character_literal"/>
282         <xsd:element ref="enumeration_literal"/>
283         <xsd:element ref="explicit_dereference"/>
284         <xsd:element ref="function_call"/>
285         <xsd:element ref="indexed_component"/>
286         <xsd:element ref="slice"/>
287         <xsd:element ref="selected_component"/>
288         <xsd:element ref="access_attribute"/>
289         <xsd:element ref="address_attribute"/>
290         <xsd:element ref="adjacent_attribute"/>
291         <xsd:element ref="aft_attribute"/>
292         <xsd:element ref="alignment_attribute"/>
293         <xsd:element ref="base_attribute"/>
294         <xsd:element ref="bit_order_attribute"/>
295         <xsd:element ref="body_version_attribute"/>
296         <xsd:element ref="callable_attribute"/>
297         <xsd:element ref="caller_attribute"/>
298         <xsd:element ref="ceiling_attribute"/>
299         <xsd:element ref="class_attribute"/>
300         <xsd:element ref="component_size_attribute"/>
301         <xsd:element ref="compose_attribute"/>
302         <xsd:element ref="constrained_attribute"/>
303         <xsd:element ref="copy_sign_attribute"/>
304         <xsd:element ref="count_attribute"/>
305         <xsd:element ref="definite_attribute"/>
306         <xsd:element ref="delta_attribute"/>
307         <xsd:element ref="denorm_attribute"/>
308         <xsd:element ref="digits_attribute"/>
309         <xsd:element ref="exponent_attribute"/>
310         <xsd:element ref="external_tag_attribute"/>
311         <xsd:element ref="first_attribute"/>
312         <xsd:element ref="first_bit_attribute"/>
313         <xsd:element ref="floor_attribute"/>
314         <xsd:element ref="fore_attribute"/>
315         <xsd:element ref="fraction_attribute"/>
316         <xsd:element ref="identity_attribute"/>
317         <xsd:element ref="image_attribute"/>
318         <xsd:element ref="input_attribute"/>
319         <xsd:element ref="last_attribute"/>
320         <xsd:element ref="last_bit_attribute"/>
321         <xsd:element ref="leading_part_attribute"/>
322         <xsd:element ref="length_attribute"/>
323         <xsd:element ref="machine_attribute"/>
324         <xsd:element ref="machine_emax_attribute"/>
325         <xsd:element ref="machine_emin_attribute"/>
326         <xsd:element ref="machine_mantissa_attribute"/>
327         <xsd:element ref="machine_overflows_attribute"/>
328         <xsd:element ref="machine_radix_attribute"/>
329         <xsd:element ref="machine_rounds_attribute"/>
330         <xsd:element ref="max_attribute"/>
331         <xsd:element ref="max_size_in_storage_elements_attribute"/>
332         <xsd:element ref="min_attribute"/>
333         <xsd:element ref="model_attribute"/>
334         <xsd:element ref="model_emin_attribute"/>
335         <xsd:element ref="model_epsilon_attribute"/>
336         <xsd:element ref="model_mantissa_attribute"/>
337         <xsd:element ref="model_small_attribute"/>
338         <xsd:element ref="modulus_attribute"/>
339         <xsd:element ref="output_attribute"/>
340         <xsd:element ref="partition_id_attribute"/>
341         <xsd:element ref="pos_attribute"/>
342         <xsd:element ref="position_attribute"/>
343         <xsd:element ref="pred_attribute"/>
344         <xsd:element ref="range_attribute"/>
345         <xsd:element ref="read_attribute"/>
346         <xsd:element ref="remainder_attribute"/>
347         <xsd:element ref="round_attribute"/>
348         <xsd:element ref="rounding_attribute"/>
349         <xsd:element ref="safe_first_attribute"/>
350         <xsd:element ref="safe_last_attribute"/>
351         <xsd:element ref="scale_attribute"/>
352         <xsd:element ref="scaling_attribute"/>
353         <xsd:element ref="signed_zeros_attribute"/>
354         <xsd:element ref="size_attribute"/>
355         <xsd:element ref="small_attribute"/>
356         <xsd:element ref="storage_pool_attribute"/>
357         <xsd:element ref="storage_size_attribute"/>
358         <xsd:element ref="succ_attribute"/>
359         <xsd:element ref="tag_attribute"/>
360         <xsd:element ref="terminated_attribute"/>
361         <xsd:element ref="truncation_attribute"/>
362         <xsd:element ref="unbiased_rounding_attribute"/>
363         <xsd:element ref="unchecked_access_attribute"/>
364         <xsd:element ref="val_attribute"/>
365         <xsd:element ref="valid_attribute"/>
366         <xsd:element ref="value_attribute"/>
367         <xsd:element ref="version_attribute"/>
368         <xsd:element ref="wide_image_attribute"/>
369         <xsd:element ref="wide_value_attribute"/>
370         <xsd:element ref="wide_width_attribute"/>
371         <xsd:element ref="width_attribute"/>
372         <xsd:element ref="write_attribute"/>
373         <xsd:element ref="machine_rounding_attribute"/>
374         <xsd:element ref="mod_attribute"/>
375         <xsd:element ref="priority_attribute"/>
376         <xsd:element ref="stream_size_attribute"/>
377         <xsd:element ref="wide_wide_image_attribute"/>
378         <xsd:element ref="wide_wide_value_attribute"/>
379         <xsd:element ref="wide_wide_width_attribute"/>
380         <xsd:element ref="max_alignment_for_allocation_attribute"/>
381         <xsd:element ref="overlaps_storage_attribute"/>
382         <xsd:element ref="implementation_defined_attribute"/>
383         <xsd:element ref="unknown_attribute"/>
384         <xsd:element ref="record_aggregate"/>
385         <xsd:element ref="extension_aggregate"/>
386         <xsd:element ref="positional_array_aggregate"/>
387         <xsd:element ref="named_array_aggregate"/>
388         <xsd:element ref="and_then_short_circuit"/>
389         <xsd:element ref="or_else_short_circuit"/>
390         <xsd:element ref="in_membership_test"/>
391         <xsd:element ref="not_in_membership_test"/>
392         <xsd:element ref="null_literal"/>
393         <xsd:element ref="parenthesized_expression"/>
394         <xsd:element ref="raise_expression"/>
395         <xsd:element ref="type_conversion"/>
396         <xsd:element ref="qualified_expression"/>
397         <xsd:element ref="allocation_from_subtype"/>
398         <xsd:element ref="allocation_from_qualified_expression"/>
399         <xsd:element ref="case_expression"/>
400         <xsd:element ref="if_expression"/>
401         <xsd:element ref="for_all_quantified_expression"/>
402         <xsd:element ref="for_some_quantified_expression"/>
403         <xsd:element ref="pragma_argument_association"/>
404         <xsd:element ref="discriminant_association"/>
405         <xsd:element ref="record_component_association"/>
406         <xsd:element ref="array_component_association"/>
407         <xsd:element ref="parameter_association"/>
408         <xsd:element ref="generic_association"/>
409         <xsd:element ref="null_statement"/>
410         <xsd:element ref="assignment_statement"/>
411         <xsd:element ref="if_statement"/>
412         <xsd:element ref="case_statement"/>
413         <xsd:element ref="loop_statement"/>
414         <xsd:element ref="while_loop_statement"/>
415         <xsd:element ref="for_loop_statement"/>
416         <xsd:element ref="block_statement"/>
417         <xsd:element ref="exit_statement"/>
418         <xsd:element ref="goto_statement"/>
419         <xsd:element ref="procedure_call_statement"/>
420         <xsd:element ref="return_statement"/>
421         <xsd:element ref="extended_return_statement"/>
422         <xsd:element ref="accept_statement"/>
423         <xsd:element ref="entry_call_statement"/>
424         <xsd:element ref="requeue_statement"/>
425         <xsd:element ref="requeue_statement_with_abort"/>
426         <xsd:element ref="delay_until_statement"/>
427         <xsd:element ref="delay_relative_statement"/>
428         <xsd:element ref="terminate_alternative_statement"/>
429         <xsd:element ref="selective_accept_statement"/>
430         <xsd:element ref="timed_entry_call_statement"/>
431         <xsd:element ref="conditional_entry_call_statement"/>
432         <xsd:element ref="asynchronous_select_statement"/>
433         <xsd:element ref="abort_statement"/>
434         <xsd:element ref="raise_statement"/>
435         <xsd:element ref="code_statement"/>
436         <xsd:element ref="if_path"/>
437         <xsd:element ref="elsif_path"/>
438         <xsd:element ref="else_path"/>
439         <xsd:element ref="case_path"/>
440         <xsd:element ref="select_path"/>
441         <xsd:element ref="or_path"/>
442         <xsd:element ref="then_abort_path"/>
443         <xsd:element ref="case_expression_path"/>
444         <xsd:element ref="if_expression_path"/>
445         <xsd:element ref="elsif_expression_path"/>
446         <xsd:element ref="else_expression_path"/>
447         <xsd:element ref="use_package_clause"/>
448         <xsd:element ref="use_type_clause"/>
449         <xsd:element ref="use_all_type_clause"/>
450         <xsd:element ref="with_clause"/>
451         <xsd:element ref="attribute_definition_clause"/>
452         <xsd:element ref="enumeration_representation_clause"/>
453         <xsd:element ref="record_representation_clause"/>
454         <xsd:element ref="at_clause"/>
455         <xsd:element ref="component_clause"/>
456         <xsd:element ref="exception_handler"/>
457         <xsd:element ref="comment"/>
458         <xsd:group ref="pragmas_group"/>
459      </xsd:choice>
460   </xsd:complexType>
461
462   <xsd:complexType name="Association_Class">
463      <xsd:choice maxOccurs="1">
464         <xsd:element ref="not_an_element"/>
465         <xsd:element ref="pragma_argument_association"/>
466         <xsd:element ref="discriminant_association"/>
467         <xsd:element ref="record_component_association"/>
468         <xsd:element ref="array_component_association"/>
469         <xsd:element ref="parameter_association"/>
470         <xsd:element ref="generic_association"/>
471         <xsd:element ref="comment"/>
472         <xsd:group ref="pragmas_group"/>
473      </xsd:choice>
474   </xsd:complexType>
475
476   <xsd:complexType name="Constraint_Class">
477      <xsd:choice maxOccurs="1">
478         <xsd:element ref="not_an_element"/>
479         <xsd:element ref="range_attribute_reference"/>
480         <xsd:element ref="simple_expression_range"/>
481         <xsd:element ref="digits_constraint"/>
482         <xsd:element ref="delta_constraint"/>
483         <xsd:element ref="index_constraint"/>
484         <xsd:element ref="discriminant_constraint"/>
485         <xsd:element ref="comment"/>
486         <xsd:group ref="pragmas_group"/>
487      </xsd:choice>
488   </xsd:complexType>
489
490   <xsd:complexType name="Context_Clause_Class">
491      <xsd:choice maxOccurs="1">
492         <xsd:element ref="not_an_element"/>
493         <xsd:element ref="use_package_clause"/>
494         <xsd:element ref="use_type_clause"/>
495         <xsd:element ref="use_all_type_clause"/>
496         <xsd:element ref="with_clause"/>
497         <xsd:element ref="comment"/>
498         <xsd:group ref="pragmas_group"/>
499      </xsd:choice>
500   </xsd:complexType>
501
502   <xsd:complexType name="Declaration_Class">
503      <xsd:choice maxOccurs="1">
504         <xsd:element ref="not_an_element"/>
505         <xsd:element ref="ordinary_type_declaration"/>
506         <xsd:element ref="task_type_declaration"/>
507         <xsd:element ref="protected_type_declaration"/>
508         <xsd:element ref="incomplete_type_declaration"/>
509         <xsd:element ref="tagged_incomplete_type_declaration"/>
510         <xsd:element ref="private_type_declaration"/>
511         <xsd:element ref="private_extension_declaration"/>
512         <xsd:element ref="subtype_declaration"/>
513         <xsd:element ref="variable_declaration"/>
514         <xsd:element ref="constant_declaration"/>
515         <xsd:element ref="deferred_constant_declaration"/>
516         <xsd:element ref="single_task_declaration"/>
517         <xsd:element ref="single_protected_declaration"/>
518         <xsd:element ref="integer_number_declaration"/>
519         <xsd:element ref="real_number_declaration"/>
520         <xsd:element ref="enumeration_literal_specification"/>
521         <xsd:element ref="discriminant_specification"/>
522         <xsd:element ref="component_declaration"/>
523         <xsd:element ref="loop_parameter_specification"/>
524         <xsd:element ref="generalized_iterator_specification"/>
525         <xsd:element ref="element_iterator_specification"/>
526         <xsd:element ref="procedure_declaration"/>
527         <xsd:element ref="function_declaration"/>
528         <xsd:element ref="parameter_specification"/>
529         <xsd:element ref="procedure_body_declaration"/>
530         <xsd:element ref="function_body_declaration"/>
531         <xsd:element ref="return_variable_specification"/>
532         <xsd:element ref="return_constant_specification"/>
533         <xsd:element ref="null_procedure_declaration"/>
534         <xsd:element ref="expression_function_declaration"/>
535         <xsd:element ref="package_declaration"/>
536         <xsd:element ref="package_body_declaration"/>
537         <xsd:element ref="object_renaming_declaration"/>
538         <xsd:element ref="exception_renaming_declaration"/>
539         <xsd:element ref="package_renaming_declaration"/>
540         <xsd:element ref="procedure_renaming_declaration"/>
541         <xsd:element ref="function_renaming_declaration"/>
542         <xsd:element ref="generic_package_renaming_declaration"/>
543         <xsd:element ref="generic_procedure_renaming_declaration"/>
544         <xsd:element ref="generic_function_renaming_declaration"/>
545         <xsd:element ref="task_body_declaration"/>
546         <xsd:element ref="protected_body_declaration"/>
547         <xsd:element ref="entry_declaration"/>
548         <xsd:element ref="entry_body_declaration"/>
549         <xsd:element ref="entry_index_specification"/>
550         <xsd:element ref="procedure_body_stub"/>
551         <xsd:element ref="function_body_stub"/>
552         <xsd:element ref="package_body_stub"/>
553         <xsd:element ref="task_body_stub"/>
554         <xsd:element ref="protected_body_stub"/>
555         <xsd:element ref="exception_declaration"/>
556         <xsd:element ref="choice_parameter_specification"/>
557         <xsd:element ref="generic_procedure_declaration"/>
558         <xsd:element ref="generic_function_declaration"/>
559         <xsd:element ref="generic_package_declaration"/>
560         <xsd:element ref="package_instantiation"/>
561         <xsd:element ref="procedure_instantiation"/>
562         <xsd:element ref="function_instantiation"/>
563         <xsd:element ref="formal_object_declaration"/>
564         <xsd:element ref="formal_type_declaration"/>
565         <xsd:element ref="formal_incomplete_type_declaration"/>
566         <xsd:element ref="formal_procedure_declaration"/>
567         <xsd:element ref="formal_function_declaration"/>
568         <xsd:element ref="formal_package_declaration"/>
569         <xsd:element ref="formal_package_declaration_with_box"/>
570         <xsd:element ref="comment"/>
571         <xsd:group ref="pragmas_group"/>
572      </xsd:choice>
573   </xsd:complexType>
574
575   <xsd:complexType name="Declarative_Item_Class">
576      <xsd:choice maxOccurs="1">
577         <xsd:element ref="not_an_element"/>
578         <xsd:element ref="ordinary_type_declaration"/>
579         <xsd:element ref="task_type_declaration"/>
580         <xsd:element ref="protected_type_declaration"/>
581         <xsd:element ref="incomplete_type_declaration"/>
582         <xsd:element ref="tagged_incomplete_type_declaration"/>
583         <xsd:element ref="private_type_declaration"/>
584         <xsd:element ref="private_extension_declaration"/>
585         <xsd:element ref="subtype_declaration"/>
586         <xsd:element ref="variable_declaration"/>
587         <xsd:element ref="constant_declaration"/>
588         <xsd:element ref="deferred_constant_declaration"/>
589         <xsd:element ref="single_task_declaration"/>
590         <xsd:element ref="single_protected_declaration"/>
591         <xsd:element ref="integer_number_declaration"/>
592         <xsd:element ref="real_number_declaration"/>
593         <xsd:element ref="enumeration_literal_specification"/>
594         <xsd:element ref="discriminant_specification"/>
595         <xsd:element ref="component_declaration"/>
596         <xsd:element ref="loop_parameter_specification"/>
597         <xsd:element ref="generalized_iterator_specification"/>
598         <xsd:element ref="element_iterator_specification"/>
599         <xsd:element ref="procedure_declaration"/>
600         <xsd:element ref="function_declaration"/>
601         <xsd:element ref="parameter_specification"/>
602         <xsd:element ref="procedure_body_declaration"/>
603         <xsd:element ref="function_body_declaration"/>
604         <xsd:element ref="return_variable_specification"/>
605         <xsd:element ref="return_constant_specification"/>
606         <xsd:element ref="null_procedure_declaration"/>
607         <xsd:element ref="expression_function_declaration"/>
608         <xsd:element ref="package_declaration"/>
609         <xsd:element ref="package_body_declaration"/>
610         <xsd:element ref="object_renaming_declaration"/>
611         <xsd:element ref="exception_renaming_declaration"/>
612         <xsd:element ref="package_renaming_declaration"/>
613         <xsd:element ref="procedure_renaming_declaration"/>
614         <xsd:element ref="function_renaming_declaration"/>
615         <xsd:element ref="generic_package_renaming_declaration"/>
616         <xsd:element ref="generic_procedure_renaming_declaration"/>
617         <xsd:element ref="generic_function_renaming_declaration"/>
618         <xsd:element ref="task_body_declaration"/>
619         <xsd:element ref="protected_body_declaration"/>
620         <xsd:element ref="entry_declaration"/>
621         <xsd:element ref="entry_body_declaration"/>
622         <xsd:element ref="entry_index_specification"/>
623         <xsd:element ref="procedure_body_stub"/>
624         <xsd:element ref="function_body_stub"/>
625         <xsd:element ref="package_body_stub"/>
626         <xsd:element ref="task_body_stub"/>
627         <xsd:element ref="protected_body_stub"/>
628         <xsd:element ref="exception_declaration"/>
629         <xsd:element ref="choice_parameter_specification"/>
630         <xsd:element ref="generic_procedure_declaration"/>
631         <xsd:element ref="generic_function_declaration"/>
632         <xsd:element ref="generic_package_declaration"/>
633         <xsd:element ref="package_instantiation"/>
634         <xsd:element ref="procedure_instantiation"/>
635         <xsd:element ref="function_instantiation"/>
636         <xsd:element ref="formal_object_declaration"/>
637         <xsd:element ref="formal_type_declaration"/>
638         <xsd:element ref="formal_incomplete_type_declaration"/>
639         <xsd:element ref="formal_procedure_declaration"/>
640         <xsd:element ref="formal_function_declaration"/>
641         <xsd:element ref="formal_package_declaration"/>
642         <xsd:element ref="formal_package_declaration_with_box"/>
643         <xsd:element ref="use_package_clause"/>
644         <xsd:element ref="use_type_clause"/>
645         <xsd:element ref="use_all_type_clause"/>
646         <xsd:element ref="with_clause"/>
647         <xsd:element ref="attribute_definition_clause"/>
648         <xsd:element ref="enumeration_representation_clause"/>
649         <xsd:element ref="record_representation_clause"/>
650         <xsd:element ref="at_clause"/>
651         <xsd:element ref="component_clause"/>
652         <xsd:element ref="comment"/>
653         <xsd:group ref="pragmas_group"/>
654      </xsd:choice>
655   </xsd:complexType>
656
657   <xsd:complexType name="Definition_Class">
658      <xsd:choice maxOccurs="1">
659         <xsd:element ref="not_an_element"/>
660         <xsd:element ref="derived_type_definition"/>
661         <xsd:element ref="derived_record_extension_definition"/>
662         <xsd:element ref="enumeration_type_definition"/>
663         <xsd:element ref="signed_integer_type_definition"/>
664         <xsd:element ref="modular_type_definition"/>
665         <xsd:element ref="root_integer_definition"/>
666         <xsd:element ref="root_real_definition"/>
667         <xsd:element ref="universal_integer_definition"/>
668         <xsd:element ref="universal_real_definition"/>
669         <xsd:element ref="universal_fixed_definition"/>
670         <xsd:element ref="floating_point_definition"/>
671         <xsd:element ref="ordinary_fixed_point_definition"/>
672         <xsd:element ref="decimal_fixed_point_definition"/>
673         <xsd:element ref="unconstrained_array_definition"/>
674         <xsd:element ref="constrained_array_definition"/>
675         <xsd:element ref="record_type_definition"/>
676         <xsd:element ref="tagged_record_type_definition"/>
677         <xsd:element ref="ordinary_interface"/>
678         <xsd:element ref="limited_interface"/>
679         <xsd:element ref="task_interface"/>
680         <xsd:element ref="protected_interface"/>
681         <xsd:element ref="synchronized_interface"/>
682         <xsd:element ref="pool_specific_access_to_variable"/>
683         <xsd:element ref="access_to_variable"/>
684         <xsd:element ref="access_to_constant"/>
685         <xsd:element ref="access_to_procedure"/>
686         <xsd:element ref="access_to_protected_procedure"/>
687         <xsd:element ref="access_to_function"/>
688         <xsd:element ref="access_to_protected_function"/>
689         <xsd:element ref="subtype_indication"/>
690         <xsd:element ref="range_attribute_reference"/>
691         <xsd:element ref="simple_expression_range"/>
692         <xsd:element ref="digits_constraint"/>
693         <xsd:element ref="delta_constraint"/>
694         <xsd:element ref="index_constraint"/>
695         <xsd:element ref="discriminant_constraint"/>
696         <xsd:element ref="component_definition"/>
697         <xsd:element ref="discrete_subtype_indication_as_subtype_definition"/>
698         <xsd:element ref="discrete_range_attribute_reference_as_subtype_definition"/>
699         <xsd:element ref="discrete_simple_expression_range_as_subtype_definition"/>
700         <xsd:element ref="discrete_subtype_indication"/>
701         <xsd:element ref="discrete_range_attribute_reference"/>
702         <xsd:element ref="discrete_simple_expression_range"/>
703         <xsd:element ref="unknown_discriminant_part"/>
704         <xsd:element ref="known_discriminant_part"/>
705         <xsd:element ref="record_definition"/>
706         <xsd:element ref="null_record_definition"/>
707         <xsd:element ref="null_component"/>
708         <xsd:element ref="variant_part"/>
709         <xsd:element ref="variant"/>
710         <xsd:element ref="others_choice"/>
711         <xsd:element ref="anonymous_access_to_variable"/>
712         <xsd:element ref="anonymous_access_to_constant"/>
713         <xsd:element ref="anonymous_access_to_procedure"/>
714         <xsd:element ref="anonymous_access_to_protected_procedure"/>
715         <xsd:element ref="anonymous_access_to_function"/>
716         <xsd:element ref="anonymous_access_to_protected_function"/>
717         <xsd:element ref="private_type_definition"/>
718         <xsd:element ref="tagged_private_type_definition"/>
719         <xsd:element ref="private_extension_definition"/>
720         <xsd:element ref="task_definition"/>
721         <xsd:element ref="protected_definition"/>
722         <xsd:element ref="formal_private_type_definition"/>
723         <xsd:element ref="formal_tagged_private_type_definition"/>
724         <xsd:element ref="formal_derived_type_definition"/>
725         <xsd:element ref="formal_discrete_type_definition"/>
726         <xsd:element ref="formal_signed_integer_type_definition"/>
727         <xsd:element ref="formal_modular_type_definition"/>
728         <xsd:element ref="formal_floating_point_definition"/>
729         <xsd:element ref="formal_ordinary_fixed_point_definition"/>
730         <xsd:element ref="formal_decimal_fixed_point_definition"/>
731         <xsd:element ref="formal_ordinary_interface"/>
732         <xsd:element ref="formal_limited_interface"/>
733         <xsd:element ref="formal_task_interface"/>
734         <xsd:element ref="formal_protected_interface"/>
735         <xsd:element ref="formal_synchronized_interface"/>
736         <xsd:element ref="formal_unconstrained_array_definition"/>
737         <xsd:element ref="formal_constrained_array_definition"/>
738         <xsd:element ref="formal_pool_specific_access_to_variable"/>
739         <xsd:element ref="formal_access_to_variable"/>
740         <xsd:element ref="formal_access_to_constant"/>
741         <xsd:element ref="formal_access_to_procedure"/>
742         <xsd:element ref="formal_access_to_protected_procedure"/>
743         <xsd:element ref="formal_access_to_function"/>
744         <xsd:element ref="formal_access_to_protected_function"/>
745         <xsd:element ref="aspect_specification"/>
746         <xsd:element ref="identifier"/>
747         <xsd:element ref="selected_component"/>
748         <xsd:element ref="base_attribute"/>
749         <xsd:element ref="class_attribute"/>
750         <xsd:element ref="comment"/>
751         <xsd:group ref="pragmas_group"/>
752      </xsd:choice>
753   </xsd:complexType>
754
755   <xsd:complexType name="Discrete_Range_Class">
756      <xsd:choice maxOccurs="1">
757         <xsd:element ref="not_an_element"/>
758         <xsd:element ref="discrete_subtype_indication"/>
759         <xsd:element ref="discrete_range_attribute_reference"/>
760         <xsd:element ref="discrete_simple_expression_range"/>
761         <xsd:element ref="comment"/>
762         <xsd:group ref="pragmas_group"/>
763      </xsd:choice>
764   </xsd:complexType>
765
766   <xsd:complexType name="Discrete_Subtype_Definition_Class">
767      <xsd:choice maxOccurs="1">
768         <xsd:element ref="not_an_element"/>
769         <xsd:element ref="discrete_subtype_indication_as_subtype_definition"/>
770         <xsd:element ref="discrete_range_attribute_reference_as_subtype_definition"/>
771         <xsd:element ref="discrete_simple_expression_range_as_subtype_definition"/>
772         <xsd:element ref="comment"/>
773         <xsd:group ref="pragmas_group"/>
774      </xsd:choice>
775   </xsd:complexType>
776
777   <xsd:complexType name="Defining_Name_Class">
778      <xsd:choice maxOccurs="1">
779         <xsd:element ref="not_an_element"/>
780         <xsd:element ref="defining_identifier"/>
781         <xsd:element ref="defining_character_literal"/>
782         <xsd:element ref="defining_enumeration_literal"/>
783         <xsd:element ref="defining_and_operator"/>
784         <xsd:element ref="defining_or_operator"/>
785         <xsd:element ref="defining_xor_operator"/>
786         <xsd:element ref="defining_equal_operator"/>
787         <xsd:element ref="defining_not_equal_operator"/>
788         <xsd:element ref="defining_less_than_operator"/>
789         <xsd:element ref="defining_less_than_or_equal_operator"/>
790         <xsd:element ref="defining_greater_than_operator"/>
791         <xsd:element ref="defining_greater_than_or_equal_operator"/>
792         <xsd:element ref="defining_plus_operator"/>
793         <xsd:element ref="defining_minus_operator"/>
794         <xsd:element ref="defining_concatenate_operator"/>
795         <xsd:element ref="defining_unary_plus_operator"/>
796         <xsd:element ref="defining_unary_minus_operator"/>
797         <xsd:element ref="defining_multiply_operator"/>
798         <xsd:element ref="defining_divide_operator"/>
799         <xsd:element ref="defining_mod_operator"/>
800         <xsd:element ref="defining_rem_operator"/>
801         <xsd:element ref="defining_exponentiate_operator"/>
802         <xsd:element ref="defining_abs_operator"/>
803         <xsd:element ref="defining_not_operator"/>
804         <xsd:element ref="defining_expanded_name"/>
805         <xsd:element ref="comment"/>
806         <xsd:group ref="pragmas_group"/>
807      </xsd:choice>
808   </xsd:complexType>
809
810   <xsd:complexType name="Expression_Class">
811      <xsd:choice maxOccurs="1">
812         <xsd:element ref="not_an_element"/>
813         <xsd:element ref="discrete_range_attribute_reference"/>
814         <xsd:element ref="discrete_simple_expression_range"/>
815         <xsd:element ref="others_choice"/>
816         <xsd:element ref="box_expression"/>
817         <xsd:element ref="integer_literal"/>
818         <xsd:element ref="real_literal"/>
819         <xsd:element ref="string_literal"/>
820         <xsd:element ref="identifier"/>
821         <xsd:element ref="and_operator"/>
822         <xsd:element ref="or_operator"/>
823         <xsd:element ref="xor_operator"/>
824         <xsd:element ref="equal_operator"/>
825         <xsd:element ref="not_equal_operator"/>
826         <xsd:element ref="less_than_operator"/>
827         <xsd:element ref="less_than_or_equal_operator"/>
828         <xsd:element ref="greater_than_operator"/>
829         <xsd:element ref="greater_than_or_equal_operator"/>
830         <xsd:element ref="plus_operator"/>
831         <xsd:element ref="minus_operator"/>
832         <xsd:element ref="concatenate_operator"/>
833         <xsd:element ref="unary_plus_operator"/>
834         <xsd:element ref="unary_minus_operator"/>
835         <xsd:element ref="multiply_operator"/>
836         <xsd:element ref="divide_operator"/>
837         <xsd:element ref="mod_operator"/>
838         <xsd:element ref="rem_operator"/>
839         <xsd:element ref="exponentiate_operator"/>
840         <xsd:element ref="abs_operator"/>
841         <xsd:element ref="not_operator"/>
842         <xsd:element ref="character_literal"/>
843         <xsd:element ref="enumeration_literal"/>
844         <xsd:element ref="explicit_dereference"/>
845         <xsd:element ref="function_call"/>
846         <xsd:element ref="indexed_component"/>
847         <xsd:element ref="slice"/>
848         <xsd:element ref="selected_component"/>
849         <xsd:element ref="access_attribute"/>
850         <xsd:element ref="address_attribute"/>
851         <xsd:element ref="adjacent_attribute"/>
852         <xsd:element ref="aft_attribute"/>
853         <xsd:element ref="alignment_attribute"/>
854         <xsd:element ref="base_attribute"/>
855         <xsd:element ref="bit_order_attribute"/>
856         <xsd:element ref="body_version_attribute"/>
857         <xsd:element ref="callable_attribute"/>
858         <xsd:element ref="caller_attribute"/>
859         <xsd:element ref="ceiling_attribute"/>
860         <xsd:element ref="class_attribute"/>
861         <xsd:element ref="component_size_attribute"/>
862         <xsd:element ref="compose_attribute"/>
863         <xsd:element ref="constrained_attribute"/>
864         <xsd:element ref="copy_sign_attribute"/>
865         <xsd:element ref="count_attribute"/>
866         <xsd:element ref="definite_attribute"/>
867         <xsd:element ref="delta_attribute"/>
868         <xsd:element ref="denorm_attribute"/>
869         <xsd:element ref="digits_attribute"/>
870         <xsd:element ref="exponent_attribute"/>
871         <xsd:element ref="external_tag_attribute"/>
872         <xsd:element ref="first_attribute"/>
873         <xsd:element ref="first_bit_attribute"/>
874         <xsd:element ref="floor_attribute"/>
875         <xsd:element ref="fore_attribute"/>
876         <xsd:element ref="fraction_attribute"/>
877         <xsd:element ref="identity_attribute"/>
878         <xsd:element ref="image_attribute"/>
879         <xsd:element ref="input_attribute"/>
880         <xsd:element ref="last_attribute"/>
881         <xsd:element ref="last_bit_attribute"/>
882         <xsd:element ref="leading_part_attribute"/>
883         <xsd:element ref="length_attribute"/>
884         <xsd:element ref="machine_attribute"/>
885         <xsd:element ref="machine_emax_attribute"/>
886         <xsd:element ref="machine_emin_attribute"/>
887         <xsd:element ref="machine_mantissa_attribute"/>
888         <xsd:element ref="machine_overflows_attribute"/>
889         <xsd:element ref="machine_radix_attribute"/>
890         <xsd:element ref="machine_rounds_attribute"/>
891         <xsd:element ref="max_attribute"/>
892         <xsd:element ref="max_size_in_storage_elements_attribute"/>
893         <xsd:element ref="min_attribute"/>
894         <xsd:element ref="model_attribute"/>
895         <xsd:element ref="model_emin_attribute"/>
896         <xsd:element ref="model_epsilon_attribute"/>
897         <xsd:element ref="model_mantissa_attribute"/>
898         <xsd:element ref="model_small_attribute"/>
899         <xsd:element ref="modulus_attribute"/>
900         <xsd:element ref="output_attribute"/>
901         <xsd:element ref="partition_id_attribute"/>
902         <xsd:element ref="pos_attribute"/>
903         <xsd:element ref="position_attribute"/>
904         <xsd:element ref="pred_attribute"/>
905         <xsd:element ref="range_attribute"/>
906         <xsd:element ref="read_attribute"/>
907         <xsd:element ref="remainder_attribute"/>
908         <xsd:element ref="round_attribute"/>
909         <xsd:element ref="rounding_attribute"/>
910         <xsd:element ref="safe_first_attribute"/>
911         <xsd:element ref="safe_last_attribute"/>
912         <xsd:element ref="scale_attribute"/>
913         <xsd:element ref="scaling_attribute"/>
914         <xsd:element ref="signed_zeros_attribute"/>
915         <xsd:element ref="size_attribute"/>
916         <xsd:element ref="small_attribute"/>
917         <xsd:element ref="storage_pool_attribute"/>
918         <xsd:element ref="storage_size_attribute"/>
919         <xsd:element ref="succ_attribute"/>
920         <xsd:element ref="tag_attribute"/>
921         <xsd:element ref="terminated_attribute"/>
922         <xsd:element ref="truncation_attribute"/>
923         <xsd:element ref="unbiased_rounding_attribute"/>
924         <xsd:element ref="unchecked_access_attribute"/>
925         <xsd:element ref="val_attribute"/>
926         <xsd:element ref="valid_attribute"/>
927         <xsd:element ref="value_attribute"/>
928         <xsd:element ref="version_attribute"/>
929         <xsd:element ref="wide_image_attribute"/>
930         <xsd:element ref="wide_value_attribute"/>
931         <xsd:element ref="wide_width_attribute"/>
932         <xsd:element ref="width_attribute"/>
933         <xsd:element ref="write_attribute"/>
934         <xsd:element ref="machine_rounding_attribute"/>
935         <xsd:element ref="mod_attribute"/>
936         <xsd:element ref="priority_attribute"/>
937         <xsd:element ref="stream_size_attribute"/>
938         <xsd:element ref="wide_wide_image_attribute"/>
939         <xsd:element ref="wide_wide_value_attribute"/>
940         <xsd:element ref="wide_wide_width_attribute"/>
941         <xsd:element ref="max_alignment_for_allocation_attribute"/>
942         <xsd:element ref="overlaps_storage_attribute"/>
943         <xsd:element ref="implementation_defined_attribute"/>
944         <xsd:element ref="unknown_attribute"/>
945         <xsd:element ref="record_aggregate"/>
946         <xsd:element ref="extension_aggregate"/>
947         <xsd:element ref="positional_array_aggregate"/>
948         <xsd:element ref="named_array_aggregate"/>
949         <xsd:element ref="and_then_short_circuit"/>
950         <xsd:element ref="or_else_short_circuit"/>
951         <xsd:element ref="in_membership_test"/>
952         <xsd:element ref="not_in_membership_test"/>
953         <xsd:element ref="null_literal"/>
954         <xsd:element ref="parenthesized_expression"/>
955         <xsd:element ref="raise_expression"/>
956         <xsd:element ref="type_conversion"/>
957         <xsd:element ref="qualified_expression"/>
958         <xsd:element ref="allocation_from_subtype"/>
959         <xsd:element ref="allocation_from_qualified_expression"/>
960         <xsd:element ref="case_expression"/>
961         <xsd:element ref="if_expression"/>
962         <xsd:element ref="for_all_quantified_expression"/>
963         <xsd:element ref="for_some_quantified_expression"/>
964         <xsd:element ref="comment"/>
965         <xsd:group ref="pragmas_group"/>
966      </xsd:choice>
967   </xsd:complexType>
968
969   <xsd:complexType name="Name_Class">
970      <xsd:choice maxOccurs="1">
971         <xsd:element ref="not_an_element"/>
972         <xsd:element ref="identifier"/>
973         <xsd:element ref="selected_component"/>
974         <xsd:element ref="access_attribute"/>
975         <xsd:element ref="address_attribute"/>
976         <xsd:element ref="adjacent_attribute"/>
977         <xsd:element ref="aft_attribute"/>
978         <xsd:element ref="alignment_attribute"/>
979         <xsd:element ref="base_attribute"/>
980         <xsd:element ref="bit_order_attribute"/>
981         <xsd:element ref="body_version_attribute"/>
982         <xsd:element ref="callable_attribute"/>
983         <xsd:element ref="caller_attribute"/>
984         <xsd:element ref="ceiling_attribute"/>
985         <xsd:element ref="class_attribute"/>
986         <xsd:element ref="component_size_attribute"/>
987         <xsd:element ref="compose_attribute"/>
988         <xsd:element ref="constrained_attribute"/>
989         <xsd:element ref="copy_sign_attribute"/>
990         <xsd:element ref="count_attribute"/>
991         <xsd:element ref="definite_attribute"/>
992         <xsd:element ref="delta_attribute"/>
993         <xsd:element ref="denorm_attribute"/>
994         <xsd:element ref="digits_attribute"/>
995         <xsd:element ref="exponent_attribute"/>
996         <xsd:element ref="external_tag_attribute"/>
997         <xsd:element ref="first_attribute"/>
998         <xsd:element ref="first_bit_attribute"/>
999         <xsd:element ref="floor_attribute"/>
1000         <xsd:element ref="fore_attribute"/>
1001         <xsd:element ref="fraction_attribute"/>
1002         <xsd:element ref="identity_attribute"/>
1003         <xsd:element ref="image_attribute"/>
1004         <xsd:element ref="input_attribute"/>
1005         <xsd:element ref="last_attribute"/>
1006         <xsd:element ref="last_bit_attribute"/>
1007         <xsd:element ref="leading_part_attribute"/>
1008         <xsd:element ref="length_attribute"/>
1009         <xsd:element ref="machine_attribute"/>
1010         <xsd:element ref="machine_emax_attribute"/>
1011         <xsd:element ref="machine_emin_attribute"/>
1012         <xsd:element ref="machine_mantissa_attribute"/>
1013         <xsd:element ref="machine_overflows_attribute"/>
1014         <xsd:element ref="machine_radix_attribute"/>
1015         <xsd:element ref="machine_rounds_attribute"/>
1016         <xsd:element ref="max_attribute"/>
1017         <xsd:element ref="max_size_in_storage_elements_attribute"/>
1018         <xsd:element ref="min_attribute"/>
1019         <xsd:element ref="model_attribute"/>
1020         <xsd:element ref="model_emin_attribute"/>
1021         <xsd:element ref="model_epsilon_attribute"/>
1022         <xsd:element ref="model_mantissa_attribute"/>
1023         <xsd:element ref="model_small_attribute"/>
1024         <xsd:element ref="modulus_attribute"/>
1025         <xsd:element ref="output_attribute"/>
1026         <xsd:element ref="partition_id_attribute"/>
1027         <xsd:element ref="pos_attribute"/>
1028         <xsd:element ref="position_attribute"/>
1029         <xsd:element ref="pred_attribute"/>
1030         <xsd:element ref="range_attribute"/>
1031         <xsd:element ref="read_attribute"/>
1032         <xsd:element ref="remainder_attribute"/>
1033         <xsd:element ref="round_attribute"/>
1034         <xsd:element ref="rounding_attribute"/>
1035         <xsd:element ref="safe_first_attribute"/>
1036         <xsd:element ref="safe_last_attribute"/>
1037         <xsd:element ref="scale_attribute"/>
1038         <xsd:element ref="scaling_attribute"/>
1039         <xsd:element ref="signed_zeros_attribute"/>
1040         <xsd:element ref="size_attribute"/>
1041         <xsd:element ref="small_attribute"/>
1042         <xsd:element ref="storage_pool_attribute"/>
1043         <xsd:element ref="storage_size_attribute"/>
1044         <xsd:element ref="succ_attribute"/>
1045         <xsd:element ref="tag_attribute"/>
1046         <xsd:element ref="terminated_attribute"/>
1047         <xsd:element ref="truncation_attribute"/>
1048         <xsd:element ref="unbiased_rounding_attribute"/>
1049         <xsd:element ref="unchecked_access_attribute"/>
1050         <xsd:element ref="val_attribute"/>
1051         <xsd:element ref="valid_attribute"/>
1052         <xsd:element ref="value_attribute"/>
1053         <xsd:element ref="version_attribute"/>
1054         <xsd:element ref="wide_image_attribute"/>
1055         <xsd:element ref="wide_value_attribute"/>
1056         <xsd:element ref="wide_width_attribute"/>
1057         <xsd:element ref="width_attribute"/>
1058         <xsd:element ref="write_attribute"/>
1059         <xsd:element ref="machine_rounding_attribute"/>
1060         <xsd:element ref="mod_attribute"/>
1061         <xsd:element ref="priority_attribute"/>
1062         <xsd:element ref="stream_size_attribute"/>
1063         <xsd:element ref="wide_wide_image_attribute"/>
1064         <xsd:element ref="wide_wide_value_attribute"/>
1065         <xsd:element ref="wide_wide_width_attribute"/>
1066         <xsd:element ref="max_alignment_for_allocation_attribute"/>
1067         <xsd:element ref="overlaps_storage_attribute"/>
1068         <xsd:element ref="implementation_defined_attribute"/>
1069         <xsd:element ref="unknown_attribute"/>
1070         <xsd:element ref="comment"/>
1071         <xsd:group ref="pragmas_group"/>
1072      </xsd:choice>
1073   </xsd:complexType>
1074
1075   <xsd:complexType name="Path_Class">
1076      <xsd:choice maxOccurs="1">
1077         <xsd:element ref="not_an_element"/>
1078         <xsd:element ref="if_path"/>
1079         <xsd:element ref="elsif_path"/>
1080         <xsd:element ref="else_path"/>
1081         <xsd:element ref="case_path"/>
1082         <xsd:element ref="select_path"/>
1083         <xsd:element ref="or_path"/>
1084         <xsd:element ref="then_abort_path"/>
1085         <xsd:element ref="case_expression_path"/>
1086         <xsd:element ref="if_expression_path"/>
1087         <xsd:element ref="elsif_expression_path"/>
1088         <xsd:element ref="else_expression_path"/>
1089         <xsd:element ref="comment"/>
1090         <xsd:group ref="pragmas_group"/>
1091      </xsd:choice>
1092   </xsd:complexType>
1093
1094   <xsd:complexType name="Pragma_Element_Class">
1095      <xsd:choice maxOccurs="1">
1096         <xsd:group ref="pragmas_group"/>
1097      </xsd:choice>
1098   </xsd:complexType>
1099
1100   <xsd:complexType name="Range_Constraint_Class">
1101      <xsd:choice maxOccurs="1">
1102         <xsd:element ref="not_an_element"/>
1103         <xsd:element ref="range_attribute_reference"/>
1104         <xsd:element ref="simple_expression_range"/>
1105         <xsd:element ref="comment"/>
1106         <xsd:group ref="pragmas_group"/>
1107      </xsd:choice>
1108   </xsd:complexType>
1109
1110   <xsd:complexType name="Record_Component_Class">
1111      <xsd:choice maxOccurs="1">
1112         <xsd:element ref="not_an_element"/>
1113         <xsd:element ref="component_declaration"/>
1114         <xsd:element ref="null_component"/>
1115         <xsd:element ref="variant_part"/>
1116         <xsd:element ref="attribute_definition_clause"/>
1117         <xsd:element ref="comment"/>
1118         <xsd:group ref="pragmas_group"/>
1119      </xsd:choice>
1120   </xsd:complexType>
1121
1122   <xsd:complexType name="Statement_Class">
1123      <xsd:choice maxOccurs="1">
1124         <xsd:element ref="not_an_element"/>
1125         <xsd:element ref="null_statement"/>
1126         <xsd:element ref="assignment_statement"/>
1127         <xsd:element ref="if_statement"/>
1128         <xsd:element ref="case_statement"/>
1129         <xsd:element ref="loop_statement"/>
1130         <xsd:element ref="while_loop_statement"/>
1131         <xsd:element ref="for_loop_statement"/>
1132         <xsd:element ref="block_statement"/>
1133         <xsd:element ref="exit_statement"/>
1134         <xsd:element ref="goto_statement"/>
1135         <xsd:element ref="procedure_call_statement"/>
1136         <xsd:element ref="return_statement"/>
1137         <xsd:element ref="extended_return_statement"/>
1138         <xsd:element ref="accept_statement"/>
1139         <xsd:element ref="entry_call_statement"/>
1140         <xsd:element ref="requeue_statement"/>
1141         <xsd:element ref="requeue_statement_with_abort"/>
1142         <xsd:element ref="delay_until_statement"/>
1143         <xsd:element ref="delay_relative_statement"/>
1144         <xsd:element ref="terminate_alternative_statement"/>
1145         <xsd:element ref="selective_accept_statement"/>
1146         <xsd:element ref="timed_entry_call_statement"/>
1147         <xsd:element ref="conditional_entry_call_statement"/>
1148         <xsd:element ref="asynchronous_select_statement"/>
1149         <xsd:element ref="abort_statement"/>
1150         <xsd:element ref="raise_statement"/>
1151         <xsd:element ref="code_statement"/>
1152         <xsd:element ref="comment"/>
1153         <xsd:group ref="pragmas_group"/>
1154      </xsd:choice>
1155   </xsd:complexType>
1156
1157   <xsd:group name="pragmas_group">
1158      <xsd:choice>
1159         <xsd:element ref="all_calls_remote_pragma"/>
1160         <xsd:element ref="asynchronous_pragma"/>
1161         <xsd:element ref="atomic_pragma"/>
1162         <xsd:element ref="atomic_components_pragma"/>
1163         <xsd:element ref="attach_handler_pragma"/>
1164         <xsd:element ref="controlled_pragma"/>
1165         <xsd:element ref="convention_pragma"/>
1166         <xsd:element ref="discard_names_pragma"/>
1167         <xsd:element ref="elaborate_pragma"/>
1168         <xsd:element ref="elaborate_all_pragma"/>
1169         <xsd:element ref="elaborate_body_pragma"/>
1170         <xsd:element ref="export_pragma"/>
1171         <xsd:element ref="import_pragma"/>
1172         <xsd:element ref="inline_pragma"/>
1173         <xsd:element ref="inspection_point_pragma"/>
1174         <xsd:element ref="interrupt_handler_pragma"/>
1175         <xsd:element ref="interrupt_priority_pragma"/>
1176         <xsd:element ref="linker_options_pragma"/>
1177         <xsd:element ref="list_pragma"/>
1178         <xsd:element ref="locking_policy_pragma"/>
1179         <xsd:element ref="normalize_scalars_pragma"/>
1180         <xsd:element ref="optimize_pragma"/>
1181         <xsd:element ref="pack_pragma"/>
1182         <xsd:element ref="page_pragma"/>
1183         <xsd:element ref="preelaborate_pragma"/>
1184         <xsd:element ref="priority_pragma"/>
1185         <xsd:element ref="pure_pragma"/>
1186         <xsd:element ref="queuing_policy_pragma"/>
1187         <xsd:element ref="remote_call_interface_pragma"/>
1188         <xsd:element ref="remote_types_pragma"/>
1189         <xsd:element ref="restrictions_pragma"/>
1190         <xsd:element ref="reviewable_pragma"/>
1191         <xsd:element ref="shared_passive_pragma"/>
1192         <xsd:element ref="storage_size_pragma"/>
1193         <xsd:element ref="suppress_pragma"/>
1194         <xsd:element ref="task_dispatching_policy_pragma"/>
1195         <xsd:element ref="volatile_pragma"/>
1196         <xsd:element ref="volatile_components_pragma"/>
1197         <xsd:element ref="assert_pragma"/>
1198         <xsd:element ref="assertion_policy_pragma"/>
1199         <xsd:element ref="detect_blocking_pragma"/>
1200         <xsd:element ref="no_return_pragma"/>
1201         <xsd:element ref="partition_elaboration_policy_pragma"/>
1202         <xsd:element ref="preelaborable_initialization_pragma"/>
1203         <xsd:element ref="priority_specific_dispatching_pragma"/>
1204         <xsd:element ref="profile_pragma"/>
1205         <xsd:element ref="relative_deadline_pragma"/>
1206         <xsd:element ref="unchecked_union_pragma"/>
1207         <xsd:element ref="unsuppress_pragma"/>
1208         <xsd:element ref="default_storage_pool_pragma"/>
1209         <xsd:element ref="dispatching_domain_pragma"/>
1210         <xsd:element ref="cpu_pragma"/>
1211         <xsd:element ref="independent_pragma"/>
1212         <xsd:element ref="independent_components_pragma"/>
1213         <xsd:element ref="implementation_defined_pragma"/>
1214         <xsd:element ref="unknown_pragma"/>
1215      </xsd:choice>
1216   </xsd:group>
1217
1218
1219   <!-- ================================================================ -->
1220   <!-- List Types -->
1221
1222   <xsd:complexType name="Element_List">
1223      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1224         <xsd:element ref="not_an_element"/>
1225         <xsd:element ref="defining_identifier"/>
1226         <xsd:element ref="defining_character_literal"/>
1227         <xsd:element ref="defining_enumeration_literal"/>
1228         <xsd:element ref="defining_and_operator"/>
1229         <xsd:element ref="defining_or_operator"/>
1230         <xsd:element ref="defining_xor_operator"/>
1231         <xsd:element ref="defining_equal_operator"/>
1232         <xsd:element ref="defining_not_equal_operator"/>
1233         <xsd:element ref="defining_less_than_operator"/>
1234         <xsd:element ref="defining_less_than_or_equal_operator"/>
1235         <xsd:element ref="defining_greater_than_operator"/>
1236         <xsd:element ref="defining_greater_than_or_equal_operator"/>
1237         <xsd:element ref="defining_plus_operator"/>
1238         <xsd:element ref="defining_minus_operator"/>
1239         <xsd:element ref="defining_concatenate_operator"/>
1240         <xsd:element ref="defining_unary_plus_operator"/>
1241         <xsd:element ref="defining_unary_minus_operator"/>
1242         <xsd:element ref="defining_multiply_operator"/>
1243         <xsd:element ref="defining_divide_operator"/>
1244         <xsd:element ref="defining_mod_operator"/>
1245         <xsd:element ref="defining_rem_operator"/>
1246         <xsd:element ref="defining_exponentiate_operator"/>
1247         <xsd:element ref="defining_abs_operator"/>
1248         <xsd:element ref="defining_not_operator"/>
1249         <xsd:element ref="defining_expanded_name"/>
1250         <xsd:element ref="ordinary_type_declaration"/>
1251         <xsd:element ref="task_type_declaration"/>
1252         <xsd:element ref="protected_type_declaration"/>
1253         <xsd:element ref="incomplete_type_declaration"/>
1254         <xsd:element ref="tagged_incomplete_type_declaration"/>
1255         <xsd:element ref="private_type_declaration"/>
1256         <xsd:element ref="private_extension_declaration"/>
1257         <xsd:element ref="subtype_declaration"/>
1258         <xsd:element ref="variable_declaration"/>
1259         <xsd:element ref="constant_declaration"/>
1260         <xsd:element ref="deferred_constant_declaration"/>
1261         <xsd:element ref="single_task_declaration"/>
1262         <xsd:element ref="single_protected_declaration"/>
1263         <xsd:element ref="integer_number_declaration"/>
1264         <xsd:element ref="real_number_declaration"/>
1265         <xsd:element ref="enumeration_literal_specification"/>
1266         <xsd:element ref="discriminant_specification"/>
1267         <xsd:element ref="component_declaration"/>
1268         <xsd:element ref="loop_parameter_specification"/>
1269         <xsd:element ref="generalized_iterator_specification"/>
1270         <xsd:element ref="element_iterator_specification"/>
1271         <xsd:element ref="procedure_declaration"/>
1272         <xsd:element ref="function_declaration"/>
1273         <xsd:element ref="parameter_specification"/>
1274         <xsd:element ref="procedure_body_declaration"/>
1275         <xsd:element ref="function_body_declaration"/>
1276         <xsd:element ref="return_variable_specification"/>
1277         <xsd:element ref="return_constant_specification"/>
1278         <xsd:element ref="null_procedure_declaration"/>
1279         <xsd:element ref="expression_function_declaration"/>
1280         <xsd:element ref="package_declaration"/>
1281         <xsd:element ref="package_body_declaration"/>
1282         <xsd:element ref="object_renaming_declaration"/>
1283         <xsd:element ref="exception_renaming_declaration"/>
1284         <xsd:element ref="package_renaming_declaration"/>
1285         <xsd:element ref="procedure_renaming_declaration"/>
1286         <xsd:element ref="function_renaming_declaration"/>
1287         <xsd:element ref="generic_package_renaming_declaration"/>
1288         <xsd:element ref="generic_procedure_renaming_declaration"/>
1289         <xsd:element ref="generic_function_renaming_declaration"/>
1290         <xsd:element ref="task_body_declaration"/>
1291         <xsd:element ref="protected_body_declaration"/>
1292         <xsd:element ref="entry_declaration"/>
1293         <xsd:element ref="entry_body_declaration"/>
1294         <xsd:element ref="entry_index_specification"/>
1295         <xsd:element ref="procedure_body_stub"/>
1296         <xsd:element ref="function_body_stub"/>
1297         <xsd:element ref="package_body_stub"/>
1298         <xsd:element ref="task_body_stub"/>
1299         <xsd:element ref="protected_body_stub"/>
1300         <xsd:element ref="exception_declaration"/>
1301         <xsd:element ref="choice_parameter_specification"/>
1302         <xsd:element ref="generic_procedure_declaration"/>
1303         <xsd:element ref="generic_function_declaration"/>
1304         <xsd:element ref="generic_package_declaration"/>
1305         <xsd:element ref="package_instantiation"/>
1306         <xsd:element ref="procedure_instantiation"/>
1307         <xsd:element ref="function_instantiation"/>
1308         <xsd:element ref="formal_object_declaration"/>
1309         <xsd:element ref="formal_type_declaration"/>
1310         <xsd:element ref="formal_incomplete_type_declaration"/>
1311         <xsd:element ref="formal_procedure_declaration"/>
1312         <xsd:element ref="formal_function_declaration"/>
1313         <xsd:element ref="formal_package_declaration"/>
1314         <xsd:element ref="formal_package_declaration_with_box"/>
1315         <xsd:element ref="derived_type_definition"/>
1316         <xsd:element ref="derived_record_extension_definition"/>
1317         <xsd:element ref="enumeration_type_definition"/>
1318         <xsd:element ref="signed_integer_type_definition"/>
1319         <xsd:element ref="modular_type_definition"/>
1320         <xsd:element ref="root_integer_definition"/>
1321         <xsd:element ref="root_real_definition"/>
1322         <xsd:element ref="universal_integer_definition"/>
1323         <xsd:element ref="universal_real_definition"/>
1324         <xsd:element ref="universal_fixed_definition"/>
1325         <xsd:element ref="floating_point_definition"/>
1326         <xsd:element ref="ordinary_fixed_point_definition"/>
1327         <xsd:element ref="decimal_fixed_point_definition"/>
1328         <xsd:element ref="unconstrained_array_definition"/>
1329         <xsd:element ref="constrained_array_definition"/>
1330         <xsd:element ref="record_type_definition"/>
1331         <xsd:element ref="tagged_record_type_definition"/>
1332         <xsd:element ref="ordinary_interface"/>
1333         <xsd:element ref="limited_interface"/>
1334         <xsd:element ref="task_interface"/>
1335         <xsd:element ref="protected_interface"/>
1336         <xsd:element ref="synchronized_interface"/>
1337         <xsd:element ref="pool_specific_access_to_variable"/>
1338         <xsd:element ref="access_to_variable"/>
1339         <xsd:element ref="access_to_constant"/>
1340         <xsd:element ref="access_to_procedure"/>
1341         <xsd:element ref="access_to_protected_procedure"/>
1342         <xsd:element ref="access_to_function"/>
1343         <xsd:element ref="access_to_protected_function"/>
1344         <xsd:element ref="subtype_indication"/>
1345         <xsd:element ref="range_attribute_reference"/>
1346         <xsd:element ref="simple_expression_range"/>
1347         <xsd:element ref="digits_constraint"/>
1348         <xsd:element ref="delta_constraint"/>
1349         <xsd:element ref="index_constraint"/>
1350         <xsd:element ref="discriminant_constraint"/>
1351         <xsd:element ref="component_definition"/>
1352         <xsd:element ref="discrete_subtype_indication_as_subtype_definition"/>
1353         <xsd:element ref="discrete_range_attribute_reference_as_subtype_definition"/>
1354         <xsd:element ref="discrete_simple_expression_range_as_subtype_definition"/>
1355         <xsd:element ref="discrete_subtype_indication"/>
1356         <xsd:element ref="discrete_range_attribute_reference"/>
1357         <xsd:element ref="discrete_simple_expression_range"/>
1358         <xsd:element ref="unknown_discriminant_part"/>
1359         <xsd:element ref="known_discriminant_part"/>
1360         <xsd:element ref="record_definition"/>
1361         <xsd:element ref="null_record_definition"/>
1362         <xsd:element ref="null_component"/>
1363         <xsd:element ref="variant_part"/>
1364         <xsd:element ref="variant"/>
1365         <xsd:element ref="others_choice"/>
1366         <xsd:element ref="anonymous_access_to_variable"/>
1367         <xsd:element ref="anonymous_access_to_constant"/>
1368         <xsd:element ref="anonymous_access_to_procedure"/>
1369         <xsd:element ref="anonymous_access_to_protected_procedure"/>
1370         <xsd:element ref="anonymous_access_to_function"/>
1371         <xsd:element ref="anonymous_access_to_protected_function"/>
1372         <xsd:element ref="private_type_definition"/>
1373         <xsd:element ref="tagged_private_type_definition"/>
1374         <xsd:element ref="private_extension_definition"/>
1375         <xsd:element ref="task_definition"/>
1376         <xsd:element ref="protected_definition"/>
1377         <xsd:element ref="formal_private_type_definition"/>
1378         <xsd:element ref="formal_tagged_private_type_definition"/>
1379         <xsd:element ref="formal_derived_type_definition"/>
1380         <xsd:element ref="formal_discrete_type_definition"/>
1381         <xsd:element ref="formal_signed_integer_type_definition"/>
1382         <xsd:element ref="formal_modular_type_definition"/>
1383         <xsd:element ref="formal_floating_point_definition"/>
1384         <xsd:element ref="formal_ordinary_fixed_point_definition"/>
1385         <xsd:element ref="formal_decimal_fixed_point_definition"/>
1386         <xsd:element ref="formal_ordinary_interface"/>
1387         <xsd:element ref="formal_limited_interface"/>
1388         <xsd:element ref="formal_task_interface"/>
1389         <xsd:element ref="formal_protected_interface"/>
1390         <xsd:element ref="formal_synchronized_interface"/>
1391         <xsd:element ref="formal_unconstrained_array_definition"/>
1392         <xsd:element ref="formal_constrained_array_definition"/>
1393         <xsd:element ref="formal_pool_specific_access_to_variable"/>
1394         <xsd:element ref="formal_access_to_variable"/>
1395         <xsd:element ref="formal_access_to_constant"/>
1396         <xsd:element ref="formal_access_to_procedure"/>
1397         <xsd:element ref="formal_access_to_protected_procedure"/>
1398         <xsd:element ref="formal_access_to_function"/>
1399         <xsd:element ref="formal_access_to_protected_function"/>
1400         <xsd:element ref="aspect_specification"/>
1401         <xsd:element ref="box_expression"/>
1402         <xsd:element ref="integer_literal"/>
1403         <xsd:element ref="real_literal"/>
1404         <xsd:element ref="string_literal"/>
1405         <xsd:element ref="identifier"/>
1406         <xsd:element ref="and_operator"/>
1407         <xsd:element ref="or_operator"/>
1408         <xsd:element ref="xor_operator"/>
1409         <xsd:element ref="equal_operator"/>
1410         <xsd:element ref="not_equal_operator"/>
1411         <xsd:element ref="less_than_operator"/>
1412         <xsd:element ref="less_than_or_equal_operator"/>
1413         <xsd:element ref="greater_than_operator"/>
1414         <xsd:element ref="greater_than_or_equal_operator"/>
1415         <xsd:element ref="plus_operator"/>
1416         <xsd:element ref="minus_operator"/>
1417         <xsd:element ref="concatenate_operator"/>
1418         <xsd:element ref="unary_plus_operator"/>
1419         <xsd:element ref="unary_minus_operator"/>
1420         <xsd:element ref="multiply_operator"/>
1421         <xsd:element ref="divide_operator"/>
1422         <xsd:element ref="mod_operator"/>
1423         <xsd:element ref="rem_operator"/>
1424         <xsd:element ref="exponentiate_operator"/>
1425         <xsd:element ref="abs_operator"/>
1426         <xsd:element ref="not_operator"/>
1427         <xsd:element ref="character_literal"/>
1428         <xsd:element ref="enumeration_literal"/>
1429         <xsd:element ref="explicit_dereference"/>
1430         <xsd:element ref="function_call"/>
1431         <xsd:element ref="indexed_component"/>
1432         <xsd:element ref="slice"/>
1433         <xsd:element ref="selected_component"/>
1434         <xsd:element ref="access_attribute"/>
1435         <xsd:element ref="address_attribute"/>
1436         <xsd:element ref="adjacent_attribute"/>
1437         <xsd:element ref="aft_attribute"/>
1438         <xsd:element ref="alignment_attribute"/>
1439         <xsd:element ref="base_attribute"/>
1440         <xsd:element ref="bit_order_attribute"/>
1441         <xsd:element ref="body_version_attribute"/>
1442         <xsd:element ref="callable_attribute"/>
1443         <xsd:element ref="caller_attribute"/>
1444         <xsd:element ref="ceiling_attribute"/>
1445         <xsd:element ref="class_attribute"/>
1446         <xsd:element ref="component_size_attribute"/>
1447         <xsd:element ref="compose_attribute"/>
1448         <xsd:element ref="constrained_attribute"/>
1449         <xsd:element ref="copy_sign_attribute"/>
1450         <xsd:element ref="count_attribute"/>
1451         <xsd:element ref="definite_attribute"/>
1452         <xsd:element ref="delta_attribute"/>
1453         <xsd:element ref="denorm_attribute"/>
1454         <xsd:element ref="digits_attribute"/>
1455         <xsd:element ref="exponent_attribute"/>
1456         <xsd:element ref="external_tag_attribute"/>
1457         <xsd:element ref="first_attribute"/>
1458         <xsd:element ref="first_bit_attribute"/>
1459         <xsd:element ref="floor_attribute"/>
1460         <xsd:element ref="fore_attribute"/>
1461         <xsd:element ref="fraction_attribute"/>
1462         <xsd:element ref="identity_attribute"/>
1463         <xsd:element ref="image_attribute"/>
1464         <xsd:element ref="input_attribute"/>
1465         <xsd:element ref="last_attribute"/>
1466         <xsd:element ref="last_bit_attribute"/>
1467         <xsd:element ref="leading_part_attribute"/>
1468         <xsd:element ref="length_attribute"/>
1469         <xsd:element ref="machine_attribute"/>
1470         <xsd:element ref="machine_emax_attribute"/>
1471         <xsd:element ref="machine_emin_attribute"/>
1472         <xsd:element ref="machine_mantissa_attribute"/>
1473         <xsd:element ref="machine_overflows_attribute"/>
1474         <xsd:element ref="machine_radix_attribute"/>
1475         <xsd:element ref="machine_rounds_attribute"/>
1476         <xsd:element ref="max_attribute"/>
1477         <xsd:element ref="max_size_in_storage_elements_attribute"/>
1478         <xsd:element ref="min_attribute"/>
1479         <xsd:element ref="model_attribute"/>
1480         <xsd:element ref="model_emin_attribute"/>
1481         <xsd:element ref="model_epsilon_attribute"/>
1482         <xsd:element ref="model_mantissa_attribute"/>
1483         <xsd:element ref="model_small_attribute"/>
1484         <xsd:element ref="modulus_attribute"/>
1485         <xsd:element ref="output_attribute"/>
1486         <xsd:element ref="partition_id_attribute"/>
1487         <xsd:element ref="pos_attribute"/>
1488         <xsd:element ref="position_attribute"/>
1489         <xsd:element ref="pred_attribute"/>
1490         <xsd:element ref="range_attribute"/>
1491         <xsd:element ref="read_attribute"/>
1492         <xsd:element ref="remainder_attribute"/>
1493         <xsd:element ref="round_attribute"/>
1494         <xsd:element ref="rounding_attribute"/>
1495         <xsd:element ref="safe_first_attribute"/>
1496         <xsd:element ref="safe_last_attribute"/>
1497         <xsd:element ref="scale_attribute"/>
1498         <xsd:element ref="scaling_attribute"/>
1499         <xsd:element ref="signed_zeros_attribute"/>
1500         <xsd:element ref="size_attribute"/>
1501         <xsd:element ref="small_attribute"/>
1502         <xsd:element ref="storage_pool_attribute"/>
1503         <xsd:element ref="storage_size_attribute"/>
1504         <xsd:element ref="succ_attribute"/>
1505         <xsd:element ref="tag_attribute"/>
1506         <xsd:element ref="terminated_attribute"/>
1507         <xsd:element ref="truncation_attribute"/>
1508         <xsd:element ref="unbiased_rounding_attribute"/>
1509         <xsd:element ref="unchecked_access_attribute"/>
1510         <xsd:element ref="val_attribute"/>
1511         <xsd:element ref="valid_attribute"/>
1512         <xsd:element ref="value_attribute"/>
1513         <xsd:element ref="version_attribute"/>
1514         <xsd:element ref="wide_image_attribute"/>
1515         <xsd:element ref="wide_value_attribute"/>
1516         <xsd:element ref="wide_width_attribute"/>
1517         <xsd:element ref="width_attribute"/>
1518         <xsd:element ref="write_attribute"/>
1519         <xsd:element ref="machine_rounding_attribute"/>
1520         <xsd:element ref="mod_attribute"/>
1521         <xsd:element ref="priority_attribute"/>
1522         <xsd:element ref="stream_size_attribute"/>
1523         <xsd:element ref="wide_wide_image_attribute"/>
1524         <xsd:element ref="wide_wide_value_attribute"/>
1525         <xsd:element ref="wide_wide_width_attribute"/>
1526         <xsd:element ref="max_alignment_for_allocation_attribute"/>
1527         <xsd:element ref="overlaps_storage_attribute"/>
1528         <xsd:element ref="implementation_defined_attribute"/>
1529         <xsd:element ref="unknown_attribute"/>
1530         <xsd:element ref="record_aggregate"/>
1531         <xsd:element ref="extension_aggregate"/>
1532         <xsd:element ref="positional_array_aggregate"/>
1533         <xsd:element ref="named_array_aggregate"/>
1534         <xsd:element ref="and_then_short_circuit"/>
1535         <xsd:element ref="or_else_short_circuit"/>
1536         <xsd:element ref="in_membership_test"/>
1537         <xsd:element ref="not_in_membership_test"/>
1538         <xsd:element ref="null_literal"/>
1539         <xsd:element ref="parenthesized_expression"/>
1540         <xsd:element ref="raise_expression"/>
1541         <xsd:element ref="type_conversion"/>
1542         <xsd:element ref="qualified_expression"/>
1543         <xsd:element ref="allocation_from_subtype"/>
1544         <xsd:element ref="allocation_from_qualified_expression"/>
1545         <xsd:element ref="case_expression"/>
1546         <xsd:element ref="if_expression"/>
1547         <xsd:element ref="for_all_quantified_expression"/>
1548         <xsd:element ref="for_some_quantified_expression"/>
1549         <xsd:element ref="pragma_argument_association"/>
1550         <xsd:element ref="discriminant_association"/>
1551         <xsd:element ref="record_component_association"/>
1552         <xsd:element ref="array_component_association"/>
1553         <xsd:element ref="parameter_association"/>
1554         <xsd:element ref="generic_association"/>
1555         <xsd:element ref="null_statement"/>
1556         <xsd:element ref="assignment_statement"/>
1557         <xsd:element ref="if_statement"/>
1558         <xsd:element ref="case_statement"/>
1559         <xsd:element ref="loop_statement"/>
1560         <xsd:element ref="while_loop_statement"/>
1561         <xsd:element ref="for_loop_statement"/>
1562         <xsd:element ref="block_statement"/>
1563         <xsd:element ref="exit_statement"/>
1564         <xsd:element ref="goto_statement"/>
1565         <xsd:element ref="procedure_call_statement"/>
1566         <xsd:element ref="return_statement"/>
1567         <xsd:element ref="extended_return_statement"/>
1568         <xsd:element ref="accept_statement"/>
1569         <xsd:element ref="entry_call_statement"/>
1570         <xsd:element ref="requeue_statement"/>
1571         <xsd:element ref="requeue_statement_with_abort"/>
1572         <xsd:element ref="delay_until_statement"/>
1573         <xsd:element ref="delay_relative_statement"/>
1574         <xsd:element ref="terminate_alternative_statement"/>
1575         <xsd:element ref="selective_accept_statement"/>
1576         <xsd:element ref="timed_entry_call_statement"/>
1577         <xsd:element ref="conditional_entry_call_statement"/>
1578         <xsd:element ref="asynchronous_select_statement"/>
1579         <xsd:element ref="abort_statement"/>
1580         <xsd:element ref="raise_statement"/>
1581         <xsd:element ref="code_statement"/>
1582         <xsd:element ref="if_path"/>
1583         <xsd:element ref="elsif_path"/>
1584         <xsd:element ref="else_path"/>
1585         <xsd:element ref="case_path"/>
1586         <xsd:element ref="select_path"/>
1587         <xsd:element ref="or_path"/>
1588         <xsd:element ref="then_abort_path"/>
1589         <xsd:element ref="case_expression_path"/>
1590         <xsd:element ref="if_expression_path"/>
1591         <xsd:element ref="elsif_expression_path"/>
1592         <xsd:element ref="else_expression_path"/>
1593         <xsd:element ref="use_package_clause"/>
1594         <xsd:element ref="use_type_clause"/>
1595         <xsd:element ref="use_all_type_clause"/>
1596         <xsd:element ref="with_clause"/>
1597         <xsd:element ref="attribute_definition_clause"/>
1598         <xsd:element ref="enumeration_representation_clause"/>
1599         <xsd:element ref="record_representation_clause"/>
1600         <xsd:element ref="at_clause"/>
1601         <xsd:element ref="component_clause"/>
1602         <xsd:element ref="exception_handler"/>
1603         <xsd:element ref="comment"/>
1604         <xsd:group ref="pragmas_group"/>
1605      </xsd:choice>
1606   </xsd:complexType>
1607
1608   <xsd:complexType name="Association_List">
1609      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1610         <xsd:element ref="not_an_element"/>
1611         <xsd:element ref="pragma_argument_association"/>
1612         <xsd:element ref="discriminant_association"/>
1613         <xsd:element ref="record_component_association"/>
1614         <xsd:element ref="array_component_association"/>
1615         <xsd:element ref="parameter_association"/>
1616         <xsd:element ref="generic_association"/>
1617         <xsd:element ref="comment"/>
1618         <xsd:group ref="pragmas_group"/>
1619      </xsd:choice>
1620   </xsd:complexType>
1621
1622   <xsd:complexType name="Component_Clause_List">
1623      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1624         <xsd:element ref="not_an_element"/>
1625         <xsd:element ref="component_clause"/>
1626         <xsd:group ref="pragmas_group"/>
1627      </xsd:choice>
1628   </xsd:complexType>
1629
1630   <xsd:complexType name="Context_Clause_List">
1631      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1632         <xsd:element ref="not_an_element"/>
1633         <xsd:element ref="use_package_clause"/>
1634         <xsd:element ref="use_type_clause"/>
1635         <xsd:element ref="use_all_type_clause"/>
1636         <xsd:element ref="with_clause"/>
1637         <xsd:element ref="comment"/>
1638         <xsd:group ref="pragmas_group"/>
1639      </xsd:choice>
1640   </xsd:complexType>
1641
1642   <xsd:complexType name="Declaration_List">
1643      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1644         <xsd:element ref="not_an_element"/>
1645         <xsd:element ref="ordinary_type_declaration"/>
1646         <xsd:element ref="task_type_declaration"/>
1647         <xsd:element ref="protected_type_declaration"/>
1648         <xsd:element ref="incomplete_type_declaration"/>
1649         <xsd:element ref="tagged_incomplete_type_declaration"/>
1650         <xsd:element ref="private_type_declaration"/>
1651         <xsd:element ref="private_extension_declaration"/>
1652         <xsd:element ref="subtype_declaration"/>
1653         <xsd:element ref="variable_declaration"/>
1654         <xsd:element ref="constant_declaration"/>
1655         <xsd:element ref="deferred_constant_declaration"/>
1656         <xsd:element ref="single_task_declaration"/>
1657         <xsd:element ref="single_protected_declaration"/>
1658         <xsd:element ref="integer_number_declaration"/>
1659         <xsd:element ref="real_number_declaration"/>
1660         <xsd:element ref="enumeration_literal_specification"/>
1661         <xsd:element ref="discriminant_specification"/>
1662         <xsd:element ref="component_declaration"/>
1663         <xsd:element ref="loop_parameter_specification"/>
1664         <xsd:element ref="generalized_iterator_specification"/>
1665         <xsd:element ref="element_iterator_specification"/>
1666         <xsd:element ref="procedure_declaration"/>
1667         <xsd:element ref="function_declaration"/>
1668         <xsd:element ref="parameter_specification"/>
1669         <xsd:element ref="procedure_body_declaration"/>
1670         <xsd:element ref="function_body_declaration"/>
1671         <xsd:element ref="return_variable_specification"/>
1672         <xsd:element ref="return_constant_specification"/>
1673         <xsd:element ref="null_procedure_declaration"/>
1674         <xsd:element ref="expression_function_declaration"/>
1675         <xsd:element ref="package_declaration"/>
1676         <xsd:element ref="package_body_declaration"/>
1677         <xsd:element ref="object_renaming_declaration"/>
1678         <xsd:element ref="exception_renaming_declaration"/>
1679         <xsd:element ref="package_renaming_declaration"/>
1680         <xsd:element ref="procedure_renaming_declaration"/>
1681         <xsd:element ref="function_renaming_declaration"/>
1682         <xsd:element ref="generic_package_renaming_declaration"/>
1683         <xsd:element ref="generic_procedure_renaming_declaration"/>
1684         <xsd:element ref="generic_function_renaming_declaration"/>
1685         <xsd:element ref="task_body_declaration"/>
1686         <xsd:element ref="protected_body_declaration"/>
1687         <xsd:element ref="entry_declaration"/>
1688         <xsd:element ref="entry_body_declaration"/>
1689         <xsd:element ref="entry_index_specification"/>
1690         <xsd:element ref="procedure_body_stub"/>
1691         <xsd:element ref="function_body_stub"/>
1692         <xsd:element ref="package_body_stub"/>
1693         <xsd:element ref="task_body_stub"/>
1694         <xsd:element ref="protected_body_stub"/>
1695         <xsd:element ref="exception_declaration"/>
1696         <xsd:element ref="choice_parameter_specification"/>
1697         <xsd:element ref="generic_procedure_declaration"/>
1698         <xsd:element ref="generic_function_declaration"/>
1699         <xsd:element ref="generic_package_declaration"/>
1700         <xsd:element ref="package_instantiation"/>
1701         <xsd:element ref="procedure_instantiation"/>
1702         <xsd:element ref="function_instantiation"/>
1703         <xsd:element ref="formal_object_declaration"/>
1704         <xsd:element ref="formal_type_declaration"/>
1705         <xsd:element ref="formal_incomplete_type_declaration"/>
1706         <xsd:element ref="formal_procedure_declaration"/>
1707         <xsd:element ref="formal_function_declaration"/>
1708         <xsd:element ref="formal_package_declaration"/>
1709         <xsd:element ref="formal_package_declaration_with_box"/>
1710         <xsd:element ref="comment"/>
1711         <xsd:group ref="pragmas_group"/>
1712      </xsd:choice>
1713   </xsd:complexType>
1714
1715   <xsd:complexType name="Declarative_Item_List">
1716      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1717         <xsd:element ref="not_an_element"/>
1718         <xsd:element ref="ordinary_type_declaration"/>
1719         <xsd:element ref="task_type_declaration"/>
1720         <xsd:element ref="protected_type_declaration"/>
1721         <xsd:element ref="incomplete_type_declaration"/>
1722         <xsd:element ref="tagged_incomplete_type_declaration"/>
1723         <xsd:element ref="private_type_declaration"/>
1724         <xsd:element ref="private_extension_declaration"/>
1725         <xsd:element ref="subtype_declaration"/>
1726         <xsd:element ref="variable_declaration"/>
1727         <xsd:element ref="constant_declaration"/>
1728         <xsd:element ref="deferred_constant_declaration"/>
1729         <xsd:element ref="single_task_declaration"/>
1730         <xsd:element ref="single_protected_declaration"/>
1731         <xsd:element ref="integer_number_declaration"/>
1732         <xsd:element ref="real_number_declaration"/>
1733         <xsd:element ref="enumeration_literal_specification"/>
1734         <xsd:element ref="discriminant_specification"/>
1735         <xsd:element ref="component_declaration"/>
1736         <xsd:element ref="loop_parameter_specification"/>
1737         <xsd:element ref="generalized_iterator_specification"/>
1738         <xsd:element ref="element_iterator_specification"/>
1739         <xsd:element ref="procedure_declaration"/>
1740         <xsd:element ref="function_declaration"/>
1741         <xsd:element ref="parameter_specification"/>
1742         <xsd:element ref="procedure_body_declaration"/>
1743         <xsd:element ref="function_body_declaration"/>
1744         <xsd:element ref="return_variable_specification"/>
1745         <xsd:element ref="return_constant_specification"/>
1746         <xsd:element ref="null_procedure_declaration"/>
1747         <xsd:element ref="expression_function_declaration"/>
1748         <xsd:element ref="package_declaration"/>
1749         <xsd:element ref="package_body_declaration"/>
1750         <xsd:element ref="object_renaming_declaration"/>
1751         <xsd:element ref="exception_renaming_declaration"/>
1752         <xsd:element ref="package_renaming_declaration"/>
1753         <xsd:element ref="procedure_renaming_declaration"/>
1754         <xsd:element ref="function_renaming_declaration"/>
1755         <xsd:element ref="generic_package_renaming_declaration"/>
1756         <xsd:element ref="generic_procedure_renaming_declaration"/>
1757         <xsd:element ref="generic_function_renaming_declaration"/>
1758         <xsd:element ref="task_body_declaration"/>
1759         <xsd:element ref="protected_body_declaration"/>
1760         <xsd:element ref="entry_declaration"/>
1761         <xsd:element ref="entry_body_declaration"/>
1762         <xsd:element ref="entry_index_specification"/>
1763         <xsd:element ref="procedure_body_stub"/>
1764         <xsd:element ref="function_body_stub"/>
1765         <xsd:element ref="package_body_stub"/>
1766         <xsd:element ref="task_body_stub"/>
1767         <xsd:element ref="protected_body_stub"/>
1768         <xsd:element ref="exception_declaration"/>
1769         <xsd:element ref="choice_parameter_specification"/>
1770         <xsd:element ref="generic_procedure_declaration"/>
1771         <xsd:element ref="generic_function_declaration"/>
1772         <xsd:element ref="generic_package_declaration"/>
1773         <xsd:element ref="package_instantiation"/>
1774         <xsd:element ref="procedure_instantiation"/>
1775         <xsd:element ref="function_instantiation"/>
1776         <xsd:element ref="formal_object_declaration"/>
1777         <xsd:element ref="formal_type_declaration"/>
1778         <xsd:element ref="formal_incomplete_type_declaration"/>
1779         <xsd:element ref="formal_procedure_declaration"/>
1780         <xsd:element ref="formal_function_declaration"/>
1781         <xsd:element ref="formal_package_declaration"/>
1782         <xsd:element ref="formal_package_declaration_with_box"/>
1783         <xsd:element ref="use_package_clause"/>
1784         <xsd:element ref="use_type_clause"/>
1785         <xsd:element ref="use_all_type_clause"/>
1786         <xsd:element ref="with_clause"/>
1787         <xsd:element ref="attribute_definition_clause"/>
1788         <xsd:element ref="enumeration_representation_clause"/>
1789         <xsd:element ref="record_representation_clause"/>
1790         <xsd:element ref="at_clause"/>
1791         <xsd:element ref="component_clause"/>
1792         <xsd:element ref="comment"/>
1793         <xsd:group ref="pragmas_group"/>
1794      </xsd:choice>
1795   </xsd:complexType>
1796
1797   <xsd:complexType name="Definition_List">
1798      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1799         <xsd:element ref="not_an_element"/>
1800         <xsd:element ref="derived_type_definition"/>
1801         <xsd:element ref="derived_record_extension_definition"/>
1802         <xsd:element ref="enumeration_type_definition"/>
1803         <xsd:element ref="signed_integer_type_definition"/>
1804         <xsd:element ref="modular_type_definition"/>
1805         <xsd:element ref="root_integer_definition"/>
1806         <xsd:element ref="root_real_definition"/>
1807         <xsd:element ref="universal_integer_definition"/>
1808         <xsd:element ref="universal_real_definition"/>
1809         <xsd:element ref="universal_fixed_definition"/>
1810         <xsd:element ref="floating_point_definition"/>
1811         <xsd:element ref="ordinary_fixed_point_definition"/>
1812         <xsd:element ref="decimal_fixed_point_definition"/>
1813         <xsd:element ref="unconstrained_array_definition"/>
1814         <xsd:element ref="constrained_array_definition"/>
1815         <xsd:element ref="record_type_definition"/>
1816         <xsd:element ref="tagged_record_type_definition"/>
1817         <xsd:element ref="ordinary_interface"/>
1818         <xsd:element ref="limited_interface"/>
1819         <xsd:element ref="task_interface"/>
1820         <xsd:element ref="protected_interface"/>
1821         <xsd:element ref="synchronized_interface"/>
1822         <xsd:element ref="pool_specific_access_to_variable"/>
1823         <xsd:element ref="access_to_variable"/>
1824         <xsd:element ref="access_to_constant"/>
1825         <xsd:element ref="access_to_procedure"/>
1826         <xsd:element ref="access_to_protected_procedure"/>
1827         <xsd:element ref="access_to_function"/>
1828         <xsd:element ref="access_to_protected_function"/>
1829         <xsd:element ref="subtype_indication"/>
1830         <xsd:element ref="range_attribute_reference"/>
1831         <xsd:element ref="simple_expression_range"/>
1832         <xsd:element ref="digits_constraint"/>
1833         <xsd:element ref="delta_constraint"/>
1834         <xsd:element ref="index_constraint"/>
1835         <xsd:element ref="discriminant_constraint"/>
1836         <xsd:element ref="component_definition"/>
1837         <xsd:element ref="discrete_subtype_indication_as_subtype_definition"/>
1838         <xsd:element ref="discrete_range_attribute_reference_as_subtype_definition"/>
1839         <xsd:element ref="discrete_simple_expression_range_as_subtype_definition"/>
1840         <xsd:element ref="discrete_subtype_indication"/>
1841         <xsd:element ref="discrete_range_attribute_reference"/>
1842         <xsd:element ref="discrete_simple_expression_range"/>
1843         <xsd:element ref="unknown_discriminant_part"/>
1844         <xsd:element ref="known_discriminant_part"/>
1845         <xsd:element ref="record_definition"/>
1846         <xsd:element ref="null_record_definition"/>
1847         <xsd:element ref="null_component"/>
1848         <xsd:element ref="variant_part"/>
1849         <xsd:element ref="variant"/>
1850         <xsd:element ref="others_choice"/>
1851         <xsd:element ref="anonymous_access_to_variable"/>
1852         <xsd:element ref="anonymous_access_to_constant"/>
1853         <xsd:element ref="anonymous_access_to_procedure"/>
1854         <xsd:element ref="anonymous_access_to_protected_procedure"/>
1855         <xsd:element ref="anonymous_access_to_function"/>
1856         <xsd:element ref="anonymous_access_to_protected_function"/>
1857         <xsd:element ref="private_type_definition"/>
1858         <xsd:element ref="tagged_private_type_definition"/>
1859         <xsd:element ref="private_extension_definition"/>
1860         <xsd:element ref="task_definition"/>
1861         <xsd:element ref="protected_definition"/>
1862         <xsd:element ref="formal_private_type_definition"/>
1863         <xsd:element ref="formal_tagged_private_type_definition"/>
1864         <xsd:element ref="formal_derived_type_definition"/>
1865         <xsd:element ref="formal_discrete_type_definition"/>
1866         <xsd:element ref="formal_signed_integer_type_definition"/>
1867         <xsd:element ref="formal_modular_type_definition"/>
1868         <xsd:element ref="formal_floating_point_definition"/>
1869         <xsd:element ref="formal_ordinary_fixed_point_definition"/>
1870         <xsd:element ref="formal_decimal_fixed_point_definition"/>
1871         <xsd:element ref="formal_ordinary_interface"/>
1872         <xsd:element ref="formal_limited_interface"/>
1873         <xsd:element ref="formal_task_interface"/>
1874         <xsd:element ref="formal_protected_interface"/>
1875         <xsd:element ref="formal_synchronized_interface"/>
1876         <xsd:element ref="formal_unconstrained_array_definition"/>
1877         <xsd:element ref="formal_constrained_array_definition"/>
1878         <xsd:element ref="formal_pool_specific_access_to_variable"/>
1879         <xsd:element ref="formal_access_to_variable"/>
1880         <xsd:element ref="formal_access_to_constant"/>
1881         <xsd:element ref="formal_access_to_procedure"/>
1882         <xsd:element ref="formal_access_to_protected_procedure"/>
1883         <xsd:element ref="formal_access_to_function"/>
1884         <xsd:element ref="formal_access_to_protected_function"/>
1885         <xsd:element ref="aspect_specification"/>
1886         <xsd:element ref="identifier"/>
1887         <xsd:element ref="selected_component"/>
1888         <xsd:element ref="base_attribute"/>
1889         <xsd:element ref="class_attribute"/>
1890         <xsd:element ref="comment"/>
1891         <xsd:group ref="pragmas_group"/>
1892      </xsd:choice>
1893   </xsd:complexType>
1894
1895   <xsd:complexType name="Discrete_Range_List">
1896      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1897         <xsd:element ref="not_an_element"/>
1898         <xsd:element ref="discrete_subtype_indication"/>
1899         <xsd:element ref="discrete_range_attribute_reference"/>
1900         <xsd:element ref="discrete_simple_expression_range"/>
1901         <xsd:element ref="comment"/>
1902         <xsd:group ref="pragmas_group"/>
1903      </xsd:choice>
1904   </xsd:complexType>
1905
1906   <xsd:complexType name="Discriminant_Association_List">
1907      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1908         <xsd:element ref="not_an_element"/>
1909         <xsd:element ref="discriminant_association"/>
1910         <xsd:group ref="pragmas_group"/>
1911      </xsd:choice>
1912   </xsd:complexType>
1913
1914   <xsd:complexType name="Discriminant_Specification_List">
1915      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1916         <xsd:element ref="not_an_element"/>
1917         <xsd:element ref="discriminant_specification"/>
1918         <xsd:group ref="pragmas_group"/>
1919      </xsd:choice>
1920   </xsd:complexType>
1921
1922   <xsd:complexType name="Defining_Name_List">
1923      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1924         <xsd:element ref="not_an_element"/>
1925         <xsd:element ref="defining_identifier"/>
1926         <xsd:element ref="defining_character_literal"/>
1927         <xsd:element ref="defining_enumeration_literal"/>
1928         <xsd:element ref="defining_and_operator"/>
1929         <xsd:element ref="defining_or_operator"/>
1930         <xsd:element ref="defining_xor_operator"/>
1931         <xsd:element ref="defining_equal_operator"/>
1932         <xsd:element ref="defining_not_equal_operator"/>
1933         <xsd:element ref="defining_less_than_operator"/>
1934         <xsd:element ref="defining_less_than_or_equal_operator"/>
1935         <xsd:element ref="defining_greater_than_operator"/>
1936         <xsd:element ref="defining_greater_than_or_equal_operator"/>
1937         <xsd:element ref="defining_plus_operator"/>
1938         <xsd:element ref="defining_minus_operator"/>
1939         <xsd:element ref="defining_concatenate_operator"/>
1940         <xsd:element ref="defining_unary_plus_operator"/>
1941         <xsd:element ref="defining_unary_minus_operator"/>
1942         <xsd:element ref="defining_multiply_operator"/>
1943         <xsd:element ref="defining_divide_operator"/>
1944         <xsd:element ref="defining_mod_operator"/>
1945         <xsd:element ref="defining_rem_operator"/>
1946         <xsd:element ref="defining_exponentiate_operator"/>
1947         <xsd:element ref="defining_abs_operator"/>
1948         <xsd:element ref="defining_not_operator"/>
1949         <xsd:element ref="defining_expanded_name"/>
1950         <xsd:element ref="comment"/>
1951         <xsd:group ref="pragmas_group"/>
1952      </xsd:choice>
1953   </xsd:complexType>
1954
1955   <xsd:complexType name="Exception_Handler_List">
1956      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1957         <xsd:element ref="not_an_element"/>
1958         <xsd:element ref="exception_handler"/>
1959         <xsd:group ref="pragmas_group"/>
1960      </xsd:choice>
1961   </xsd:complexType>
1962
1963   <xsd:complexType name="Expression_List">
1964      <xsd:choice minOccurs="0" maxOccurs="unbounded">
1965         <xsd:element ref="not_an_element"/>
1966         <xsd:element ref="discrete_range_attribute_reference"/>
1967         <xsd:element ref="discrete_simple_expression_range"/>
1968         <xsd:element ref="others_choice"/>
1969         <xsd:element ref="box_expression"/>
1970         <xsd:element ref="integer_literal"/>
1971         <xsd:element ref="real_literal"/>
1972         <xsd:element ref="string_literal"/>
1973         <xsd:element ref="identifier"/>
1974         <xsd:element ref="and_operator"/>
1975         <xsd:element ref="or_operator"/>
1976         <xsd:element ref="xor_operator"/>
1977         <xsd:element ref="equal_operator"/>
1978         <xsd:element ref="not_equal_operator"/>
1979         <xsd:element ref="less_than_operator"/>
1980         <xsd:element ref="less_than_or_equal_operator"/>
1981         <xsd:element ref="greater_than_operator"/>
1982         <xsd:element ref="greater_than_or_equal_operator"/>
1983         <xsd:element ref="plus_operator"/>
1984         <xsd:element ref="minus_operator"/>
1985         <xsd:element ref="concatenate_operator"/>
1986         <xsd:element ref="unary_plus_operator"/>
1987         <xsd:element ref="unary_minus_operator"/>
1988         <xsd:element ref="multiply_operator"/>
1989         <xsd:element ref="divide_operator"/>
1990         <xsd:element ref="mod_operator"/>
1991         <xsd:element ref="rem_operator"/>
1992         <xsd:element ref="exponentiate_operator"/>
1993         <xsd:element ref="abs_operator"/>
1994         <xsd:element ref="not_operator"/>
1995         <xsd:element ref="character_literal"/>
1996         <xsd:element ref="enumeration_literal"/>
1997         <xsd:element ref="explicit_dereference"/>
1998         <xsd:element ref="function_call"/>
1999         <xsd:element ref="indexed_component"/>
2000         <xsd:element ref="slice"/>
2001         <xsd:element ref="selected_component"/>
2002         <xsd:element ref="access_attribute"/>
2003         <xsd:element ref="address_attribute"/>
2004         <xsd:element ref="adjacent_attribute"/>
2005         <xsd:element ref="aft_attribute"/>
2006         <xsd:element ref="alignment_attribute"/>
2007         <xsd:element ref="base_attribute"/>
2008         <xsd:element ref="bit_order_attribute"/>
2009         <xsd:element ref="body_version_attribute"/>
2010         <xsd:element ref="callable_attribute"/>
2011         <xsd:element ref="caller_attribute"/>
2012         <xsd:element ref="ceiling_attribute"/>
2013         <xsd:element ref="class_attribute"/>
2014         <xsd:element ref="component_size_attribute"/>
2015         <xsd:element ref="compose_attribute"/>
2016         <xsd:element ref="constrained_attribute"/>
2017         <xsd:element ref="copy_sign_attribute"/>
2018         <xsd:element ref="count_attribute"/>
2019         <xsd:element ref="definite_attribute"/>
2020         <xsd:element ref="delta_attribute"/>
2021         <xsd:element ref="denorm_attribute"/>
2022         <xsd:element ref="digits_attribute"/>
2023         <xsd:element ref="exponent_attribute"/>
2024         <xsd:element ref="external_tag_attribute"/>
2025         <xsd:element ref="first_attribute"/>
2026         <xsd:element ref="first_bit_attribute"/>
2027         <xsd:element ref="floor_attribute"/>
2028         <xsd:element ref="fore_attribute"/>
2029         <xsd:element ref="fraction_attribute"/>
2030         <xsd:element ref="identity_attribute"/>
2031         <xsd:element ref="image_attribute"/>
2032         <xsd:element ref="input_attribute"/>
2033         <xsd:element ref="last_attribute"/>
2034         <xsd:element ref="last_bit_attribute"/>
2035         <xsd:element ref="leading_part_attribute"/>
2036         <xsd:element ref="length_attribute"/>
2037         <xsd:element ref="machine_attribute"/>
2038         <xsd:element ref="machine_emax_attribute"/>
2039         <xsd:element ref="machine_emin_attribute"/>
2040         <xsd:element ref="machine_mantissa_attribute"/>
2041         <xsd:element ref="machine_overflows_attribute"/>
2042         <xsd:element ref="machine_radix_attribute"/>
2043         <xsd:element ref="machine_rounds_attribute"/>
2044         <xsd:element ref="max_attribute"/>
2045         <xsd:element ref="max_size_in_storage_elements_attribute"/>
2046         <xsd:element ref="min_attribute"/>
2047         <xsd:element ref="model_attribute"/>
2048         <xsd:element ref="model_emin_attribute"/>
2049         <xsd:element ref="model_epsilon_attribute"/>
2050         <xsd:element ref="model_mantissa_attribute"/>
2051         <xsd:element ref="model_small_attribute"/>
2052         <xsd:element ref="modulus_attribute"/>
2053         <xsd:element ref="output_attribute"/>
2054         <xsd:element ref="partition_id_attribute"/>
2055         <xsd:element ref="pos_attribute"/>
2056         <xsd:element ref="position_attribute"/>
2057         <xsd:element ref="pred_attribute"/>
2058         <xsd:element ref="range_attribute"/>
2059         <xsd:element ref="read_attribute"/>
2060         <xsd:element ref="remainder_attribute"/>
2061         <xsd:element ref="round_attribute"/>
2062         <xsd:element ref="rounding_attribute"/>
2063         <xsd:element ref="safe_first_attribute"/>
2064         <xsd:element ref="safe_last_attribute"/>
2065         <xsd:element ref="scale_attribute"/>
2066         <xsd:element ref="scaling_attribute"/>
2067         <xsd:element ref="signed_zeros_attribute"/>
2068         <xsd:element ref="size_attribute"/>
2069         <xsd:element ref="small_attribute"/>
2070         <xsd:element ref="storage_pool_attribute"/>
2071         <xsd:element ref="storage_size_attribute"/>
2072         <xsd:element ref="succ_attribute"/>
2073         <xsd:element ref="tag_attribute"/>
2074         <xsd:element ref="terminated_attribute"/>
2075         <xsd:element ref="truncation_attribute"/>
2076         <xsd:element ref="unbiased_rounding_attribute"/>
2077         <xsd:element ref="unchecked_access_attribute"/>
2078         <xsd:element ref="val_attribute"/>
2079         <xsd:element ref="valid_attribute"/>
2080         <xsd:element ref="value_attribute"/>
2081         <xsd:element ref="version_attribute"/>
2082         <xsd:element ref="wide_image_attribute"/>
2083         <xsd:element ref="wide_value_attribute"/>
2084         <xsd:element ref="wide_width_attribute"/>
2085         <xsd:element ref="width_attribute"/>
2086         <xsd:element ref="write_attribute"/>
2087         <xsd:element ref="machine_rounding_attribute"/>
2088         <xsd:element ref="mod_attribute"/>
2089         <xsd:element ref="priority_attribute"/>
2090         <xsd:element ref="stream_size_attribute"/>
2091         <xsd:element ref="wide_wide_image_attribute"/>
2092         <xsd:element ref="wide_wide_value_attribute"/>
2093         <xsd:element ref="wide_wide_width_attribute"/>
2094         <xsd:element ref="max_alignment_for_allocation_attribute"/>
2095         <xsd:element ref="overlaps_storage_attribute"/>
2096         <xsd:element ref="implementation_defined_attribute"/>
2097         <xsd:element ref="unknown_attribute"/>
2098         <xsd:element ref="record_aggregate"/>
2099         <xsd:element ref="extension_aggregate"/>
2100         <xsd:element ref="positional_array_aggregate"/>
2101         <xsd:element ref="named_array_aggregate"/>
2102         <xsd:element ref="and_then_short_circuit"/>
2103         <xsd:element ref="or_else_short_circuit"/>
2104         <xsd:element ref="in_membership_test"/>
2105         <xsd:element ref="not_in_membership_test"/>
2106         <xsd:element ref="null_literal"/>
2107         <xsd:element ref="parenthesized_expression"/>
2108         <xsd:element ref="raise_expression"/>
2109         <xsd:element ref="type_conversion"/>
2110         <xsd:element ref="qualified_expression"/>
2111         <xsd:element ref="allocation_from_subtype"/>
2112         <xsd:element ref="allocation_from_qualified_expression"/>
2113         <xsd:element ref="case_expression"/>
2114         <xsd:element ref="if_expression"/>
2115         <xsd:element ref="for_all_quantified_expression"/>
2116         <xsd:element ref="for_some_quantified_expression"/>
2117         <xsd:element ref="comment"/>
2118         <xsd:group ref="pragmas_group"/>
2119      </xsd:choice>
2120   </xsd:complexType>
2121
2122   <xsd:complexType name="Name_List">
2123      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2124         <xsd:element ref="not_an_element"/>
2125         <xsd:element ref="identifier"/>
2126         <xsd:element ref="selected_component"/>
2127         <xsd:element ref="access_attribute"/>
2128         <xsd:element ref="address_attribute"/>
2129         <xsd:element ref="adjacent_attribute"/>
2130         <xsd:element ref="aft_attribute"/>
2131         <xsd:element ref="alignment_attribute"/>
2132         <xsd:element ref="base_attribute"/>
2133         <xsd:element ref="bit_order_attribute"/>
2134         <xsd:element ref="body_version_attribute"/>
2135         <xsd:element ref="callable_attribute"/>
2136         <xsd:element ref="caller_attribute"/>
2137         <xsd:element ref="ceiling_attribute"/>
2138         <xsd:element ref="class_attribute"/>
2139         <xsd:element ref="component_size_attribute"/>
2140         <xsd:element ref="compose_attribute"/>
2141         <xsd:element ref="constrained_attribute"/>
2142         <xsd:element ref="copy_sign_attribute"/>
2143         <xsd:element ref="count_attribute"/>
2144         <xsd:element ref="definite_attribute"/>
2145         <xsd:element ref="delta_attribute"/>
2146         <xsd:element ref="denorm_attribute"/>
2147         <xsd:element ref="digits_attribute"/>
2148         <xsd:element ref="exponent_attribute"/>
2149         <xsd:element ref="external_tag_attribute"/>
2150         <xsd:element ref="first_attribute"/>
2151         <xsd:element ref="first_bit_attribute"/>
2152         <xsd:element ref="floor_attribute"/>
2153         <xsd:element ref="fore_attribute"/>
2154         <xsd:element ref="fraction_attribute"/>
2155         <xsd:element ref="identity_attribute"/>
2156         <xsd:element ref="image_attribute"/>
2157         <xsd:element ref="input_attribute"/>
2158         <xsd:element ref="last_attribute"/>
2159         <xsd:element ref="last_bit_attribute"/>
2160         <xsd:element ref="leading_part_attribute"/>
2161         <xsd:element ref="length_attribute"/>
2162         <xsd:element ref="machine_attribute"/>
2163         <xsd:element ref="machine_emax_attribute"/>
2164         <xsd:element ref="machine_emin_attribute"/>
2165         <xsd:element ref="machine_mantissa_attribute"/>
2166         <xsd:element ref="machine_overflows_attribute"/>
2167         <xsd:element ref="machine_radix_attribute"/>
2168         <xsd:element ref="machine_rounds_attribute"/>
2169         <xsd:element ref="max_attribute"/>
2170         <xsd:element ref="max_size_in_storage_elements_attribute"/>
2171         <xsd:element ref="min_attribute"/>
2172         <xsd:element ref="model_attribute"/>
2173         <xsd:element ref="model_emin_attribute"/>
2174         <xsd:element ref="model_epsilon_attribute"/>
2175         <xsd:element ref="model_mantissa_attribute"/>
2176         <xsd:element ref="model_small_attribute"/>
2177         <xsd:element ref="modulus_attribute"/>
2178         <xsd:element ref="output_attribute"/>
2179         <xsd:element ref="partition_id_attribute"/>
2180         <xsd:element ref="pos_attribute"/>
2181         <xsd:element ref="position_attribute"/>
2182         <xsd:element ref="pred_attribute"/>
2183         <xsd:element ref="range_attribute"/>
2184         <xsd:element ref="read_attribute"/>
2185         <xsd:element ref="remainder_attribute"/>
2186         <xsd:element ref="round_attribute"/>
2187         <xsd:element ref="rounding_attribute"/>
2188         <xsd:element ref="safe_first_attribute"/>
2189         <xsd:element ref="safe_last_attribute"/>
2190         <xsd:element ref="scale_attribute"/>
2191         <xsd:element ref="scaling_attribute"/>
2192         <xsd:element ref="signed_zeros_attribute"/>
2193         <xsd:element ref="size_attribute"/>
2194         <xsd:element ref="small_attribute"/>
2195         <xsd:element ref="storage_pool_attribute"/>
2196         <xsd:element ref="storage_size_attribute"/>
2197         <xsd:element ref="succ_attribute"/>
2198         <xsd:element ref="tag_attribute"/>
2199         <xsd:element ref="terminated_attribute"/>
2200         <xsd:element ref="truncation_attribute"/>
2201         <xsd:element ref="unbiased_rounding_attribute"/>
2202         <xsd:element ref="unchecked_access_attribute"/>
2203         <xsd:element ref="val_attribute"/>
2204         <xsd:element ref="valid_attribute"/>
2205         <xsd:element ref="value_attribute"/>
2206         <xsd:element ref="version_attribute"/>
2207         <xsd:element ref="wide_image_attribute"/>
2208         <xsd:element ref="wide_value_attribute"/>
2209         <xsd:element ref="wide_width_attribute"/>
2210         <xsd:element ref="width_attribute"/>
2211         <xsd:element ref="write_attribute"/>
2212         <xsd:element ref="machine_rounding_attribute"/>
2213         <xsd:element ref="mod_attribute"/>
2214         <xsd:element ref="priority_attribute"/>
2215         <xsd:element ref="stream_size_attribute"/>
2216         <xsd:element ref="wide_wide_image_attribute"/>
2217         <xsd:element ref="wide_wide_value_attribute"/>
2218         <xsd:element ref="wide_wide_width_attribute"/>
2219         <xsd:element ref="max_alignment_for_allocation_attribute"/>
2220         <xsd:element ref="overlaps_storage_attribute"/>
2221         <xsd:element ref="implementation_defined_attribute"/>
2222         <xsd:element ref="unknown_attribute"/>
2223         <xsd:element ref="comment"/>
2224         <xsd:group ref="pragmas_group"/>
2225      </xsd:choice>
2226   </xsd:complexType>
2227
2228   <xsd:complexType name="Parameter_Specification_List">
2229      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2230         <xsd:element ref="not_an_element"/>
2231         <xsd:element ref="parameter_specification"/>
2232         <xsd:group ref="pragmas_group"/>
2233      </xsd:choice>
2234   </xsd:complexType>
2235
2236   <xsd:complexType name="Path_List">
2237      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2238         <xsd:element ref="not_an_element"/>
2239         <xsd:element ref="if_path"/>
2240         <xsd:element ref="elsif_path"/>
2241         <xsd:element ref="else_path"/>
2242         <xsd:element ref="case_path"/>
2243         <xsd:element ref="select_path"/>
2244         <xsd:element ref="or_path"/>
2245         <xsd:element ref="then_abort_path"/>
2246         <xsd:element ref="case_expression_path"/>
2247         <xsd:element ref="if_expression_path"/>
2248         <xsd:element ref="elsif_expression_path"/>
2249         <xsd:element ref="else_expression_path"/>
2250         <xsd:element ref="comment"/>
2251         <xsd:group ref="pragmas_group"/>
2252      </xsd:choice>
2253   </xsd:complexType>
2254
2255   <xsd:complexType name="Record_Component_List">
2256      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2257         <xsd:element ref="not_an_element"/>
2258         <xsd:element ref="component_declaration"/>
2259         <xsd:element ref="null_component"/>
2260         <xsd:element ref="variant_part"/>
2261         <xsd:element ref="attribute_definition_clause"/>
2262         <xsd:element ref="comment"/>
2263         <xsd:group ref="pragmas_group"/>
2264      </xsd:choice>
2265   </xsd:complexType>
2266
2267   <xsd:complexType name="Statement_List">
2268      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2269         <xsd:element ref="not_an_element"/>
2270         <xsd:element ref="null_statement"/>
2271         <xsd:element ref="assignment_statement"/>
2272         <xsd:element ref="if_statement"/>
2273         <xsd:element ref="case_statement"/>
2274         <xsd:element ref="loop_statement"/>
2275         <xsd:element ref="while_loop_statement"/>
2276         <xsd:element ref="for_loop_statement"/>
2277         <xsd:element ref="block_statement"/>
2278         <xsd:element ref="exit_statement"/>
2279         <xsd:element ref="goto_statement"/>
2280         <xsd:element ref="procedure_call_statement"/>
2281         <xsd:element ref="return_statement"/>
2282         <xsd:element ref="extended_return_statement"/>
2283         <xsd:element ref="accept_statement"/>
2284         <xsd:element ref="entry_call_statement"/>
2285         <xsd:element ref="requeue_statement"/>
2286         <xsd:element ref="requeue_statement_with_abort"/>
2287         <xsd:element ref="delay_until_statement"/>
2288         <xsd:element ref="delay_relative_statement"/>
2289         <xsd:element ref="terminate_alternative_statement"/>
2290         <xsd:element ref="selective_accept_statement"/>
2291         <xsd:element ref="timed_entry_call_statement"/>
2292         <xsd:element ref="conditional_entry_call_statement"/>
2293         <xsd:element ref="asynchronous_select_statement"/>
2294         <xsd:element ref="abort_statement"/>
2295         <xsd:element ref="raise_statement"/>
2296         <xsd:element ref="code_statement"/>
2297         <xsd:element ref="comment"/>
2298         <xsd:group ref="pragmas_group"/>
2299      </xsd:choice>
2300   </xsd:complexType>
2301
2302   <xsd:complexType name="Variant_List">
2303      <xsd:choice minOccurs="0" maxOccurs="unbounded">
2304         <xsd:element ref="not_an_element"/>
2305         <xsd:element ref="variant"/>
2306         <xsd:group ref="pragmas_group"/>
2307      </xsd:choice>
2308   </xsd:complexType>
2309
2310
2311   <!-- ================================================================ -->
2312   <!-- Boolean Elements -->
2313
2314   <xsd:element name="aliased" type="Aliased"/>
2315
2316   <xsd:complexType name="Aliased">
2317      <xsd:attribute name="checks" type="xsd:string"/>
2318      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2319   </xsd:complexType>
2320
2321   <xsd:element name="null_exclusion" type="Null_Exclusion"/>
2322
2323   <xsd:complexType name="Null_Exclusion">
2324      <xsd:attribute name="checks" type="xsd:string"/>
2325      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2326   </xsd:complexType>
2327
2328   <xsd:element name="not_null_return" type="Not_Null_Return"/>
2329
2330   <xsd:complexType name="Not_Null_Return">
2331      <xsd:attribute name="checks" type="xsd:string"/>
2332      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2333   </xsd:complexType>
2334
2335   <xsd:element name="reverse" type="Reverse"/>
2336
2337   <xsd:complexType name="Reverse">
2338      <xsd:attribute name="checks" type="xsd:string"/>
2339      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2340   </xsd:complexType>
2341
2342   <xsd:element name="limited" type="Limited"/>
2343
2344   <xsd:complexType name="Limited">
2345      <xsd:attribute name="checks" type="xsd:string"/>
2346      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2347   </xsd:complexType>
2348
2349   <xsd:element name="synchronized" type="Synchronized"/>
2350
2351   <xsd:complexType name="Synchronized">
2352      <xsd:attribute name="checks" type="xsd:string"/>
2353      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2354   </xsd:complexType>
2355
2356   <xsd:element name="private" type="Private"/>
2357
2358   <xsd:complexType name="Private">
2359      <xsd:attribute name="checks" type="xsd:string"/>
2360      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2361   </xsd:complexType>
2362
2363   <xsd:element name="abstract" type="Abstract"/>
2364
2365   <xsd:complexType name="Abstract">
2366      <xsd:attribute name="checks" type="xsd:string"/>
2367      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2368   </xsd:complexType>
2369
2370   <xsd:element name="tagged" type="Tagged"/>
2371
2372   <xsd:complexType name="Tagged">
2373      <xsd:attribute name="checks" type="xsd:string"/>
2374      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2375   </xsd:complexType>
2376
2377   <xsd:element name="overriding" type="Overriding"/>
2378
2379   <xsd:complexType name="Overriding">
2380      <xsd:attribute name="checks" type="xsd:string"/>
2381      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2382   </xsd:complexType>
2383
2384   <xsd:element name="not_overriding" type="Not_Overriding"/>
2385
2386   <xsd:complexType name="Not_Overriding">
2387      <xsd:attribute name="checks" type="xsd:string"/>
2388      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2389   </xsd:complexType>
2390
2391   <xsd:element name="is_prefix_call" type="Is_Prefix_Call"/>
2392
2393   <xsd:complexType name="Is_Prefix_Call">
2394      <xsd:attribute name="checks" type="xsd:string"/>
2395      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2396   </xsd:complexType>
2397
2398   <xsd:element name="is_prefix_notation" type="Is_Prefix_Notation"/>
2399
2400   <xsd:complexType name="Is_Prefix_Notation">
2401      <xsd:attribute name="checks" type="xsd:string"/>
2402      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2403   </xsd:complexType>
2404
2405   <!-- ================================================================ -->
2406   <!-- Defining Occurrences -->
2407
2408   <xsd:element name="defining_identifier" type="Defining_Identifier"/>
2409
2410   <xsd:complexType name="Defining_Identifier">
2411      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2412      <xsd:attribute name="def" type="xsd:string" use="required"/>
2413      <xsd:attribute name="type" type="xsd:string" use="required"/>
2414      <xsd:attribute name="checks" type="xsd:string"/>
2415      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2416   </xsd:complexType>
2417
2418   <xsd:element name="defining_character_literal" type="Defining_Character_Literal"/>
2419
2420   <xsd:complexType name="Defining_Character_Literal">
2421      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2422      <xsd:attribute name="def" type="xsd:string" use="required"/>
2423      <xsd:attribute name="type" type="xsd:string" use="required"/>
2424      <xsd:attribute name="checks" type="xsd:string"/>
2425      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2426   </xsd:complexType>
2427
2428   <xsd:element name="defining_enumeration_literal" type="Defining_Enumeration_Literal"/>
2429
2430   <xsd:complexType name="Defining_Enumeration_Literal">
2431      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2432      <xsd:attribute name="def" type="xsd:string" use="required"/>
2433      <xsd:attribute name="type" type="xsd:string" use="required"/>
2434      <xsd:attribute name="checks" type="xsd:string"/>
2435      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2436   </xsd:complexType>
2437
2438   <xsd:element name="defining_and_operator" type="Defining_And_Operator"/>
2439
2440   <xsd:complexType name="Defining_And_Operator">
2441      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2442      <xsd:attribute name="def" type="xsd:string" use="required"/>
2443      <xsd:attribute name="type" type="xsd:string" use="required"/>
2444      <xsd:attribute name="checks" type="xsd:string"/>
2445      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2446   </xsd:complexType>
2447
2448   <xsd:element name="defining_or_operator" type="Defining_Or_Operator"/>
2449
2450   <xsd:complexType name="Defining_Or_Operator">
2451      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2452      <xsd:attribute name="def" type="xsd:string" use="required"/>
2453      <xsd:attribute name="type" type="xsd:string" use="required"/>
2454      <xsd:attribute name="checks" type="xsd:string"/>
2455      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2456   </xsd:complexType>
2457
2458   <xsd:element name="defining_xor_operator" type="Defining_Xor_Operator"/>
2459
2460   <xsd:complexType name="Defining_Xor_Operator">
2461      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2462      <xsd:attribute name="def" type="xsd:string" use="required"/>
2463      <xsd:attribute name="type" type="xsd:string" use="required"/>
2464      <xsd:attribute name="checks" type="xsd:string"/>
2465      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2466   </xsd:complexType>
2467
2468   <xsd:element name="defining_equal_operator" type="Defining_Equal_Operator"/>
2469
2470   <xsd:complexType name="Defining_Equal_Operator">
2471      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2472      <xsd:attribute name="def" type="xsd:string" use="required"/>
2473      <xsd:attribute name="type" type="xsd:string" use="required"/>
2474      <xsd:attribute name="checks" type="xsd:string"/>
2475      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2476   </xsd:complexType>
2477
2478   <xsd:element name="defining_not_equal_operator" type="Defining_Not_Equal_Operator"/>
2479
2480   <xsd:complexType name="Defining_Not_Equal_Operator">
2481      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2482      <xsd:attribute name="def" type="xsd:string" use="required"/>
2483      <xsd:attribute name="type" type="xsd:string" use="required"/>
2484      <xsd:attribute name="checks" type="xsd:string"/>
2485      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2486   </xsd:complexType>
2487
2488   <xsd:element name="defining_less_than_operator" type="Defining_Less_Than_Operator"/>
2489
2490   <xsd:complexType name="Defining_Less_Than_Operator">
2491      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2492      <xsd:attribute name="def" type="xsd:string" use="required"/>
2493      <xsd:attribute name="type" type="xsd:string" use="required"/>
2494      <xsd:attribute name="checks" type="xsd:string"/>
2495      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2496   </xsd:complexType>
2497
2498   <xsd:element name="defining_less_than_or_equal_operator" type="Defining_Less_Than_Or_Equal_Operator"/>
2499
2500   <xsd:complexType name="Defining_Less_Than_Or_Equal_Operator">
2501      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2502      <xsd:attribute name="def" type="xsd:string" use="required"/>
2503      <xsd:attribute name="type" type="xsd:string" use="required"/>
2504      <xsd:attribute name="checks" type="xsd:string"/>
2505      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2506   </xsd:complexType>
2507
2508   <xsd:element name="defining_greater_than_operator" type="Defining_Greater_Than_Operator"/>
2509
2510   <xsd:complexType name="Defining_Greater_Than_Operator">
2511      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2512      <xsd:attribute name="def" type="xsd:string" use="required"/>
2513      <xsd:attribute name="type" type="xsd:string" use="required"/>
2514      <xsd:attribute name="checks" type="xsd:string"/>
2515      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2516   </xsd:complexType>
2517
2518   <xsd:element name="defining_greater_than_or_equal_operator" type="Defining_Greater_Than_Or_Equal_Operator"/>
2519
2520   <xsd:complexType name="Defining_Greater_Than_Or_Equal_Operator">
2521      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2522      <xsd:attribute name="def" type="xsd:string" use="required"/>
2523      <xsd:attribute name="type" type="xsd:string" use="required"/>
2524      <xsd:attribute name="checks" type="xsd:string"/>
2525      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2526   </xsd:complexType>
2527
2528   <xsd:element name="defining_plus_operator" type="Defining_Plus_Operator"/>
2529
2530   <xsd:complexType name="Defining_Plus_Operator">
2531      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2532      <xsd:attribute name="def" type="xsd:string" use="required"/>
2533      <xsd:attribute name="type" type="xsd:string" use="required"/>
2534      <xsd:attribute name="checks" type="xsd:string"/>
2535      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2536   </xsd:complexType>
2537
2538   <xsd:element name="defining_minus_operator" type="Defining_Minus_Operator"/>
2539
2540   <xsd:complexType name="Defining_Minus_Operator">
2541      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2542      <xsd:attribute name="def" type="xsd:string" use="required"/>
2543      <xsd:attribute name="type" type="xsd:string" use="required"/>
2544      <xsd:attribute name="checks" type="xsd:string"/>
2545      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2546   </xsd:complexType>
2547
2548   <xsd:element name="defining_concatenate_operator" type="Defining_Concatenate_Operator"/>
2549
2550   <xsd:complexType name="Defining_Concatenate_Operator">
2551      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2552      <xsd:attribute name="def" type="xsd:string" use="required"/>
2553      <xsd:attribute name="type" type="xsd:string" use="required"/>
2554      <xsd:attribute name="checks" type="xsd:string"/>
2555      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2556   </xsd:complexType>
2557
2558   <xsd:element name="defining_unary_plus_operator" type="Defining_Unary_Plus_Operator"/>
2559
2560   <xsd:complexType name="Defining_Unary_Plus_Operator">
2561      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2562      <xsd:attribute name="def" type="xsd:string" use="required"/>
2563      <xsd:attribute name="type" type="xsd:string" use="required"/>
2564      <xsd:attribute name="checks" type="xsd:string"/>
2565      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2566   </xsd:complexType>
2567
2568   <xsd:element name="defining_unary_minus_operator" type="Defining_Unary_Minus_Operator"/>
2569
2570   <xsd:complexType name="Defining_Unary_Minus_Operator">
2571      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2572      <xsd:attribute name="def" type="xsd:string" use="required"/>
2573      <xsd:attribute name="type" type="xsd:string" use="required"/>
2574      <xsd:attribute name="checks" type="xsd:string"/>
2575      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2576   </xsd:complexType>
2577
2578   <xsd:element name="defining_multiply_operator" type="Defining_Multiply_Operator"/>
2579
2580   <xsd:complexType name="Defining_Multiply_Operator">
2581      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2582      <xsd:attribute name="def" type="xsd:string" use="required"/>
2583      <xsd:attribute name="type" type="xsd:string" use="required"/>
2584      <xsd:attribute name="checks" type="xsd:string"/>
2585      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2586   </xsd:complexType>
2587
2588   <xsd:element name="defining_divide_operator" type="Defining_Divide_Operator"/>
2589
2590   <xsd:complexType name="Defining_Divide_Operator">
2591      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2592      <xsd:attribute name="def" type="xsd:string" use="required"/>
2593      <xsd:attribute name="type" type="xsd:string" use="required"/>
2594      <xsd:attribute name="checks" type="xsd:string"/>
2595      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2596   </xsd:complexType>
2597
2598   <xsd:element name="defining_mod_operator" type="Defining_Mod_Operator"/>
2599
2600   <xsd:complexType name="Defining_Mod_Operator">
2601      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2602      <xsd:attribute name="def" type="xsd:string" use="required"/>
2603      <xsd:attribute name="type" type="xsd:string" use="required"/>
2604      <xsd:attribute name="checks" type="xsd:string"/>
2605      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2606   </xsd:complexType>
2607
2608   <xsd:element name="defining_rem_operator" type="Defining_Rem_Operator"/>
2609
2610   <xsd:complexType name="Defining_Rem_Operator">
2611      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2612      <xsd:attribute name="def" type="xsd:string" use="required"/>
2613      <xsd:attribute name="type" type="xsd:string" use="required"/>
2614      <xsd:attribute name="checks" type="xsd:string"/>
2615      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2616   </xsd:complexType>
2617
2618   <xsd:element name="defining_exponentiate_operator" type="Defining_Exponentiate_Operator"/>
2619
2620   <xsd:complexType name="Defining_Exponentiate_Operator">
2621      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2622      <xsd:attribute name="def" type="xsd:string" use="required"/>
2623      <xsd:attribute name="type" type="xsd:string" use="required"/>
2624      <xsd:attribute name="checks" type="xsd:string"/>
2625      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2626   </xsd:complexType>
2627
2628   <xsd:element name="defining_abs_operator" type="Defining_Abs_Operator"/>
2629
2630   <xsd:complexType name="Defining_Abs_Operator">
2631      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2632      <xsd:attribute name="def" type="xsd:string" use="required"/>
2633      <xsd:attribute name="type" type="xsd:string" use="required"/>
2634      <xsd:attribute name="checks" type="xsd:string"/>
2635      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2636   </xsd:complexType>
2637
2638   <xsd:element name="defining_not_operator" type="Defining_Not_Operator"/>
2639
2640   <xsd:complexType name="Defining_Not_Operator">
2641      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2642      <xsd:attribute name="def" type="xsd:string" use="required"/>
2643      <xsd:attribute name="type" type="xsd:string" use="required"/>
2644      <xsd:attribute name="checks" type="xsd:string"/>
2645      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2646   </xsd:complexType>
2647
2648   <xsd:element name="defining_expanded_name" type="Defining_Expanded_Name"/>
2649
2650   <xsd:complexType name="Defining_Expanded_Name">
2651      <xsd:sequence>
2652         <xsd:element name="defining_prefix_q" type="Name_Class"/>
2653         <xsd:element name="defining_selector_q" type="Defining_Name_Class"/>
2654      </xsd:sequence>
2655      <xsd:attribute name="def_name" type="xsd:string" use="required"/>
2656      <xsd:attribute name="def" type="xsd:string" use="required"/>
2657      <xsd:attribute name="type" type="xsd:string" use="required"/>
2658      <xsd:attribute name="checks" type="xsd:string"/>
2659      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2660   </xsd:complexType>
2661
2662   <!-- ================================================================ -->
2663   <!-- Usage Occurrences -->
2664
2665   <xsd:element name="identifier" type="Identifier"/>
2666
2667   <xsd:complexType name="Identifier">
2668      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2669      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2670      <xsd:attribute name="type" type="xsd:string" use="required"/>
2671      <xsd:attribute name="checks" type="xsd:string"/>
2672      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2673   </xsd:complexType>
2674
2675   <xsd:element name="and_operator" type="And_Operator"/>
2676
2677   <xsd:complexType name="And_Operator">
2678      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2679      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2680      <xsd:attribute name="type" type="xsd:string" use="required"/>
2681      <xsd:attribute name="checks" type="xsd:string"/>
2682      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2683   </xsd:complexType>
2684
2685   <xsd:element name="or_operator" type="Or_Operator"/>
2686
2687   <xsd:complexType name="Or_Operator">
2688      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2689      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2690      <xsd:attribute name="type" type="xsd:string" use="required"/>
2691      <xsd:attribute name="checks" type="xsd:string"/>
2692      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2693   </xsd:complexType>
2694
2695   <xsd:element name="xor_operator" type="Xor_Operator"/>
2696
2697   <xsd:complexType name="Xor_Operator">
2698      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2699      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2700      <xsd:attribute name="type" type="xsd:string" use="required"/>
2701      <xsd:attribute name="checks" type="xsd:string"/>
2702      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2703   </xsd:complexType>
2704
2705   <xsd:element name="equal_operator" type="Equal_Operator"/>
2706
2707   <xsd:complexType name="Equal_Operator">
2708      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2709      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2710      <xsd:attribute name="type" type="xsd:string" use="required"/>
2711      <xsd:attribute name="checks" type="xsd:string"/>
2712      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2713   </xsd:complexType>
2714
2715   <xsd:element name="not_equal_operator" type="Not_Equal_Operator"/>
2716
2717   <xsd:complexType name="Not_Equal_Operator">
2718      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2719      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2720      <xsd:attribute name="type" type="xsd:string" use="required"/>
2721      <xsd:attribute name="checks" type="xsd:string"/>
2722      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2723   </xsd:complexType>
2724
2725   <xsd:element name="less_than_operator" type="Less_Than_Operator"/>
2726
2727   <xsd:complexType name="Less_Than_Operator">
2728      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2729      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2730      <xsd:attribute name="type" type="xsd:string" use="required"/>
2731      <xsd:attribute name="checks" type="xsd:string"/>
2732      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2733   </xsd:complexType>
2734
2735   <xsd:element name="less_than_or_equal_operator" type="Less_Than_Or_Equal_Operator"/>
2736
2737   <xsd:complexType name="Less_Than_Or_Equal_Operator">
2738      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2739      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2740      <xsd:attribute name="type" type="xsd:string" use="required"/>
2741      <xsd:attribute name="checks" type="xsd:string"/>
2742      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2743   </xsd:complexType>
2744
2745   <xsd:element name="greater_than_operator" type="Greater_Than_Operator"/>
2746
2747   <xsd:complexType name="Greater_Than_Operator">
2748      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2749      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2750      <xsd:attribute name="type" type="xsd:string" use="required"/>
2751      <xsd:attribute name="checks" type="xsd:string"/>
2752      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2753   </xsd:complexType>
2754
2755   <xsd:element name="greater_than_or_equal_operator" type="Greater_Than_Or_Equal_Operator"/>
2756
2757   <xsd:complexType name="Greater_Than_Or_Equal_Operator">
2758      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2759      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2760      <xsd:attribute name="type" type="xsd:string" use="required"/>
2761      <xsd:attribute name="checks" type="xsd:string"/>
2762      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2763   </xsd:complexType>
2764
2765   <xsd:element name="plus_operator" type="Plus_Operator"/>
2766
2767   <xsd:complexType name="Plus_Operator">
2768      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2769      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2770      <xsd:attribute name="type" type="xsd:string" use="required"/>
2771      <xsd:attribute name="checks" type="xsd:string"/>
2772      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2773   </xsd:complexType>
2774
2775   <xsd:element name="minus_operator" type="Minus_Operator"/>
2776
2777   <xsd:complexType name="Minus_Operator">
2778      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2779      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2780      <xsd:attribute name="type" type="xsd:string" use="required"/>
2781      <xsd:attribute name="checks" type="xsd:string"/>
2782      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2783   </xsd:complexType>
2784
2785   <xsd:element name="concatenate_operator" type="Concatenate_Operator"/>
2786
2787   <xsd:complexType name="Concatenate_Operator">
2788      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2789      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2790      <xsd:attribute name="type" type="xsd:string" use="required"/>
2791      <xsd:attribute name="checks" type="xsd:string"/>
2792      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2793   </xsd:complexType>
2794
2795   <xsd:element name="unary_plus_operator" type="Unary_Plus_Operator"/>
2796
2797   <xsd:complexType name="Unary_Plus_Operator">
2798      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2799      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2800      <xsd:attribute name="type" type="xsd:string" use="required"/>
2801      <xsd:attribute name="checks" type="xsd:string"/>
2802      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2803   </xsd:complexType>
2804
2805   <xsd:element name="unary_minus_operator" type="Unary_Minus_Operator"/>
2806
2807   <xsd:complexType name="Unary_Minus_Operator">
2808      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2809      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2810      <xsd:attribute name="type" type="xsd:string" use="required"/>
2811      <xsd:attribute name="checks" type="xsd:string"/>
2812      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2813   </xsd:complexType>
2814
2815   <xsd:element name="multiply_operator" type="Multiply_Operator"/>
2816
2817   <xsd:complexType name="Multiply_Operator">
2818      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2819      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2820      <xsd:attribute name="type" type="xsd:string" use="required"/>
2821      <xsd:attribute name="checks" type="xsd:string"/>
2822      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2823   </xsd:complexType>
2824
2825   <xsd:element name="divide_operator" type="Divide_Operator"/>
2826
2827   <xsd:complexType name="Divide_Operator">
2828      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2829      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2830      <xsd:attribute name="type" type="xsd:string" use="required"/>
2831      <xsd:attribute name="checks" type="xsd:string"/>
2832      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2833   </xsd:complexType>
2834
2835   <xsd:element name="mod_operator" type="Mod_Operator"/>
2836
2837   <xsd:complexType name="Mod_Operator">
2838      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2839      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2840      <xsd:attribute name="type" type="xsd:string" use="required"/>
2841      <xsd:attribute name="checks" type="xsd:string"/>
2842      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2843   </xsd:complexType>
2844
2845   <xsd:element name="rem_operator" type="Rem_Operator"/>
2846
2847   <xsd:complexType name="Rem_Operator">
2848      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2849      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2850      <xsd:attribute name="type" type="xsd:string" use="required"/>
2851      <xsd:attribute name="checks" type="xsd:string"/>
2852      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2853   </xsd:complexType>
2854
2855   <xsd:element name="exponentiate_operator" type="Exponentiate_Operator"/>
2856
2857   <xsd:complexType name="Exponentiate_Operator">
2858      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2859      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2860      <xsd:attribute name="type" type="xsd:string" use="required"/>
2861      <xsd:attribute name="checks" type="xsd:string"/>
2862      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2863   </xsd:complexType>
2864
2865   <xsd:element name="abs_operator" type="Abs_Operator"/>
2866
2867   <xsd:complexType name="Abs_Operator">
2868      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2869      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2870      <xsd:attribute name="type" type="xsd:string" use="required"/>
2871      <xsd:attribute name="checks" type="xsd:string"/>
2872      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2873   </xsd:complexType>
2874
2875   <xsd:element name="not_operator" type="Not_Operator"/>
2876
2877   <xsd:complexType name="Not_Operator">
2878      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2879      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2880      <xsd:attribute name="type" type="xsd:string" use="required"/>
2881      <xsd:attribute name="checks" type="xsd:string"/>
2882      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2883   </xsd:complexType>
2884
2885   <xsd:element name="character_literal" type="Character_Literal"/>
2886
2887   <xsd:complexType name="Character_Literal">
2888      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2889      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2890      <xsd:attribute name="type" type="xsd:string" use="required"/>
2891      <xsd:attribute name="checks" type="xsd:string"/>
2892      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2893   </xsd:complexType>
2894
2895   <xsd:element name="enumeration_literal" type="Enumeration_Literal"/>
2896
2897   <xsd:complexType name="Enumeration_Literal">
2898      <xsd:attribute name="ref_name" type="xsd:string" use="required"/>
2899      <xsd:attribute name="ref" type="xsd:string" use="required"/>
2900      <xsd:attribute name="type" type="xsd:string" use="required"/>
2901      <xsd:attribute name="checks" type="xsd:string"/>
2902      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2903   </xsd:complexType>
2904
2905   <!-- ================================================================ -->
2906   <!-- Other Elements -->
2907
2908   <xsd:element name="all_calls_remote_pragma" type="All_Calls_Remote_Pragma"/>
2909
2910   <xsd:complexType name="All_Calls_Remote_Pragma">
2911      <xsd:sequence>
2912         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2913      </xsd:sequence>
2914      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2915      <xsd:attribute name="checks" type="xsd:string"/>
2916      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2917   </xsd:complexType>
2918
2919   <xsd:element name="asynchronous_pragma" type="Asynchronous_Pragma"/>
2920
2921   <xsd:complexType name="Asynchronous_Pragma">
2922      <xsd:sequence>
2923         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2924      </xsd:sequence>
2925      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2926      <xsd:attribute name="checks" type="xsd:string"/>
2927      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2928   </xsd:complexType>
2929
2930   <xsd:element name="atomic_pragma" type="Atomic_Pragma"/>
2931
2932   <xsd:complexType name="Atomic_Pragma">
2933      <xsd:sequence>
2934         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2935      </xsd:sequence>
2936      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2937      <xsd:attribute name="checks" type="xsd:string"/>
2938      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2939   </xsd:complexType>
2940
2941   <xsd:element name="atomic_components_pragma" type="Atomic_Components_Pragma"/>
2942
2943   <xsd:complexType name="Atomic_Components_Pragma">
2944      <xsd:sequence>
2945         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2946      </xsd:sequence>
2947      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2948      <xsd:attribute name="checks" type="xsd:string"/>
2949      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2950   </xsd:complexType>
2951
2952   <xsd:element name="attach_handler_pragma" type="Attach_Handler_Pragma"/>
2953
2954   <xsd:complexType name="Attach_Handler_Pragma">
2955      <xsd:sequence>
2956         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2957      </xsd:sequence>
2958      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2959      <xsd:attribute name="checks" type="xsd:string"/>
2960      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2961   </xsd:complexType>
2962
2963   <xsd:element name="controlled_pragma" type="Controlled_Pragma"/>
2964
2965   <xsd:complexType name="Controlled_Pragma">
2966      <xsd:sequence>
2967         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2968      </xsd:sequence>
2969      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2970      <xsd:attribute name="checks" type="xsd:string"/>
2971      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2972   </xsd:complexType>
2973
2974   <xsd:element name="convention_pragma" type="Convention_Pragma"/>
2975
2976   <xsd:complexType name="Convention_Pragma">
2977      <xsd:sequence>
2978         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2979      </xsd:sequence>
2980      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2981      <xsd:attribute name="checks" type="xsd:string"/>
2982      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2983   </xsd:complexType>
2984
2985   <xsd:element name="discard_names_pragma" type="Discard_Names_Pragma"/>
2986
2987   <xsd:complexType name="Discard_Names_Pragma">
2988      <xsd:sequence>
2989         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
2990      </xsd:sequence>
2991      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
2992      <xsd:attribute name="checks" type="xsd:string"/>
2993      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
2994   </xsd:complexType>
2995
2996   <xsd:element name="elaborate_pragma" type="Elaborate_Pragma"/>
2997
2998   <xsd:complexType name="Elaborate_Pragma">
2999      <xsd:sequence>
3000         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3001      </xsd:sequence>
3002      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3003      <xsd:attribute name="checks" type="xsd:string"/>
3004      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3005   </xsd:complexType>
3006
3007   <xsd:element name="elaborate_all_pragma" type="Elaborate_All_Pragma"/>
3008
3009   <xsd:complexType name="Elaborate_All_Pragma">
3010      <xsd:sequence>
3011         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3012      </xsd:sequence>
3013      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3014      <xsd:attribute name="checks" type="xsd:string"/>
3015      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3016   </xsd:complexType>
3017
3018   <xsd:element name="elaborate_body_pragma" type="Elaborate_Body_Pragma"/>
3019
3020   <xsd:complexType name="Elaborate_Body_Pragma">
3021      <xsd:sequence>
3022         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3023      </xsd:sequence>
3024      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3025      <xsd:attribute name="checks" type="xsd:string"/>
3026      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3027   </xsd:complexType>
3028
3029   <xsd:element name="export_pragma" type="Export_Pragma"/>
3030
3031   <xsd:complexType name="Export_Pragma">
3032      <xsd:sequence>
3033         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3034      </xsd:sequence>
3035      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3036      <xsd:attribute name="checks" type="xsd:string"/>
3037      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3038   </xsd:complexType>
3039
3040   <xsd:element name="import_pragma" type="Import_Pragma"/>
3041
3042   <xsd:complexType name="Import_Pragma">
3043      <xsd:sequence>
3044         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3045      </xsd:sequence>
3046      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3047      <xsd:attribute name="checks" type="xsd:string"/>
3048      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3049   </xsd:complexType>
3050
3051   <xsd:element name="inline_pragma" type="Inline_Pragma"/>
3052
3053   <xsd:complexType name="Inline_Pragma">
3054      <xsd:sequence>
3055         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3056      </xsd:sequence>
3057      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3058      <xsd:attribute name="checks" type="xsd:string"/>
3059      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3060   </xsd:complexType>
3061
3062   <xsd:element name="inspection_point_pragma" type="Inspection_Point_Pragma"/>
3063
3064   <xsd:complexType name="Inspection_Point_Pragma">
3065      <xsd:sequence>
3066         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3067      </xsd:sequence>
3068      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3069      <xsd:attribute name="checks" type="xsd:string"/>
3070      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3071   </xsd:complexType>
3072
3073   <xsd:element name="interrupt_handler_pragma" type="Interrupt_Handler_Pragma"/>
3074
3075   <xsd:complexType name="Interrupt_Handler_Pragma">
3076      <xsd:sequence>
3077         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3078      </xsd:sequence>
3079      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3080      <xsd:attribute name="checks" type="xsd:string"/>
3081      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3082   </xsd:complexType>
3083
3084   <xsd:element name="interrupt_priority_pragma" type="Interrupt_Priority_Pragma"/>
3085
3086   <xsd:complexType name="Interrupt_Priority_Pragma">
3087      <xsd:sequence>
3088         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3089      </xsd:sequence>
3090      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3091      <xsd:attribute name="checks" type="xsd:string"/>
3092      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3093   </xsd:complexType>
3094
3095   <xsd:element name="linker_options_pragma" type="Linker_Options_Pragma"/>
3096
3097   <xsd:complexType name="Linker_Options_Pragma">
3098      <xsd:sequence>
3099         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3100      </xsd:sequence>
3101      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3102      <xsd:attribute name="checks" type="xsd:string"/>
3103      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3104   </xsd:complexType>
3105
3106   <xsd:element name="list_pragma" type="List_Pragma"/>
3107
3108   <xsd:complexType name="List_Pragma">
3109      <xsd:sequence>
3110         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3111      </xsd:sequence>
3112      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3113      <xsd:attribute name="checks" type="xsd:string"/>
3114      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3115   </xsd:complexType>
3116
3117   <xsd:element name="locking_policy_pragma" type="Locking_Policy_Pragma"/>
3118
3119   <xsd:complexType name="Locking_Policy_Pragma">
3120      <xsd:sequence>
3121         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3122      </xsd:sequence>
3123      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3124      <xsd:attribute name="checks" type="xsd:string"/>
3125      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3126   </xsd:complexType>
3127
3128   <xsd:element name="normalize_scalars_pragma" type="Normalize_Scalars_Pragma"/>
3129
3130   <xsd:complexType name="Normalize_Scalars_Pragma">
3131      <xsd:sequence>
3132         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3133      </xsd:sequence>
3134      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3135      <xsd:attribute name="checks" type="xsd:string"/>
3136      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3137   </xsd:complexType>
3138
3139   <xsd:element name="optimize_pragma" type="Optimize_Pragma"/>
3140
3141   <xsd:complexType name="Optimize_Pragma">
3142      <xsd:sequence>
3143         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3144      </xsd:sequence>
3145      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3146      <xsd:attribute name="checks" type="xsd:string"/>
3147      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3148   </xsd:complexType>
3149
3150   <xsd:element name="pack_pragma" type="Pack_Pragma"/>
3151
3152   <xsd:complexType name="Pack_Pragma">
3153      <xsd:sequence>
3154         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3155      </xsd:sequence>
3156      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3157      <xsd:attribute name="checks" type="xsd:string"/>
3158      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3159   </xsd:complexType>
3160
3161   <xsd:element name="page_pragma" type="Page_Pragma"/>
3162
3163   <xsd:complexType name="Page_Pragma">
3164      <xsd:sequence>
3165         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3166      </xsd:sequence>
3167      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3168      <xsd:attribute name="checks" type="xsd:string"/>
3169      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3170   </xsd:complexType>
3171
3172   <xsd:element name="preelaborate_pragma" type="Preelaborate_Pragma"/>
3173
3174   <xsd:complexType name="Preelaborate_Pragma">
3175      <xsd:sequence>
3176         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3177      </xsd:sequence>
3178      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3179      <xsd:attribute name="checks" type="xsd:string"/>
3180      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3181   </xsd:complexType>
3182
3183   <xsd:element name="priority_pragma" type="Priority_Pragma"/>
3184
3185   <xsd:complexType name="Priority_Pragma">
3186      <xsd:sequence>
3187         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3188      </xsd:sequence>
3189      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3190      <xsd:attribute name="checks" type="xsd:string"/>
3191      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3192   </xsd:complexType>
3193
3194   <xsd:element name="pure_pragma" type="Pure_Pragma"/>
3195
3196   <xsd:complexType name="Pure_Pragma">
3197      <xsd:sequence>
3198         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3199      </xsd:sequence>
3200      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3201      <xsd:attribute name="checks" type="xsd:string"/>
3202      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3203   </xsd:complexType>
3204
3205   <xsd:element name="queuing_policy_pragma" type="Queuing_Policy_Pragma"/>
3206
3207   <xsd:complexType name="Queuing_Policy_Pragma">
3208      <xsd:sequence>
3209         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3210      </xsd:sequence>
3211      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3212      <xsd:attribute name="checks" type="xsd:string"/>
3213      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3214   </xsd:complexType>
3215
3216   <xsd:element name="remote_call_interface_pragma" type="Remote_Call_Interface_Pragma"/>
3217
3218   <xsd:complexType name="Remote_Call_Interface_Pragma">
3219      <xsd:sequence>
3220         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3221      </xsd:sequence>
3222      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3223      <xsd:attribute name="checks" type="xsd:string"/>
3224      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3225   </xsd:complexType>
3226
3227   <xsd:element name="remote_types_pragma" type="Remote_Types_Pragma"/>
3228
3229   <xsd:complexType name="Remote_Types_Pragma">
3230      <xsd:sequence>
3231         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3232      </xsd:sequence>
3233      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3234      <xsd:attribute name="checks" type="xsd:string"/>
3235      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3236   </xsd:complexType>
3237
3238   <xsd:element name="restrictions_pragma" type="Restrictions_Pragma"/>
3239
3240   <xsd:complexType name="Restrictions_Pragma">
3241      <xsd:sequence>
3242         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3243      </xsd:sequence>
3244      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3245      <xsd:attribute name="checks" type="xsd:string"/>
3246      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3247   </xsd:complexType>
3248
3249   <xsd:element name="reviewable_pragma" type="Reviewable_Pragma"/>
3250
3251   <xsd:complexType name="Reviewable_Pragma">
3252      <xsd:sequence>
3253         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3254      </xsd:sequence>
3255      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3256      <xsd:attribute name="checks" type="xsd:string"/>
3257      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3258   </xsd:complexType>
3259
3260   <xsd:element name="shared_passive_pragma" type="Shared_Passive_Pragma"/>
3261
3262   <xsd:complexType name="Shared_Passive_Pragma">
3263      <xsd:sequence>
3264         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3265      </xsd:sequence>
3266      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3267      <xsd:attribute name="checks" type="xsd:string"/>
3268      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3269   </xsd:complexType>
3270
3271   <xsd:element name="storage_size_pragma" type="Storage_Size_Pragma"/>
3272
3273   <xsd:complexType name="Storage_Size_Pragma">
3274      <xsd:sequence>
3275         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3276      </xsd:sequence>
3277      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3278      <xsd:attribute name="checks" type="xsd:string"/>
3279      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3280   </xsd:complexType>
3281
3282   <xsd:element name="suppress_pragma" type="Suppress_Pragma"/>
3283
3284   <xsd:complexType name="Suppress_Pragma">
3285      <xsd:sequence>
3286         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3287      </xsd:sequence>
3288      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3289      <xsd:attribute name="checks" type="xsd:string"/>
3290      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3291   </xsd:complexType>
3292
3293   <xsd:element name="task_dispatching_policy_pragma" type="Task_Dispatching_Policy_Pragma"/>
3294
3295   <xsd:complexType name="Task_Dispatching_Policy_Pragma">
3296      <xsd:sequence>
3297         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3298      </xsd:sequence>
3299      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3300      <xsd:attribute name="checks" type="xsd:string"/>
3301      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3302   </xsd:complexType>
3303
3304   <xsd:element name="volatile_pragma" type="Volatile_Pragma"/>
3305
3306   <xsd:complexType name="Volatile_Pragma">
3307      <xsd:sequence>
3308         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3309      </xsd:sequence>
3310      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3311      <xsd:attribute name="checks" type="xsd:string"/>
3312      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3313   </xsd:complexType>
3314
3315   <xsd:element name="volatile_components_pragma" type="Volatile_Components_Pragma"/>
3316
3317   <xsd:complexType name="Volatile_Components_Pragma">
3318      <xsd:sequence>
3319         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3320      </xsd:sequence>
3321      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3322      <xsd:attribute name="checks" type="xsd:string"/>
3323      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3324   </xsd:complexType>
3325
3326   <xsd:element name="assert_pragma" type="Assert_Pragma"/>
3327
3328   <xsd:complexType name="Assert_Pragma">
3329      <xsd:sequence>
3330         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3331      </xsd:sequence>
3332      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3333      <xsd:attribute name="checks" type="xsd:string"/>
3334      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3335   </xsd:complexType>
3336
3337   <xsd:element name="assertion_policy_pragma" type="Assertion_Policy_Pragma"/>
3338
3339   <xsd:complexType name="Assertion_Policy_Pragma">
3340      <xsd:sequence>
3341         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3342      </xsd:sequence>
3343      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3344      <xsd:attribute name="checks" type="xsd:string"/>
3345      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3346   </xsd:complexType>
3347
3348   <xsd:element name="detect_blocking_pragma" type="Detect_Blocking_Pragma"/>
3349
3350   <xsd:complexType name="Detect_Blocking_Pragma">
3351      <xsd:sequence>
3352         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3353      </xsd:sequence>
3354      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3355      <xsd:attribute name="checks" type="xsd:string"/>
3356      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3357   </xsd:complexType>
3358
3359   <xsd:element name="no_return_pragma" type="No_Return_Pragma"/>
3360
3361   <xsd:complexType name="No_Return_Pragma">
3362      <xsd:sequence>
3363         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3364      </xsd:sequence>
3365      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3366      <xsd:attribute name="checks" type="xsd:string"/>
3367      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3368   </xsd:complexType>
3369
3370   <xsd:element name="partition_elaboration_policy_pragma" type="Partition_Elaboration_Policy_Pragma"/>
3371
3372   <xsd:complexType name="Partition_Elaboration_Policy_Pragma">
3373      <xsd:sequence>
3374         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3375      </xsd:sequence>
3376      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3377      <xsd:attribute name="checks" type="xsd:string"/>
3378      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3379   </xsd:complexType>
3380
3381   <xsd:element name="preelaborable_initialization_pragma" type="Preelaborable_Initialization_Pragma"/>
3382
3383   <xsd:complexType name="Preelaborable_Initialization_Pragma">
3384      <xsd:sequence>
3385         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3386      </xsd:sequence>
3387      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3388      <xsd:attribute name="checks" type="xsd:string"/>
3389      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3390   </xsd:complexType>
3391
3392   <xsd:element name="priority_specific_dispatching_pragma" type="Priority_Specific_Dispatching_Pragma"/>
3393
3394   <xsd:complexType name="Priority_Specific_Dispatching_Pragma">
3395      <xsd:sequence>
3396         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3397      </xsd:sequence>
3398      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3399      <xsd:attribute name="checks" type="xsd:string"/>
3400      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3401   </xsd:complexType>
3402
3403   <xsd:element name="profile_pragma" type="Profile_Pragma"/>
3404
3405   <xsd:complexType name="Profile_Pragma">
3406      <xsd:sequence>
3407         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3408      </xsd:sequence>
3409      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3410      <xsd:attribute name="checks" type="xsd:string"/>
3411      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3412   </xsd:complexType>
3413
3414   <xsd:element name="relative_deadline_pragma" type="Relative_Deadline_Pragma"/>
3415
3416   <xsd:complexType name="Relative_Deadline_Pragma">
3417      <xsd:sequence>
3418         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3419      </xsd:sequence>
3420      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3421      <xsd:attribute name="checks" type="xsd:string"/>
3422      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3423   </xsd:complexType>
3424
3425   <xsd:element name="unchecked_union_pragma" type="Unchecked_Union_Pragma"/>
3426
3427   <xsd:complexType name="Unchecked_Union_Pragma">
3428      <xsd:sequence>
3429         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3430      </xsd:sequence>
3431      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3432      <xsd:attribute name="checks" type="xsd:string"/>
3433      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3434   </xsd:complexType>
3435
3436   <xsd:element name="unsuppress_pragma" type="Unsuppress_Pragma"/>
3437
3438   <xsd:complexType name="Unsuppress_Pragma">
3439      <xsd:sequence>
3440         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3441      </xsd:sequence>
3442      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3443      <xsd:attribute name="checks" type="xsd:string"/>
3444      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3445   </xsd:complexType>
3446
3447   <xsd:element name="default_storage_pool_pragma" type="Default_Storage_Pool_Pragma"/>
3448
3449   <xsd:complexType name="Default_Storage_Pool_Pragma">
3450      <xsd:sequence>
3451         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3452      </xsd:sequence>
3453      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3454      <xsd:attribute name="checks" type="xsd:string"/>
3455      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3456   </xsd:complexType>
3457
3458   <xsd:element name="dispatching_domain_pragma" type="Dispatching_Domain_Pragma"/>
3459
3460   <xsd:complexType name="Dispatching_Domain_Pragma">
3461      <xsd:sequence>
3462         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3463      </xsd:sequence>
3464      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3465      <xsd:attribute name="checks" type="xsd:string"/>
3466      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3467   </xsd:complexType>
3468
3469   <xsd:element name="cpu_pragma" type="Cpu_Pragma"/>
3470
3471   <xsd:complexType name="Cpu_Pragma">
3472      <xsd:sequence>
3473         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3474      </xsd:sequence>
3475      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3476      <xsd:attribute name="checks" type="xsd:string"/>
3477      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3478   </xsd:complexType>
3479
3480   <xsd:element name="independent_pragma" type="Independent_Pragma"/>
3481
3482   <xsd:complexType name="Independent_Pragma">
3483      <xsd:sequence>
3484         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3485      </xsd:sequence>
3486      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3487      <xsd:attribute name="checks" type="xsd:string"/>
3488      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3489   </xsd:complexType>
3490
3491   <xsd:element name="independent_components_pragma" type="Independent_Components_Pragma"/>
3492
3493   <xsd:complexType name="Independent_Components_Pragma">
3494      <xsd:sequence>
3495         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3496      </xsd:sequence>
3497      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3498      <xsd:attribute name="checks" type="xsd:string"/>
3499      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3500   </xsd:complexType>
3501
3502   <xsd:element name="implementation_defined_pragma" type="Implementation_Defined_Pragma"/>
3503
3504   <xsd:complexType name="Implementation_Defined_Pragma">
3505      <xsd:sequence>
3506         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3507      </xsd:sequence>
3508      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3509      <xsd:attribute name="checks" type="xsd:string"/>
3510      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3511   </xsd:complexType>
3512
3513   <xsd:element name="unknown_pragma" type="Unknown_Pragma"/>
3514
3515   <xsd:complexType name="Unknown_Pragma">
3516      <xsd:sequence>
3517         <xsd:element name="pragma_argument_associations_ql" type="Association_List"/>
3518      </xsd:sequence>
3519      <xsd:attribute name="pragma_name" type="xsd:string" use="required"/>
3520      <xsd:attribute name="checks" type="xsd:string"/>
3521      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3522   </xsd:complexType>
3523
3524   <xsd:element name="ordinary_type_declaration" type="Ordinary_Type_Declaration"/>
3525
3526   <xsd:complexType name="Ordinary_Type_Declaration">
3527      <xsd:sequence>
3528         <xsd:element name="names_ql" type="Defining_Name_List"/>
3529         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3530         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3531         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3532      </xsd:sequence>
3533      <xsd:attribute name="checks" type="xsd:string"/>
3534      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3535   </xsd:complexType>
3536
3537   <xsd:element name="task_type_declaration" type="Task_Type_Declaration"/>
3538
3539   <xsd:complexType name="Task_Type_Declaration">
3540      <xsd:sequence>
3541         <xsd:element name="names_ql" type="Defining_Name_List"/>
3542         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3543         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3544         <xsd:element name="declaration_interface_list_ql" type="Expression_List"/>
3545         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3546      </xsd:sequence>
3547      <xsd:attribute name="checks" type="xsd:string"/>
3548      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3549   </xsd:complexType>
3550
3551   <xsd:element name="protected_type_declaration" type="Protected_Type_Declaration"/>
3552
3553   <xsd:complexType name="Protected_Type_Declaration">
3554      <xsd:sequence>
3555         <xsd:element name="names_ql" type="Defining_Name_List"/>
3556         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3557         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3558         <xsd:element name="declaration_interface_list_ql" type="Expression_List"/>
3559         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3560      </xsd:sequence>
3561      <xsd:attribute name="checks" type="xsd:string"/>
3562      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3563   </xsd:complexType>
3564
3565   <xsd:element name="incomplete_type_declaration" type="Incomplete_Type_Declaration"/>
3566
3567   <xsd:complexType name="Incomplete_Type_Declaration">
3568      <xsd:sequence>
3569         <xsd:element name="names_ql" type="Defining_Name_List"/>
3570         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3571         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3572      </xsd:sequence>
3573      <xsd:attribute name="checks" type="xsd:string"/>
3574      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3575   </xsd:complexType>
3576
3577   <xsd:element name="tagged_incomplete_type_declaration" type="Tagged_Incomplete_Type_Declaration"/>
3578
3579   <xsd:complexType name="Tagged_Incomplete_Type_Declaration">
3580      <xsd:sequence>
3581         <xsd:element name="names_ql" type="Defining_Name_List"/>
3582         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3583         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3584      </xsd:sequence>
3585      <xsd:attribute name="checks" type="xsd:string"/>
3586      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3587   </xsd:complexType>
3588
3589   <xsd:element name="private_type_declaration" type="Private_Type_Declaration"/>
3590
3591   <xsd:complexType name="Private_Type_Declaration">
3592      <xsd:sequence>
3593         <xsd:element name="names_ql" type="Defining_Name_List"/>
3594         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3595         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3596         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3597      </xsd:sequence>
3598      <xsd:attribute name="checks" type="xsd:string"/>
3599      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3600   </xsd:complexType>
3601
3602   <xsd:element name="private_extension_declaration" type="Private_Extension_Declaration"/>
3603
3604   <xsd:complexType name="Private_Extension_Declaration">
3605      <xsd:sequence>
3606         <xsd:element name="names_ql" type="Defining_Name_List"/>
3607         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
3608         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3609         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3610      </xsd:sequence>
3611      <xsd:attribute name="checks" type="xsd:string"/>
3612      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3613   </xsd:complexType>
3614
3615   <xsd:element name="subtype_declaration" type="Subtype_Declaration"/>
3616
3617   <xsd:complexType name="Subtype_Declaration">
3618      <xsd:sequence>
3619         <xsd:element name="names_ql" type="Defining_Name_List"/>
3620         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
3621         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3622      </xsd:sequence>
3623      <xsd:attribute name="checks" type="xsd:string"/>
3624      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3625   </xsd:complexType>
3626
3627   <xsd:element name="variable_declaration" type="Variable_Declaration"/>
3628
3629   <xsd:complexType name="Variable_Declaration">
3630      <xsd:sequence>
3631         <xsd:element name="names_ql" type="Defining_Name_List"/>
3632         <xsd:element name="has_aliased_q">
3633            <xsd:complexType>
3634               <xsd:choice>
3635                  <xsd:element name="aliased" type="Aliased"/>
3636                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3637               </xsd:choice>
3638            </xsd:complexType>
3639         </xsd:element>
3640         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3641         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3642         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3643      </xsd:sequence>
3644      <xsd:attribute name="checks" type="xsd:string"/>
3645      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3646   </xsd:complexType>
3647
3648   <xsd:element name="constant_declaration" type="Constant_Declaration"/>
3649
3650   <xsd:complexType name="Constant_Declaration">
3651      <xsd:sequence>
3652         <xsd:element name="names_ql" type="Defining_Name_List"/>
3653         <xsd:element name="has_aliased_q">
3654            <xsd:complexType>
3655               <xsd:choice>
3656                  <xsd:element name="aliased" type="Aliased"/>
3657                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3658               </xsd:choice>
3659            </xsd:complexType>
3660         </xsd:element>
3661         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3662         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3663         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3664      </xsd:sequence>
3665      <xsd:attribute name="checks" type="xsd:string"/>
3666      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3667   </xsd:complexType>
3668
3669   <xsd:element name="deferred_constant_declaration" type="Deferred_Constant_Declaration"/>
3670
3671   <xsd:complexType name="Deferred_Constant_Declaration">
3672      <xsd:sequence>
3673         <xsd:element name="names_ql" type="Defining_Name_List"/>
3674         <xsd:element name="has_aliased_q">
3675            <xsd:complexType>
3676               <xsd:choice>
3677                  <xsd:element name="aliased" type="Aliased"/>
3678                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3679               </xsd:choice>
3680            </xsd:complexType>
3681         </xsd:element>
3682         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3683         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3684      </xsd:sequence>
3685      <xsd:attribute name="checks" type="xsd:string"/>
3686      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3687   </xsd:complexType>
3688
3689   <xsd:element name="single_task_declaration" type="Single_Task_Declaration"/>
3690
3691   <xsd:complexType name="Single_Task_Declaration">
3692      <xsd:sequence>
3693         <xsd:element name="names_ql" type="Defining_Name_List"/>
3694         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3695         <xsd:element name="declaration_interface_list_ql" type="Expression_List"/>
3696         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3697      </xsd:sequence>
3698      <xsd:attribute name="checks" type="xsd:string"/>
3699      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3700   </xsd:complexType>
3701
3702   <xsd:element name="single_protected_declaration" type="Single_Protected_Declaration"/>
3703
3704   <xsd:complexType name="Single_Protected_Declaration">
3705      <xsd:sequence>
3706         <xsd:element name="names_ql" type="Defining_Name_List"/>
3707         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3708         <xsd:element name="declaration_interface_list_ql" type="Expression_List"/>
3709         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3710      </xsd:sequence>
3711      <xsd:attribute name="checks" type="xsd:string"/>
3712      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3713   </xsd:complexType>
3714
3715   <xsd:element name="integer_number_declaration" type="Integer_Number_Declaration"/>
3716
3717   <xsd:complexType name="Integer_Number_Declaration">
3718      <xsd:sequence>
3719         <xsd:element name="names_ql" type="Defining_Name_List"/>
3720         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3721      </xsd:sequence>
3722      <xsd:attribute name="checks" type="xsd:string"/>
3723      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3724   </xsd:complexType>
3725
3726   <xsd:element name="real_number_declaration" type="Real_Number_Declaration"/>
3727
3728   <xsd:complexType name="Real_Number_Declaration">
3729      <xsd:sequence>
3730         <xsd:element name="names_ql" type="Defining_Name_List"/>
3731         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3732      </xsd:sequence>
3733      <xsd:attribute name="checks" type="xsd:string"/>
3734      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3735   </xsd:complexType>
3736
3737   <xsd:element name="enumeration_literal_specification" type="Enumeration_Literal_Specification"/>
3738
3739   <xsd:complexType name="Enumeration_Literal_Specification">
3740      <xsd:sequence>
3741         <xsd:element name="names_ql" type="Defining_Name_List"/>
3742      </xsd:sequence>
3743      <xsd:attribute name="checks" type="xsd:string"/>
3744      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3745   </xsd:complexType>
3746
3747   <xsd:element name="discriminant_specification" type="Discriminant_Specification"/>
3748
3749   <xsd:complexType name="Discriminant_Specification">
3750      <xsd:sequence>
3751         <xsd:element name="names_ql" type="Defining_Name_List"/>
3752         <xsd:element name="has_null_exclusion_q">
3753            <xsd:complexType>
3754               <xsd:choice>
3755                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
3756                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3757               </xsd:choice>
3758            </xsd:complexType>
3759         </xsd:element>
3760         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3761         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3762      </xsd:sequence>
3763      <xsd:attribute name="checks" type="xsd:string"/>
3764      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3765   </xsd:complexType>
3766
3767   <xsd:element name="component_declaration" type="Component_Declaration"/>
3768
3769   <xsd:complexType name="Component_Declaration">
3770      <xsd:sequence>
3771         <xsd:element name="names_ql" type="Defining_Name_List"/>
3772         <xsd:element name="has_aliased_q">
3773            <xsd:complexType>
3774               <xsd:choice>
3775                  <xsd:element name="aliased" type="Aliased"/>
3776                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3777               </xsd:choice>
3778            </xsd:complexType>
3779         </xsd:element>
3780         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3781         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3782         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3783      </xsd:sequence>
3784      <xsd:attribute name="checks" type="xsd:string"/>
3785      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3786   </xsd:complexType>
3787
3788   <xsd:element name="loop_parameter_specification" type="Loop_Parameter_Specification"/>
3789
3790   <xsd:complexType name="Loop_Parameter_Specification">
3791      <xsd:sequence>
3792         <xsd:element name="names_ql" type="Defining_Name_List"/>
3793         <xsd:element name="has_reverse_q">
3794            <xsd:complexType>
3795               <xsd:choice>
3796                  <xsd:element name="reverse" type="Reverse"/>
3797                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3798               </xsd:choice>
3799            </xsd:complexType>
3800         </xsd:element>
3801         <xsd:element name="specification_subtype_definition_q" type="Discrete_Subtype_Definition_Class"/>
3802      </xsd:sequence>
3803      <xsd:attribute name="checks" type="xsd:string"/>
3804      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3805   </xsd:complexType>
3806
3807   <xsd:element name="generalized_iterator_specification" type="Generalized_Iterator_Specification"/>
3808
3809   <xsd:complexType name="Generalized_Iterator_Specification">
3810      <xsd:sequence>
3811         <xsd:element name="names_ql" type="Defining_Name_List"/>
3812         <xsd:element name="has_reverse_q">
3813            <xsd:complexType>
3814               <xsd:choice>
3815                  <xsd:element name="reverse" type="Reverse"/>
3816                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3817               </xsd:choice>
3818            </xsd:complexType>
3819         </xsd:element>
3820         <xsd:element name="iteration_scheme_name_q" type="Element_Class"/>
3821      </xsd:sequence>
3822      <xsd:attribute name="checks" type="xsd:string"/>
3823      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3824   </xsd:complexType>
3825
3826   <xsd:element name="element_iterator_specification" type="Element_Iterator_Specification"/>
3827
3828   <xsd:complexType name="Element_Iterator_Specification">
3829      <xsd:sequence>
3830         <xsd:element name="names_ql" type="Defining_Name_List"/>
3831         <xsd:element name="subtype_indication_q" type="Element_Class"/>
3832         <xsd:element name="has_reverse_q">
3833            <xsd:complexType>
3834               <xsd:choice>
3835                  <xsd:element name="reverse" type="Reverse"/>
3836                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3837               </xsd:choice>
3838            </xsd:complexType>
3839         </xsd:element>
3840         <xsd:element name="iteration_scheme_name_q" type="Element_Class"/>
3841      </xsd:sequence>
3842      <xsd:attribute name="checks" type="xsd:string"/>
3843      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3844   </xsd:complexType>
3845
3846   <xsd:element name="procedure_declaration" type="Procedure_Declaration"/>
3847
3848   <xsd:complexType name="Procedure_Declaration">
3849      <xsd:sequence>
3850         <xsd:element name="is_overriding_declaration_q">
3851            <xsd:complexType>
3852               <xsd:choice>
3853                  <xsd:element name="overriding" type="Overriding"/>
3854                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3855               </xsd:choice>
3856            </xsd:complexType>
3857         </xsd:element>
3858         <xsd:element name="is_not_overriding_declaration_q">
3859            <xsd:complexType>
3860               <xsd:choice>
3861                  <xsd:element name="not_overriding" type="Not_Overriding"/>
3862                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3863               </xsd:choice>
3864            </xsd:complexType>
3865         </xsd:element>
3866         <xsd:element name="names_ql" type="Defining_Name_List"/>
3867         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
3868         <xsd:element name="has_abstract_q">
3869            <xsd:complexType>
3870               <xsd:choice>
3871                  <xsd:element name="abstract" type="Abstract"/>
3872                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3873               </xsd:choice>
3874            </xsd:complexType>
3875         </xsd:element>
3876         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3877      </xsd:sequence>
3878      <xsd:attribute name="checks" type="xsd:string"/>
3879      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3880   </xsd:complexType>
3881
3882   <xsd:element name="function_declaration" type="Function_Declaration"/>
3883
3884   <xsd:complexType name="Function_Declaration">
3885      <xsd:sequence>
3886         <xsd:element name="is_overriding_declaration_q">
3887            <xsd:complexType>
3888               <xsd:choice>
3889                  <xsd:element name="overriding" type="Overriding"/>
3890                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3891               </xsd:choice>
3892            </xsd:complexType>
3893         </xsd:element>
3894         <xsd:element name="is_not_overriding_declaration_q">
3895            <xsd:complexType>
3896               <xsd:choice>
3897                  <xsd:element name="not_overriding" type="Not_Overriding"/>
3898                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3899               </xsd:choice>
3900            </xsd:complexType>
3901         </xsd:element>
3902         <xsd:element name="names_ql" type="Defining_Name_List"/>
3903         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
3904         <xsd:element name="is_not_null_return_q">
3905            <xsd:complexType>
3906               <xsd:choice>
3907                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
3908                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3909               </xsd:choice>
3910            </xsd:complexType>
3911         </xsd:element>
3912         <xsd:element name="result_profile_q" type="Element_Class"/>
3913         <xsd:element name="has_abstract_q">
3914            <xsd:complexType>
3915               <xsd:choice>
3916                  <xsd:element name="abstract" type="Abstract"/>
3917                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3918               </xsd:choice>
3919            </xsd:complexType>
3920         </xsd:element>
3921         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3922      </xsd:sequence>
3923      <xsd:attribute name="checks" type="xsd:string"/>
3924      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3925   </xsd:complexType>
3926
3927   <xsd:element name="parameter_specification" type="Parameter_Specification"/>
3928
3929   <xsd:complexType name="Parameter_Specification">
3930      <xsd:sequence>
3931         <xsd:element name="names_ql" type="Defining_Name_List"/>
3932         <xsd:element name="has_aliased_q">
3933            <xsd:complexType>
3934               <xsd:choice>
3935                  <xsd:element name="aliased" type="Aliased"/>
3936                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3937               </xsd:choice>
3938            </xsd:complexType>
3939         </xsd:element>
3940         <xsd:element name="has_null_exclusion_q">
3941            <xsd:complexType>
3942               <xsd:choice>
3943                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
3944                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3945               </xsd:choice>
3946            </xsd:complexType>
3947         </xsd:element>
3948         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
3949         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
3950      </xsd:sequence>
3951      <xsd:attribute name="mode" type="xsd:string" use="required"/>
3952      <xsd:attribute name="checks" type="xsd:string"/>
3953      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3954   </xsd:complexType>
3955
3956   <xsd:element name="procedure_body_declaration" type="Procedure_Body_Declaration"/>
3957
3958   <xsd:complexType name="Procedure_Body_Declaration">
3959      <xsd:sequence>
3960         <xsd:element name="is_overriding_declaration_q">
3961            <xsd:complexType>
3962               <xsd:choice>
3963                  <xsd:element name="overriding" type="Overriding"/>
3964                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3965               </xsd:choice>
3966            </xsd:complexType>
3967         </xsd:element>
3968         <xsd:element name="is_not_overriding_declaration_q">
3969            <xsd:complexType>
3970               <xsd:choice>
3971                  <xsd:element name="not_overriding" type="Not_Overriding"/>
3972                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3973               </xsd:choice>
3974            </xsd:complexType>
3975         </xsd:element>
3976         <xsd:element name="names_ql" type="Defining_Name_List"/>
3977         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
3978         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
3979         <xsd:element name="body_declarative_items_ql" type="Element_List"/>
3980         <xsd:element name="body_statements_ql" type="Statement_List"/>
3981         <xsd:element name="body_exception_handlers_ql" type="Exception_Handler_List"/>
3982      </xsd:sequence>
3983      <xsd:attribute name="checks" type="xsd:string"/>
3984      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
3985   </xsd:complexType>
3986
3987   <xsd:element name="function_body_declaration" type="Function_Body_Declaration"/>
3988
3989   <xsd:complexType name="Function_Body_Declaration">
3990      <xsd:sequence>
3991         <xsd:element name="is_overriding_declaration_q">
3992            <xsd:complexType>
3993               <xsd:choice>
3994                  <xsd:element name="overriding" type="Overriding"/>
3995                  <xsd:element name="not_an_element" type="Not_An_Element"/>
3996               </xsd:choice>
3997            </xsd:complexType>
3998         </xsd:element>
3999         <xsd:element name="is_not_overriding_declaration_q">
4000            <xsd:complexType>
4001               <xsd:choice>
4002                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4003                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4004               </xsd:choice>
4005            </xsd:complexType>
4006         </xsd:element>
4007         <xsd:element name="names_ql" type="Defining_Name_List"/>
4008         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4009         <xsd:element name="is_not_null_return_q">
4010            <xsd:complexType>
4011               <xsd:choice>
4012                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
4013                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4014               </xsd:choice>
4015            </xsd:complexType>
4016         </xsd:element>
4017         <xsd:element name="result_profile_q" type="Element_Class"/>
4018         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4019         <xsd:element name="body_declarative_items_ql" type="Element_List"/>
4020         <xsd:element name="body_statements_ql" type="Statement_List"/>
4021         <xsd:element name="body_exception_handlers_ql" type="Exception_Handler_List"/>
4022      </xsd:sequence>
4023      <xsd:attribute name="checks" type="xsd:string"/>
4024      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4025   </xsd:complexType>
4026
4027   <xsd:element name="return_variable_specification" type="Return_Variable_Specification"/>
4028
4029   <xsd:complexType name="Return_Variable_Specification">
4030      <xsd:sequence>
4031         <xsd:element name="names_ql" type="Defining_Name_List"/>
4032         <xsd:element name="has_aliased_q">
4033            <xsd:complexType>
4034               <xsd:choice>
4035                  <xsd:element name="aliased" type="Aliased"/>
4036                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4037               </xsd:choice>
4038            </xsd:complexType>
4039         </xsd:element>
4040         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
4041         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
4042      </xsd:sequence>
4043      <xsd:attribute name="checks" type="xsd:string"/>
4044      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4045   </xsd:complexType>
4046
4047   <xsd:element name="return_constant_specification" type="Return_Constant_Specification"/>
4048
4049   <xsd:complexType name="Return_Constant_Specification">
4050      <xsd:sequence>
4051         <xsd:element name="names_ql" type="Defining_Name_List"/>
4052         <xsd:element name="has_aliased_q">
4053            <xsd:complexType>
4054               <xsd:choice>
4055                  <xsd:element name="aliased" type="Aliased"/>
4056                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4057               </xsd:choice>
4058            </xsd:complexType>
4059         </xsd:element>
4060         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
4061         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
4062      </xsd:sequence>
4063      <xsd:attribute name="checks" type="xsd:string"/>
4064      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4065   </xsd:complexType>
4066
4067   <xsd:element name="null_procedure_declaration" type="Null_Procedure_Declaration"/>
4068
4069   <xsd:complexType name="Null_Procedure_Declaration">
4070      <xsd:sequence>
4071         <xsd:element name="is_overriding_declaration_q">
4072            <xsd:complexType>
4073               <xsd:choice>
4074                  <xsd:element name="overriding" type="Overriding"/>
4075                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4076               </xsd:choice>
4077            </xsd:complexType>
4078         </xsd:element>
4079         <xsd:element name="is_not_overriding_declaration_q">
4080            <xsd:complexType>
4081               <xsd:choice>
4082                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4083                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4084               </xsd:choice>
4085            </xsd:complexType>
4086         </xsd:element>
4087         <xsd:element name="names_ql" type="Defining_Name_List"/>
4088         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4089         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4090      </xsd:sequence>
4091      <xsd:attribute name="checks" type="xsd:string"/>
4092      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4093   </xsd:complexType>
4094
4095   <xsd:element name="expression_function_declaration" type="Expression_Function_Declaration"/>
4096
4097   <xsd:complexType name="Expression_Function_Declaration">
4098      <xsd:sequence>
4099         <xsd:element name="names_ql" type="Defining_Name_List"/>
4100         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4101         <xsd:element name="result_profile_q" type="Element_Class"/>
4102         <xsd:element name="result_expression_q" type="Expression_Class"/>
4103         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4104      </xsd:sequence>
4105      <xsd:attribute name="checks" type="xsd:string"/>
4106      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4107   </xsd:complexType>
4108
4109   <xsd:element name="package_declaration" type="Package_Declaration"/>
4110
4111   <xsd:complexType name="Package_Declaration">
4112      <xsd:sequence>
4113         <xsd:element name="names_ql" type="Defining_Name_List"/>
4114         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4115         <xsd:element name="visible_part_declarative_items_ql" type="Declarative_Item_List"/>
4116         <xsd:element name="private_part_declarative_items_ql" type="Declarative_Item_List"/>
4117      </xsd:sequence>
4118      <xsd:attribute name="checks" type="xsd:string"/>
4119      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4120   </xsd:complexType>
4121
4122   <xsd:element name="package_body_declaration" type="Package_Body_Declaration"/>
4123
4124   <xsd:complexType name="Package_Body_Declaration">
4125      <xsd:sequence>
4126         <xsd:element name="names_ql" type="Defining_Name_List"/>
4127         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4128         <xsd:element name="body_declarative_items_ql" type="Element_List"/>
4129         <xsd:element name="body_statements_ql" type="Statement_List"/>
4130         <xsd:element name="body_exception_handlers_ql" type="Exception_Handler_List"/>
4131      </xsd:sequence>
4132      <xsd:attribute name="checks" type="xsd:string"/>
4133      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4134   </xsd:complexType>
4135
4136   <xsd:element name="object_renaming_declaration" type="Object_Renaming_Declaration"/>
4137
4138   <xsd:complexType name="Object_Renaming_Declaration">
4139      <xsd:sequence>
4140         <xsd:element name="names_ql" type="Defining_Name_List"/>
4141         <xsd:element name="has_null_exclusion_q">
4142            <xsd:complexType>
4143               <xsd:choice>
4144                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
4145                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4146               </xsd:choice>
4147            </xsd:complexType>
4148         </xsd:element>
4149         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
4150         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4151         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4152      </xsd:sequence>
4153      <xsd:attribute name="checks" type="xsd:string"/>
4154      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4155   </xsd:complexType>
4156
4157   <xsd:element name="exception_renaming_declaration" type="Exception_Renaming_Declaration"/>
4158
4159   <xsd:complexType name="Exception_Renaming_Declaration">
4160      <xsd:sequence>
4161         <xsd:element name="names_ql" type="Defining_Name_List"/>
4162         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4163         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4164      </xsd:sequence>
4165      <xsd:attribute name="checks" type="xsd:string"/>
4166      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4167   </xsd:complexType>
4168
4169   <xsd:element name="package_renaming_declaration" type="Package_Renaming_Declaration"/>
4170
4171   <xsd:complexType name="Package_Renaming_Declaration">
4172      <xsd:sequence>
4173         <xsd:element name="names_ql" type="Defining_Name_List"/>
4174         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4175         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4176      </xsd:sequence>
4177      <xsd:attribute name="checks" type="xsd:string"/>
4178      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4179   </xsd:complexType>
4180
4181   <xsd:element name="procedure_renaming_declaration" type="Procedure_Renaming_Declaration"/>
4182
4183   <xsd:complexType name="Procedure_Renaming_Declaration">
4184      <xsd:sequence>
4185         <xsd:element name="is_overriding_declaration_q">
4186            <xsd:complexType>
4187               <xsd:choice>
4188                  <xsd:element name="overriding" type="Overriding"/>
4189                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4190               </xsd:choice>
4191            </xsd:complexType>
4192         </xsd:element>
4193         <xsd:element name="is_not_overriding_declaration_q">
4194            <xsd:complexType>
4195               <xsd:choice>
4196                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4197                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4198               </xsd:choice>
4199            </xsd:complexType>
4200         </xsd:element>
4201         <xsd:element name="names_ql" type="Defining_Name_List"/>
4202         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4203         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4204         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4205      </xsd:sequence>
4206      <xsd:attribute name="checks" type="xsd:string"/>
4207      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4208   </xsd:complexType>
4209
4210   <xsd:element name="function_renaming_declaration" type="Function_Renaming_Declaration"/>
4211
4212   <xsd:complexType name="Function_Renaming_Declaration">
4213      <xsd:sequence>
4214         <xsd:element name="is_overriding_declaration_q">
4215            <xsd:complexType>
4216               <xsd:choice>
4217                  <xsd:element name="overriding" type="Overriding"/>
4218                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4219               </xsd:choice>
4220            </xsd:complexType>
4221         </xsd:element>
4222         <xsd:element name="is_not_overriding_declaration_q">
4223            <xsd:complexType>
4224               <xsd:choice>
4225                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4226                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4227               </xsd:choice>
4228            </xsd:complexType>
4229         </xsd:element>
4230         <xsd:element name="names_ql" type="Defining_Name_List"/>
4231         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4232         <xsd:element name="is_not_null_return_q">
4233            <xsd:complexType>
4234               <xsd:choice>
4235                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
4236                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4237               </xsd:choice>
4238            </xsd:complexType>
4239         </xsd:element>
4240         <xsd:element name="result_profile_q" type="Element_Class"/>
4241         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4242         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4243      </xsd:sequence>
4244      <xsd:attribute name="checks" type="xsd:string"/>
4245      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4246   </xsd:complexType>
4247
4248   <xsd:element name="generic_package_renaming_declaration" type="Generic_Package_Renaming_Declaration"/>
4249
4250   <xsd:complexType name="Generic_Package_Renaming_Declaration">
4251      <xsd:sequence>
4252         <xsd:element name="names_ql" type="Defining_Name_List"/>
4253         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4254         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4255      </xsd:sequence>
4256      <xsd:attribute name="checks" type="xsd:string"/>
4257      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4258   </xsd:complexType>
4259
4260   <xsd:element name="generic_procedure_renaming_declaration" type="Generic_Procedure_Renaming_Declaration"/>
4261
4262   <xsd:complexType name="Generic_Procedure_Renaming_Declaration">
4263      <xsd:sequence>
4264         <xsd:element name="names_ql" type="Defining_Name_List"/>
4265         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4266         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4267      </xsd:sequence>
4268      <xsd:attribute name="checks" type="xsd:string"/>
4269      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4270   </xsd:complexType>
4271
4272   <xsd:element name="generic_function_renaming_declaration" type="Generic_Function_Renaming_Declaration"/>
4273
4274   <xsd:complexType name="Generic_Function_Renaming_Declaration">
4275      <xsd:sequence>
4276         <xsd:element name="names_ql" type="Defining_Name_List"/>
4277         <xsd:element name="renamed_entity_q" type="Expression_Class"/>
4278         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4279      </xsd:sequence>
4280      <xsd:attribute name="checks" type="xsd:string"/>
4281      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4282   </xsd:complexType>
4283
4284   <xsd:element name="task_body_declaration" type="Task_Body_Declaration"/>
4285
4286   <xsd:complexType name="Task_Body_Declaration">
4287      <xsd:sequence>
4288         <xsd:element name="names_ql" type="Defining_Name_List"/>
4289         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4290         <xsd:element name="body_declarative_items_ql" type="Element_List"/>
4291         <xsd:element name="body_statements_ql" type="Statement_List"/>
4292         <xsd:element name="body_exception_handlers_ql" type="Exception_Handler_List"/>
4293      </xsd:sequence>
4294      <xsd:attribute name="checks" type="xsd:string"/>
4295      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4296   </xsd:complexType>
4297
4298   <xsd:element name="protected_body_declaration" type="Protected_Body_Declaration"/>
4299
4300   <xsd:complexType name="Protected_Body_Declaration">
4301      <xsd:sequence>
4302         <xsd:element name="names_ql" type="Defining_Name_List"/>
4303         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4304         <xsd:element name="protected_operation_items_ql" type="Declaration_List"/>
4305      </xsd:sequence>
4306      <xsd:attribute name="checks" type="xsd:string"/>
4307      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4308   </xsd:complexType>
4309
4310   <xsd:element name="entry_declaration" type="Entry_Declaration"/>
4311
4312   <xsd:complexType name="Entry_Declaration">
4313      <xsd:sequence>
4314         <xsd:element name="is_overriding_declaration_q">
4315            <xsd:complexType>
4316               <xsd:choice>
4317                  <xsd:element name="overriding" type="Overriding"/>
4318                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4319               </xsd:choice>
4320            </xsd:complexType>
4321         </xsd:element>
4322         <xsd:element name="is_not_overriding_declaration_q">
4323            <xsd:complexType>
4324               <xsd:choice>
4325                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4326                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4327               </xsd:choice>
4328            </xsd:complexType>
4329         </xsd:element>
4330         <xsd:element name="names_ql" type="Defining_Name_List"/>
4331         <xsd:element name="entry_family_definition_q" type="Discrete_Subtype_Definition_Class"/>
4332         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4333         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4334      </xsd:sequence>
4335      <xsd:attribute name="checks" type="xsd:string"/>
4336      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4337   </xsd:complexType>
4338
4339   <xsd:element name="entry_body_declaration" type="Entry_Body_Declaration"/>
4340
4341   <xsd:complexType name="Entry_Body_Declaration">
4342      <xsd:sequence>
4343         <xsd:element name="names_ql" type="Defining_Name_List"/>
4344         <xsd:element name="entry_index_specification_q" type="Declaration_Class"/>
4345         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4346         <xsd:element name="entry_barrier_q" type="Expression_Class"/>
4347         <xsd:element name="body_declarative_items_ql" type="Element_List"/>
4348         <xsd:element name="body_statements_ql" type="Statement_List"/>
4349         <xsd:element name="body_exception_handlers_ql" type="Exception_Handler_List"/>
4350      </xsd:sequence>
4351      <xsd:attribute name="checks" type="xsd:string"/>
4352      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4353   </xsd:complexType>
4354
4355   <xsd:element name="entry_index_specification" type="Entry_Index_Specification"/>
4356
4357   <xsd:complexType name="Entry_Index_Specification">
4358      <xsd:sequence>
4359         <xsd:element name="names_ql" type="Defining_Name_List"/>
4360         <xsd:element name="specification_subtype_definition_q" type="Discrete_Subtype_Definition_Class"/>
4361      </xsd:sequence>
4362      <xsd:attribute name="checks" type="xsd:string"/>
4363      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4364   </xsd:complexType>
4365
4366   <xsd:element name="procedure_body_stub" type="Procedure_Body_Stub"/>
4367
4368   <xsd:complexType name="Procedure_Body_Stub">
4369      <xsd:sequence>
4370         <xsd:element name="is_overriding_declaration_q">
4371            <xsd:complexType>
4372               <xsd:choice>
4373                  <xsd:element name="overriding" type="Overriding"/>
4374                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4375               </xsd:choice>
4376            </xsd:complexType>
4377         </xsd:element>
4378         <xsd:element name="is_not_overriding_declaration_q">
4379            <xsd:complexType>
4380               <xsd:choice>
4381                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4382                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4383               </xsd:choice>
4384            </xsd:complexType>
4385         </xsd:element>
4386         <xsd:element name="names_ql" type="Defining_Name_List"/>
4387         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4388         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4389      </xsd:sequence>
4390      <xsd:attribute name="checks" type="xsd:string"/>
4391      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4392   </xsd:complexType>
4393
4394   <xsd:element name="function_body_stub" type="Function_Body_Stub"/>
4395
4396   <xsd:complexType name="Function_Body_Stub">
4397      <xsd:sequence>
4398         <xsd:element name="is_overriding_declaration_q">
4399            <xsd:complexType>
4400               <xsd:choice>
4401                  <xsd:element name="overriding" type="Overriding"/>
4402                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4403               </xsd:choice>
4404            </xsd:complexType>
4405         </xsd:element>
4406         <xsd:element name="is_not_overriding_declaration_q">
4407            <xsd:complexType>
4408               <xsd:choice>
4409                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4410                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4411               </xsd:choice>
4412            </xsd:complexType>
4413         </xsd:element>
4414         <xsd:element name="names_ql" type="Defining_Name_List"/>
4415         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4416         <xsd:element name="is_not_null_return_q">
4417            <xsd:complexType>
4418               <xsd:choice>
4419                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
4420                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4421               </xsd:choice>
4422            </xsd:complexType>
4423         </xsd:element>
4424         <xsd:element name="result_profile_q" type="Element_Class"/>
4425         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4426      </xsd:sequence>
4427      <xsd:attribute name="checks" type="xsd:string"/>
4428      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4429   </xsd:complexType>
4430
4431   <xsd:element name="package_body_stub" type="Package_Body_Stub"/>
4432
4433   <xsd:complexType name="Package_Body_Stub">
4434      <xsd:sequence>
4435         <xsd:element name="names_ql" type="Defining_Name_List"/>
4436         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4437      </xsd:sequence>
4438      <xsd:attribute name="checks" type="xsd:string"/>
4439      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4440   </xsd:complexType>
4441
4442   <xsd:element name="task_body_stub" type="Task_Body_Stub"/>
4443
4444   <xsd:complexType name="Task_Body_Stub">
4445      <xsd:sequence>
4446         <xsd:element name="names_ql" type="Defining_Name_List"/>
4447         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4448      </xsd:sequence>
4449      <xsd:attribute name="checks" type="xsd:string"/>
4450      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4451   </xsd:complexType>
4452
4453   <xsd:element name="protected_body_stub" type="Protected_Body_Stub"/>
4454
4455   <xsd:complexType name="Protected_Body_Stub">
4456      <xsd:sequence>
4457         <xsd:element name="names_ql" type="Defining_Name_List"/>
4458         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4459      </xsd:sequence>
4460      <xsd:attribute name="checks" type="xsd:string"/>
4461      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4462   </xsd:complexType>
4463
4464   <xsd:element name="exception_declaration" type="Exception_Declaration"/>
4465
4466   <xsd:complexType name="Exception_Declaration">
4467      <xsd:sequence>
4468         <xsd:element name="names_ql" type="Defining_Name_List"/>
4469         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4470      </xsd:sequence>
4471      <xsd:attribute name="checks" type="xsd:string"/>
4472      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4473   </xsd:complexType>
4474
4475   <xsd:element name="choice_parameter_specification" type="Choice_Parameter_Specification"/>
4476
4477   <xsd:complexType name="Choice_Parameter_Specification">
4478      <xsd:sequence>
4479         <xsd:element name="names_ql" type="Defining_Name_List"/>
4480      </xsd:sequence>
4481      <xsd:attribute name="checks" type="xsd:string"/>
4482      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4483   </xsd:complexType>
4484
4485   <xsd:element name="generic_procedure_declaration" type="Generic_Procedure_Declaration"/>
4486
4487   <xsd:complexType name="Generic_Procedure_Declaration">
4488      <xsd:sequence>
4489         <xsd:element name="generic_formal_part_ql" type="Element_List"/>
4490         <xsd:element name="names_ql" type="Defining_Name_List"/>
4491         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4492         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4493      </xsd:sequence>
4494      <xsd:attribute name="checks" type="xsd:string"/>
4495      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4496   </xsd:complexType>
4497
4498   <xsd:element name="generic_function_declaration" type="Generic_Function_Declaration"/>
4499
4500   <xsd:complexType name="Generic_Function_Declaration">
4501      <xsd:sequence>
4502         <xsd:element name="generic_formal_part_ql" type="Element_List"/>
4503         <xsd:element name="names_ql" type="Defining_Name_List"/>
4504         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4505         <xsd:element name="is_not_null_return_q">
4506            <xsd:complexType>
4507               <xsd:choice>
4508                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
4509                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4510               </xsd:choice>
4511            </xsd:complexType>
4512         </xsd:element>
4513         <xsd:element name="result_profile_q" type="Element_Class"/>
4514         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4515      </xsd:sequence>
4516      <xsd:attribute name="checks" type="xsd:string"/>
4517      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4518   </xsd:complexType>
4519
4520   <xsd:element name="generic_package_declaration" type="Generic_Package_Declaration"/>
4521
4522   <xsd:complexType name="Generic_Package_Declaration">
4523      <xsd:sequence>
4524         <xsd:element name="generic_formal_part_ql" type="Element_List"/>
4525         <xsd:element name="names_ql" type="Defining_Name_List"/>
4526         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4527         <xsd:element name="visible_part_declarative_items_ql" type="Declarative_Item_List"/>
4528         <xsd:element name="private_part_declarative_items_ql" type="Declarative_Item_List"/>
4529      </xsd:sequence>
4530      <xsd:attribute name="checks" type="xsd:string"/>
4531      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4532   </xsd:complexType>
4533
4534   <xsd:element name="package_instantiation" type="Package_Instantiation"/>
4535
4536   <xsd:complexType name="Package_Instantiation">
4537      <xsd:sequence>
4538         <xsd:element name="names_ql" type="Defining_Name_List"/>
4539         <xsd:element name="generic_unit_name_q" type="Expression_Class"/>
4540         <xsd:element name="generic_actual_part_ql" type="Association_List"/>
4541         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4542      </xsd:sequence>
4543      <xsd:attribute name="checks" type="xsd:string"/>
4544      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4545   </xsd:complexType>
4546
4547   <xsd:element name="procedure_instantiation" type="Procedure_Instantiation"/>
4548
4549   <xsd:complexType name="Procedure_Instantiation">
4550      <xsd:sequence>
4551         <xsd:element name="is_overriding_declaration_q">
4552            <xsd:complexType>
4553               <xsd:choice>
4554                  <xsd:element name="overriding" type="Overriding"/>
4555                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4556               </xsd:choice>
4557            </xsd:complexType>
4558         </xsd:element>
4559         <xsd:element name="is_not_overriding_declaration_q">
4560            <xsd:complexType>
4561               <xsd:choice>
4562                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4563                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4564               </xsd:choice>
4565            </xsd:complexType>
4566         </xsd:element>
4567         <xsd:element name="names_ql" type="Defining_Name_List"/>
4568         <xsd:element name="generic_unit_name_q" type="Expression_Class"/>
4569         <xsd:element name="generic_actual_part_ql" type="Association_List"/>
4570         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4571      </xsd:sequence>
4572      <xsd:attribute name="checks" type="xsd:string"/>
4573      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4574   </xsd:complexType>
4575
4576   <xsd:element name="function_instantiation" type="Function_Instantiation"/>
4577
4578   <xsd:complexType name="Function_Instantiation">
4579      <xsd:sequence>
4580         <xsd:element name="is_overriding_declaration_q">
4581            <xsd:complexType>
4582               <xsd:choice>
4583                  <xsd:element name="overriding" type="Overriding"/>
4584                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4585               </xsd:choice>
4586            </xsd:complexType>
4587         </xsd:element>
4588         <xsd:element name="is_not_overriding_declaration_q">
4589            <xsd:complexType>
4590               <xsd:choice>
4591                  <xsd:element name="not_overriding" type="Not_Overriding"/>
4592                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4593               </xsd:choice>
4594            </xsd:complexType>
4595         </xsd:element>
4596         <xsd:element name="names_ql" type="Defining_Name_List"/>
4597         <xsd:element name="generic_unit_name_q" type="Expression_Class"/>
4598         <xsd:element name="generic_actual_part_ql" type="Association_List"/>
4599         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4600      </xsd:sequence>
4601      <xsd:attribute name="checks" type="xsd:string"/>
4602      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4603   </xsd:complexType>
4604
4605   <xsd:element name="formal_object_declaration" type="Formal_Object_Declaration"/>
4606
4607   <xsd:complexType name="Formal_Object_Declaration">
4608      <xsd:sequence>
4609         <xsd:element name="names_ql" type="Defining_Name_List"/>
4610         <xsd:element name="has_null_exclusion_q">
4611            <xsd:complexType>
4612               <xsd:choice>
4613                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
4614                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4615               </xsd:choice>
4616            </xsd:complexType>
4617         </xsd:element>
4618         <xsd:element name="object_declaration_view_q" type="Definition_Class"/>
4619         <xsd:element name="initialization_expression_q" type="Expression_Class"/>
4620         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4621      </xsd:sequence>
4622      <xsd:attribute name="mode" type="xsd:string" use="required"/>
4623      <xsd:attribute name="checks" type="xsd:string"/>
4624      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4625   </xsd:complexType>
4626
4627   <xsd:element name="formal_type_declaration" type="Formal_Type_Declaration"/>
4628
4629   <xsd:complexType name="Formal_Type_Declaration">
4630      <xsd:sequence>
4631         <xsd:element name="names_ql" type="Defining_Name_List"/>
4632         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
4633         <xsd:element name="type_declaration_view_q" type="Definition_Class"/>
4634         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4635      </xsd:sequence>
4636      <xsd:attribute name="checks" type="xsd:string"/>
4637      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4638   </xsd:complexType>
4639
4640   <xsd:element name="formal_incomplete_type_declaration" type="Formal_Incomplete_Type_Declaration"/>
4641
4642   <xsd:complexType name="Formal_Incomplete_Type_Declaration">
4643      <xsd:sequence>
4644         <xsd:element name="names_ql" type="Defining_Name_List"/>
4645         <xsd:element name="discriminant_part_q" type="Definition_Class"/>
4646         <xsd:element name="has_tagged_q">
4647            <xsd:complexType>
4648               <xsd:choice>
4649                  <xsd:element name="tagged" type="Tagged"/>
4650                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4651               </xsd:choice>
4652            </xsd:complexType>
4653         </xsd:element>
4654         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4655      </xsd:sequence>
4656      <xsd:attribute name="checks" type="xsd:string"/>
4657      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4658   </xsd:complexType>
4659
4660   <xsd:element name="formal_procedure_declaration" type="Formal_Procedure_Declaration"/>
4661
4662   <xsd:complexType name="Formal_Procedure_Declaration">
4663      <xsd:sequence>
4664         <xsd:element name="names_ql" type="Defining_Name_List"/>
4665         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4666         <xsd:element name="formal_subprogram_default_q" type="Expression_Class"/>
4667         <xsd:element name="has_abstract_q">
4668            <xsd:complexType>
4669               <xsd:choice>
4670                  <xsd:element name="abstract" type="Abstract"/>
4671                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4672               </xsd:choice>
4673            </xsd:complexType>
4674         </xsd:element>
4675         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4676      </xsd:sequence>
4677      <xsd:attribute name="checks" type="xsd:string"/>
4678      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4679   </xsd:complexType>
4680
4681   <xsd:element name="formal_function_declaration" type="Formal_Function_Declaration"/>
4682
4683   <xsd:complexType name="Formal_Function_Declaration">
4684      <xsd:sequence>
4685         <xsd:element name="names_ql" type="Defining_Name_List"/>
4686         <xsd:element name="parameter_profile_ql" type="Parameter_Specification_List"/>
4687         <xsd:element name="is_not_null_return_q">
4688            <xsd:complexType>
4689               <xsd:choice>
4690                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
4691                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4692               </xsd:choice>
4693            </xsd:complexType>
4694         </xsd:element>
4695         <xsd:element name="result_profile_q" type="Element_Class"/>
4696         <xsd:element name="formal_subprogram_default_q" type="Expression_Class"/>
4697         <xsd:element name="has_abstract_q">
4698            <xsd:complexType>
4699               <xsd:choice>
4700                  <xsd:element name="abstract" type="Abstract"/>
4701                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4702               </xsd:choice>
4703            </xsd:complexType>
4704         </xsd:element>
4705         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4706      </xsd:sequence>
4707      <xsd:attribute name="checks" type="xsd:string"/>
4708      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4709   </xsd:complexType>
4710
4711   <xsd:element name="formal_package_declaration" type="Formal_Package_Declaration"/>
4712
4713   <xsd:complexType name="Formal_Package_Declaration">
4714      <xsd:sequence>
4715         <xsd:element name="names_ql" type="Defining_Name_List"/>
4716         <xsd:element name="generic_unit_name_q" type="Expression_Class"/>
4717         <xsd:element name="generic_actual_part_ql" type="Association_List"/>
4718         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4719      </xsd:sequence>
4720      <xsd:attribute name="checks" type="xsd:string"/>
4721      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4722   </xsd:complexType>
4723
4724   <xsd:element name="formal_package_declaration_with_box" type="Formal_Package_Declaration_With_Box"/>
4725
4726   <xsd:complexType name="Formal_Package_Declaration_With_Box">
4727      <xsd:sequence>
4728         <xsd:element name="names_ql" type="Defining_Name_List"/>
4729         <xsd:element name="generic_unit_name_q" type="Expression_Class"/>
4730         <xsd:element name="aspect_specifications_ql" type="Element_List"/>
4731      </xsd:sequence>
4732      <xsd:attribute name="checks" type="xsd:string"/>
4733      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4734   </xsd:complexType>
4735
4736   <xsd:element name="derived_type_definition" type="Derived_Type_Definition"/>
4737
4738   <xsd:complexType name="Derived_Type_Definition">
4739      <xsd:sequence>
4740         <xsd:element name="has_abstract_q">
4741            <xsd:complexType>
4742               <xsd:choice>
4743                  <xsd:element name="abstract" type="Abstract"/>
4744                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4745               </xsd:choice>
4746            </xsd:complexType>
4747         </xsd:element>
4748         <xsd:element name="has_limited_q">
4749            <xsd:complexType>
4750               <xsd:choice>
4751                  <xsd:element name="limited" type="Limited"/>
4752                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4753               </xsd:choice>
4754            </xsd:complexType>
4755         </xsd:element>
4756         <xsd:element name="parent_subtype_indication_q" type="Element_Class"/>
4757      </xsd:sequence>
4758      <xsd:attribute name="checks" type="xsd:string"/>
4759      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4760   </xsd:complexType>
4761
4762   <xsd:element name="derived_record_extension_definition" type="Derived_Record_Extension_Definition"/>
4763
4764   <xsd:complexType name="Derived_Record_Extension_Definition">
4765      <xsd:sequence>
4766         <xsd:element name="has_abstract_q">
4767            <xsd:complexType>
4768               <xsd:choice>
4769                  <xsd:element name="abstract" type="Abstract"/>
4770                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4771               </xsd:choice>
4772            </xsd:complexType>
4773         </xsd:element>
4774         <xsd:element name="has_limited_q">
4775            <xsd:complexType>
4776               <xsd:choice>
4777                  <xsd:element name="limited" type="Limited"/>
4778                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4779               </xsd:choice>
4780            </xsd:complexType>
4781         </xsd:element>
4782         <xsd:element name="parent_subtype_indication_q" type="Element_Class"/>
4783         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
4784         <xsd:element name="record_definition_q" type="Definition_Class"/>
4785      </xsd:sequence>
4786      <xsd:attribute name="checks" type="xsd:string"/>
4787      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4788   </xsd:complexType>
4789
4790   <xsd:element name="enumeration_type_definition" type="Enumeration_Type_Definition"/>
4791
4792   <xsd:complexType name="Enumeration_Type_Definition">
4793      <xsd:sequence>
4794         <xsd:element name="enumeration_literal_declarations_ql" type="Declaration_List"/>
4795      </xsd:sequence>
4796      <xsd:attribute name="checks" type="xsd:string"/>
4797      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4798   </xsd:complexType>
4799
4800   <xsd:element name="signed_integer_type_definition" type="Signed_Integer_Type_Definition"/>
4801
4802   <xsd:complexType name="Signed_Integer_Type_Definition">
4803      <xsd:sequence>
4804         <xsd:element name="integer_constraint_q" type="Range_Constraint_Class"/>
4805      </xsd:sequence>
4806      <xsd:attribute name="checks" type="xsd:string"/>
4807      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4808   </xsd:complexType>
4809
4810   <xsd:element name="modular_type_definition" type="Modular_Type_Definition"/>
4811
4812   <xsd:complexType name="Modular_Type_Definition">
4813      <xsd:sequence>
4814         <xsd:element name="mod_static_expression_q" type="Expression_Class"/>
4815      </xsd:sequence>
4816      <xsd:attribute name="checks" type="xsd:string"/>
4817      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4818   </xsd:complexType>
4819
4820   <xsd:element name="root_integer_definition" type="Root_Integer_Definition"/>
4821
4822   <xsd:complexType name="Root_Integer_Definition">
4823      <xsd:attribute name="checks" type="xsd:string"/>
4824      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4825   </xsd:complexType>
4826
4827   <xsd:element name="root_real_definition" type="Root_Real_Definition"/>
4828
4829   <xsd:complexType name="Root_Real_Definition">
4830      <xsd:attribute name="checks" type="xsd:string"/>
4831      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4832   </xsd:complexType>
4833
4834   <xsd:element name="universal_integer_definition" type="Universal_Integer_Definition"/>
4835
4836   <xsd:complexType name="Universal_Integer_Definition">
4837      <xsd:attribute name="checks" type="xsd:string"/>
4838      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4839   </xsd:complexType>
4840
4841   <xsd:element name="universal_real_definition" type="Universal_Real_Definition"/>
4842
4843   <xsd:complexType name="Universal_Real_Definition">
4844      <xsd:attribute name="checks" type="xsd:string"/>
4845      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4846   </xsd:complexType>
4847
4848   <xsd:element name="universal_fixed_definition" type="Universal_Fixed_Definition"/>
4849
4850   <xsd:complexType name="Universal_Fixed_Definition">
4851      <xsd:attribute name="checks" type="xsd:string"/>
4852      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4853   </xsd:complexType>
4854
4855   <xsd:element name="floating_point_definition" type="Floating_Point_Definition"/>
4856
4857   <xsd:complexType name="Floating_Point_Definition">
4858      <xsd:sequence>
4859         <xsd:element name="digits_expression_q" type="Expression_Class"/>
4860         <xsd:element name="real_range_constraint_q" type="Range_Constraint_Class"/>
4861      </xsd:sequence>
4862      <xsd:attribute name="checks" type="xsd:string"/>
4863      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4864   </xsd:complexType>
4865
4866   <xsd:element name="ordinary_fixed_point_definition" type="Ordinary_Fixed_Point_Definition"/>
4867
4868   <xsd:complexType name="Ordinary_Fixed_Point_Definition">
4869      <xsd:sequence>
4870         <xsd:element name="delta_expression_q" type="Expression_Class"/>
4871         <xsd:element name="real_range_constraint_q" type="Range_Constraint_Class"/>
4872      </xsd:sequence>
4873      <xsd:attribute name="checks" type="xsd:string"/>
4874      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4875   </xsd:complexType>
4876
4877   <xsd:element name="decimal_fixed_point_definition" type="Decimal_Fixed_Point_Definition"/>
4878
4879   <xsd:complexType name="Decimal_Fixed_Point_Definition">
4880      <xsd:sequence>
4881         <xsd:element name="delta_expression_q" type="Expression_Class"/>
4882         <xsd:element name="digits_expression_q" type="Expression_Class"/>
4883         <xsd:element name="real_range_constraint_q" type="Range_Constraint_Class"/>
4884      </xsd:sequence>
4885      <xsd:attribute name="checks" type="xsd:string"/>
4886      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4887   </xsd:complexType>
4888
4889   <xsd:element name="unconstrained_array_definition" type="Unconstrained_Array_Definition"/>
4890
4891   <xsd:complexType name="Unconstrained_Array_Definition">
4892      <xsd:sequence>
4893         <xsd:element name="index_subtype_definitions_ql" type="Expression_List"/>
4894         <xsd:element name="array_component_definition_q" type="Element_Class"/>
4895      </xsd:sequence>
4896      <xsd:attribute name="checks" type="xsd:string"/>
4897      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4898   </xsd:complexType>
4899
4900   <xsd:element name="constrained_array_definition" type="Constrained_Array_Definition"/>
4901
4902   <xsd:complexType name="Constrained_Array_Definition">
4903      <xsd:sequence>
4904         <xsd:element name="discrete_subtype_definitions_ql" type="Definition_List"/>
4905         <xsd:element name="array_component_definition_q" type="Element_Class"/>
4906      </xsd:sequence>
4907      <xsd:attribute name="checks" type="xsd:string"/>
4908      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4909   </xsd:complexType>
4910
4911   <xsd:element name="record_type_definition" type="Record_Type_Definition"/>
4912
4913   <xsd:complexType name="Record_Type_Definition">
4914      <xsd:sequence>
4915         <xsd:element name="has_abstract_q">
4916            <xsd:complexType>
4917               <xsd:choice>
4918                  <xsd:element name="abstract" type="Abstract"/>
4919                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4920               </xsd:choice>
4921            </xsd:complexType>
4922         </xsd:element>
4923         <xsd:element name="has_limited_q">
4924            <xsd:complexType>
4925               <xsd:choice>
4926                  <xsd:element name="limited" type="Limited"/>
4927                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4928               </xsd:choice>
4929            </xsd:complexType>
4930         </xsd:element>
4931         <xsd:element name="record_definition_q" type="Definition_Class"/>
4932      </xsd:sequence>
4933      <xsd:attribute name="checks" type="xsd:string"/>
4934      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4935   </xsd:complexType>
4936
4937   <xsd:element name="tagged_record_type_definition" type="Tagged_Record_Type_Definition"/>
4938
4939   <xsd:complexType name="Tagged_Record_Type_Definition">
4940      <xsd:sequence>
4941         <xsd:element name="has_abstract_q">
4942            <xsd:complexType>
4943               <xsd:choice>
4944                  <xsd:element name="abstract" type="Abstract"/>
4945                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4946               </xsd:choice>
4947            </xsd:complexType>
4948         </xsd:element>
4949         <xsd:element name="has_limited_q">
4950            <xsd:complexType>
4951               <xsd:choice>
4952                  <xsd:element name="limited" type="Limited"/>
4953                  <xsd:element name="not_an_element" type="Not_An_Element"/>
4954               </xsd:choice>
4955            </xsd:complexType>
4956         </xsd:element>
4957         <xsd:element name="record_definition_q" type="Definition_Class"/>
4958      </xsd:sequence>
4959      <xsd:attribute name="checks" type="xsd:string"/>
4960      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4961   </xsd:complexType>
4962
4963   <xsd:element name="ordinary_interface" type="Ordinary_Interface"/>
4964
4965   <xsd:complexType name="Ordinary_Interface">
4966      <xsd:sequence>
4967         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
4968      </xsd:sequence>
4969      <xsd:attribute name="checks" type="xsd:string"/>
4970      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4971   </xsd:complexType>
4972
4973   <xsd:element name="limited_interface" type="Limited_Interface"/>
4974
4975   <xsd:complexType name="Limited_Interface">
4976      <xsd:sequence>
4977         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
4978      </xsd:sequence>
4979      <xsd:attribute name="checks" type="xsd:string"/>
4980      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4981   </xsd:complexType>
4982
4983   <xsd:element name="task_interface" type="Task_Interface"/>
4984
4985   <xsd:complexType name="Task_Interface">
4986      <xsd:sequence>
4987         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
4988      </xsd:sequence>
4989      <xsd:attribute name="checks" type="xsd:string"/>
4990      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
4991   </xsd:complexType>
4992
4993   <xsd:element name="protected_interface" type="Protected_Interface"/>
4994
4995   <xsd:complexType name="Protected_Interface">
4996      <xsd:sequence>
4997         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
4998      </xsd:sequence>
4999      <xsd:attribute name="checks" type="xsd:string"/>
5000      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5001   </xsd:complexType>
5002
5003   <xsd:element name="synchronized_interface" type="Synchronized_Interface"/>
5004
5005   <xsd:complexType name="Synchronized_Interface">
5006      <xsd:sequence>
5007         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5008      </xsd:sequence>
5009      <xsd:attribute name="checks" type="xsd:string"/>
5010      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5011   </xsd:complexType>
5012
5013   <xsd:element name="pool_specific_access_to_variable" type="Pool_Specific_Access_To_Variable"/>
5014
5015   <xsd:complexType name="Pool_Specific_Access_To_Variable">
5016      <xsd:sequence>
5017         <xsd:element name="has_null_exclusion_q">
5018            <xsd:complexType>
5019               <xsd:choice>
5020                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5021                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5022               </xsd:choice>
5023            </xsd:complexType>
5024         </xsd:element>
5025         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5026      </xsd:sequence>
5027      <xsd:attribute name="checks" type="xsd:string"/>
5028      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5029   </xsd:complexType>
5030
5031   <xsd:element name="access_to_variable" type="Access_To_Variable"/>
5032
5033   <xsd:complexType name="Access_To_Variable">
5034      <xsd:sequence>
5035         <xsd:element name="has_null_exclusion_q">
5036            <xsd:complexType>
5037               <xsd:choice>
5038                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5039                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5040               </xsd:choice>
5041            </xsd:complexType>
5042         </xsd:element>
5043         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5044      </xsd:sequence>
5045      <xsd:attribute name="checks" type="xsd:string"/>
5046      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5047   </xsd:complexType>
5048
5049   <xsd:element name="access_to_constant" type="Access_To_Constant"/>
5050
5051   <xsd:complexType name="Access_To_Constant">
5052      <xsd:sequence>
5053         <xsd:element name="has_null_exclusion_q">
5054            <xsd:complexType>
5055               <xsd:choice>
5056                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5057                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5058               </xsd:choice>
5059            </xsd:complexType>
5060         </xsd:element>
5061         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5062      </xsd:sequence>
5063      <xsd:attribute name="checks" type="xsd:string"/>
5064      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5065   </xsd:complexType>
5066
5067   <xsd:element name="access_to_procedure" type="Access_To_Procedure"/>
5068
5069   <xsd:complexType name="Access_To_Procedure">
5070      <xsd:sequence>
5071         <xsd:element name="has_null_exclusion_q">
5072            <xsd:complexType>
5073               <xsd:choice>
5074                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5075                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5076               </xsd:choice>
5077            </xsd:complexType>
5078         </xsd:element>
5079         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5080      </xsd:sequence>
5081      <xsd:attribute name="checks" type="xsd:string"/>
5082      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5083   </xsd:complexType>
5084
5085   <xsd:element name="access_to_protected_procedure" type="Access_To_Protected_Procedure"/>
5086
5087   <xsd:complexType name="Access_To_Protected_Procedure">
5088      <xsd:sequence>
5089         <xsd:element name="has_null_exclusion_q">
5090            <xsd:complexType>
5091               <xsd:choice>
5092                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5093                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5094               </xsd:choice>
5095            </xsd:complexType>
5096         </xsd:element>
5097         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5098      </xsd:sequence>
5099      <xsd:attribute name="checks" type="xsd:string"/>
5100      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5101   </xsd:complexType>
5102
5103   <xsd:element name="access_to_function" type="Access_To_Function"/>
5104
5105   <xsd:complexType name="Access_To_Function">
5106      <xsd:sequence>
5107         <xsd:element name="has_null_exclusion_q">
5108            <xsd:complexType>
5109               <xsd:choice>
5110                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5111                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5112               </xsd:choice>
5113            </xsd:complexType>
5114         </xsd:element>
5115         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5116         <xsd:element name="is_not_null_return_q">
5117            <xsd:complexType>
5118               <xsd:choice>
5119                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5120                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5121               </xsd:choice>
5122            </xsd:complexType>
5123         </xsd:element>
5124         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5125      </xsd:sequence>
5126      <xsd:attribute name="checks" type="xsd:string"/>
5127      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5128   </xsd:complexType>
5129
5130   <xsd:element name="access_to_protected_function" type="Access_To_Protected_Function"/>
5131
5132   <xsd:complexType name="Access_To_Protected_Function">
5133      <xsd:sequence>
5134         <xsd:element name="has_null_exclusion_q">
5135            <xsd:complexType>
5136               <xsd:choice>
5137                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5138                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5139               </xsd:choice>
5140            </xsd:complexType>
5141         </xsd:element>
5142         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5143         <xsd:element name="is_not_null_return_q">
5144            <xsd:complexType>
5145               <xsd:choice>
5146                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5147                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5148               </xsd:choice>
5149            </xsd:complexType>
5150         </xsd:element>
5151         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5152      </xsd:sequence>
5153      <xsd:attribute name="checks" type="xsd:string"/>
5154      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5155   </xsd:complexType>
5156
5157   <xsd:element name="subtype_indication" type="Subtype_Indication"/>
5158
5159   <xsd:complexType name="Subtype_Indication">
5160      <xsd:sequence>
5161         <xsd:element name="has_aliased_q">
5162            <xsd:complexType>
5163               <xsd:choice>
5164                  <xsd:element name="aliased" type="Aliased"/>
5165                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5166               </xsd:choice>
5167            </xsd:complexType>
5168         </xsd:element>
5169         <xsd:element name="has_null_exclusion_q">
5170            <xsd:complexType>
5171               <xsd:choice>
5172                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5173                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5174               </xsd:choice>
5175            </xsd:complexType>
5176         </xsd:element>
5177         <xsd:element name="subtype_mark_q" type="Expression_Class"/>
5178         <xsd:element name="subtype_constraint_q" type="Constraint_Class"/>
5179      </xsd:sequence>
5180      <xsd:attribute name="checks" type="xsd:string"/>
5181      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5182   </xsd:complexType>
5183
5184   <xsd:element name="range_attribute_reference" type="Range_Attribute_Reference"/>
5185
5186   <xsd:complexType name="Range_Attribute_Reference">
5187      <xsd:sequence>
5188         <xsd:element name="range_attribute_q" type="Expression_Class"/>
5189      </xsd:sequence>
5190      <xsd:attribute name="checks" type="xsd:string"/>
5191      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5192   </xsd:complexType>
5193
5194   <xsd:element name="simple_expression_range" type="Simple_Expression_Range"/>
5195
5196   <xsd:complexType name="Simple_Expression_Range">
5197      <xsd:sequence>
5198         <xsd:element name="lower_bound_q" type="Expression_Class"/>
5199         <xsd:element name="upper_bound_q" type="Expression_Class"/>
5200      </xsd:sequence>
5201      <xsd:attribute name="checks" type="xsd:string"/>
5202      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5203   </xsd:complexType>
5204
5205   <xsd:element name="digits_constraint" type="Digits_Constraint"/>
5206
5207   <xsd:complexType name="Digits_Constraint">
5208      <xsd:sequence>
5209         <xsd:element name="digits_expression_q" type="Expression_Class"/>
5210         <xsd:element name="real_range_constraint_q" type="Range_Constraint_Class"/>
5211      </xsd:sequence>
5212      <xsd:attribute name="checks" type="xsd:string"/>
5213      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5214   </xsd:complexType>
5215
5216   <xsd:element name="delta_constraint" type="Delta_Constraint"/>
5217
5218   <xsd:complexType name="Delta_Constraint">
5219      <xsd:sequence>
5220         <xsd:element name="delta_expression_q" type="Expression_Class"/>
5221         <xsd:element name="real_range_constraint_q" type="Range_Constraint_Class"/>
5222      </xsd:sequence>
5223      <xsd:attribute name="checks" type="xsd:string"/>
5224      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5225   </xsd:complexType>
5226
5227   <xsd:element name="index_constraint" type="Index_Constraint"/>
5228
5229   <xsd:complexType name="Index_Constraint">
5230      <xsd:sequence>
5231         <xsd:element name="discrete_ranges_ql" type="Discrete_Range_List"/>
5232      </xsd:sequence>
5233      <xsd:attribute name="checks" type="xsd:string"/>
5234      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5235   </xsd:complexType>
5236
5237   <xsd:element name="discriminant_constraint" type="Discriminant_Constraint"/>
5238
5239   <xsd:complexType name="Discriminant_Constraint">
5240      <xsd:sequence>
5241         <xsd:element name="discriminant_associations_ql" type="Discriminant_Association_List"/>
5242      </xsd:sequence>
5243      <xsd:attribute name="checks" type="xsd:string"/>
5244      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5245   </xsd:complexType>
5246
5247   <xsd:element name="component_definition" type="Component_Definition"/>
5248
5249   <xsd:complexType name="Component_Definition">
5250      <xsd:sequence>
5251         <xsd:element name="has_aliased_q">
5252            <xsd:complexType>
5253               <xsd:choice>
5254                  <xsd:element name="aliased" type="Aliased"/>
5255                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5256               </xsd:choice>
5257            </xsd:complexType>
5258         </xsd:element>
5259         <xsd:element name="component_definition_view_q" type="Definition_Class"/>
5260      </xsd:sequence>
5261      <xsd:attribute name="checks" type="xsd:string"/>
5262      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5263   </xsd:complexType>
5264
5265   <xsd:element name="discrete_subtype_indication_as_subtype_definition" type="Discrete_Subtype_Indication_As_Subtype_Definition"/>
5266
5267   <xsd:complexType name="Discrete_Subtype_Indication_As_Subtype_Definition">
5268      <xsd:sequence>
5269         <xsd:element name="subtype_mark_q" type="Expression_Class"/>
5270         <xsd:element name="subtype_constraint_q" type="Constraint_Class"/>
5271      </xsd:sequence>
5272      <xsd:attribute name="checks" type="xsd:string"/>
5273      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5274   </xsd:complexType>
5275
5276   <xsd:element name="discrete_range_attribute_reference_as_subtype_definition" type="Discrete_Range_Attribute_Reference_As_Subtype_Definition"/>
5277
5278   <xsd:complexType name="Discrete_Range_Attribute_Reference_As_Subtype_Definition">
5279      <xsd:sequence>
5280         <xsd:element name="range_attribute_q" type="Expression_Class"/>
5281      </xsd:sequence>
5282      <xsd:attribute name="checks" type="xsd:string"/>
5283      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5284   </xsd:complexType>
5285
5286   <xsd:element name="discrete_simple_expression_range_as_subtype_definition" type="Discrete_Simple_Expression_Range_As_Subtype_Definition"/>
5287
5288   <xsd:complexType name="Discrete_Simple_Expression_Range_As_Subtype_Definition">
5289      <xsd:sequence>
5290         <xsd:element name="lower_bound_q" type="Expression_Class"/>
5291         <xsd:element name="upper_bound_q" type="Expression_Class"/>
5292      </xsd:sequence>
5293      <xsd:attribute name="checks" type="xsd:string"/>
5294      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5295   </xsd:complexType>
5296
5297   <xsd:element name="discrete_subtype_indication" type="Discrete_Subtype_Indication"/>
5298
5299   <xsd:complexType name="Discrete_Subtype_Indication">
5300      <xsd:sequence>
5301         <xsd:element name="subtype_mark_q" type="Expression_Class"/>
5302         <xsd:element name="subtype_constraint_q" type="Constraint_Class"/>
5303      </xsd:sequence>
5304      <xsd:attribute name="checks" type="xsd:string"/>
5305      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5306   </xsd:complexType>
5307
5308   <xsd:element name="discrete_range_attribute_reference" type="Discrete_Range_Attribute_Reference"/>
5309
5310   <xsd:complexType name="Discrete_Range_Attribute_Reference">
5311      <xsd:sequence>
5312         <xsd:element name="range_attribute_q" type="Expression_Class"/>
5313      </xsd:sequence>
5314      <xsd:attribute name="checks" type="xsd:string"/>
5315      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5316   </xsd:complexType>
5317
5318   <xsd:element name="discrete_simple_expression_range" type="Discrete_Simple_Expression_Range"/>
5319
5320   <xsd:complexType name="Discrete_Simple_Expression_Range">
5321      <xsd:sequence>
5322         <xsd:element name="lower_bound_q" type="Expression_Class"/>
5323         <xsd:element name="upper_bound_q" type="Expression_Class"/>
5324      </xsd:sequence>
5325      <xsd:attribute name="checks" type="xsd:string"/>
5326      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5327   </xsd:complexType>
5328
5329   <xsd:element name="unknown_discriminant_part" type="Unknown_Discriminant_Part"/>
5330
5331   <xsd:complexType name="Unknown_Discriminant_Part">
5332      <xsd:attribute name="checks" type="xsd:string"/>
5333      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5334   </xsd:complexType>
5335
5336   <xsd:element name="known_discriminant_part" type="Known_Discriminant_Part"/>
5337
5338   <xsd:complexType name="Known_Discriminant_Part">
5339      <xsd:sequence>
5340         <xsd:element name="discriminants_ql" type="Discriminant_Specification_List"/>
5341      </xsd:sequence>
5342      <xsd:attribute name="checks" type="xsd:string"/>
5343      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5344   </xsd:complexType>
5345
5346   <xsd:element name="record_definition" type="Record_Definition"/>
5347
5348   <xsd:complexType name="Record_Definition">
5349      <xsd:sequence>
5350         <xsd:element name="has_limited_q">
5351            <xsd:complexType>
5352               <xsd:choice>
5353                  <xsd:element name="limited" type="Limited"/>
5354                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5355               </xsd:choice>
5356            </xsd:complexType>
5357         </xsd:element>
5358         <xsd:element name="record_components_ql" type="Record_Component_List"/>
5359      </xsd:sequence>
5360      <xsd:attribute name="checks" type="xsd:string"/>
5361      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5362   </xsd:complexType>
5363
5364   <xsd:element name="null_record_definition" type="Null_Record_Definition"/>
5365
5366   <xsd:complexType name="Null_Record_Definition">
5367      <xsd:attribute name="checks" type="xsd:string"/>
5368      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5369   </xsd:complexType>
5370
5371   <xsd:element name="null_component" type="Null_Component"/>
5372
5373   <xsd:complexType name="Null_Component">
5374      <xsd:attribute name="checks" type="xsd:string"/>
5375      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5376   </xsd:complexType>
5377
5378   <xsd:element name="variant_part" type="Variant_Part"/>
5379
5380   <xsd:complexType name="Variant_Part">
5381      <xsd:sequence>
5382         <xsd:element name="discriminant_direct_name_q" type="Name_Class"/>
5383         <xsd:element name="variants_ql" type="Variant_List"/>
5384      </xsd:sequence>
5385      <xsd:attribute name="checks" type="xsd:string"/>
5386      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5387   </xsd:complexType>
5388
5389   <xsd:element name="variant" type="Variant"/>
5390
5391   <xsd:complexType name="Variant">
5392      <xsd:sequence>
5393         <xsd:element name="variant_choices_ql" type="Element_List"/>
5394         <xsd:element name="record_components_ql" type="Record_Component_List"/>
5395      </xsd:sequence>
5396      <xsd:attribute name="checks" type="xsd:string"/>
5397      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5398   </xsd:complexType>
5399
5400   <xsd:element name="others_choice" type="Others_Choice"/>
5401
5402   <xsd:complexType name="Others_Choice">
5403      <xsd:attribute name="checks" type="xsd:string"/>
5404      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5405   </xsd:complexType>
5406
5407   <xsd:element name="anonymous_access_to_variable" type="Anonymous_Access_To_Variable"/>
5408
5409   <xsd:complexType name="Anonymous_Access_To_Variable">
5410      <xsd:sequence>
5411         <xsd:element name="has_null_exclusion_q">
5412            <xsd:complexType>
5413               <xsd:choice>
5414                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5415                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5416               </xsd:choice>
5417            </xsd:complexType>
5418         </xsd:element>
5419         <xsd:element name="anonymous_access_to_object_subtype_mark_q" type="Expression_Class"/>
5420      </xsd:sequence>
5421      <xsd:attribute name="checks" type="xsd:string"/>
5422      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5423   </xsd:complexType>
5424
5425   <xsd:element name="anonymous_access_to_constant" type="Anonymous_Access_To_Constant"/>
5426
5427   <xsd:complexType name="Anonymous_Access_To_Constant">
5428      <xsd:sequence>
5429         <xsd:element name="has_null_exclusion_q">
5430            <xsd:complexType>
5431               <xsd:choice>
5432                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5433                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5434               </xsd:choice>
5435            </xsd:complexType>
5436         </xsd:element>
5437         <xsd:element name="anonymous_access_to_object_subtype_mark_q" type="Expression_Class"/>
5438      </xsd:sequence>
5439      <xsd:attribute name="checks" type="xsd:string"/>
5440      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5441   </xsd:complexType>
5442
5443   <xsd:element name="anonymous_access_to_procedure" type="Anonymous_Access_To_Procedure"/>
5444
5445   <xsd:complexType name="Anonymous_Access_To_Procedure">
5446      <xsd:sequence>
5447         <xsd:element name="has_null_exclusion_q">
5448            <xsd:complexType>
5449               <xsd:choice>
5450                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5451                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5452               </xsd:choice>
5453            </xsd:complexType>
5454         </xsd:element>
5455         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5456      </xsd:sequence>
5457      <xsd:attribute name="checks" type="xsd:string"/>
5458      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5459   </xsd:complexType>
5460
5461   <xsd:element name="anonymous_access_to_protected_procedure" type="Anonymous_Access_To_Protected_Procedure"/>
5462
5463   <xsd:complexType name="Anonymous_Access_To_Protected_Procedure">
5464      <xsd:sequence>
5465         <xsd:element name="has_null_exclusion_q">
5466            <xsd:complexType>
5467               <xsd:choice>
5468                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5469                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5470               </xsd:choice>
5471            </xsd:complexType>
5472         </xsd:element>
5473         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5474      </xsd:sequence>
5475      <xsd:attribute name="checks" type="xsd:string"/>
5476      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5477   </xsd:complexType>
5478
5479   <xsd:element name="anonymous_access_to_function" type="Anonymous_Access_To_Function"/>
5480
5481   <xsd:complexType name="Anonymous_Access_To_Function">
5482      <xsd:sequence>
5483         <xsd:element name="has_null_exclusion_q">
5484            <xsd:complexType>
5485               <xsd:choice>
5486                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5487                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5488               </xsd:choice>
5489            </xsd:complexType>
5490         </xsd:element>
5491         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5492         <xsd:element name="is_not_null_return_q">
5493            <xsd:complexType>
5494               <xsd:choice>
5495                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5496                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5497               </xsd:choice>
5498            </xsd:complexType>
5499         </xsd:element>
5500         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5501      </xsd:sequence>
5502      <xsd:attribute name="checks" type="xsd:string"/>
5503      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5504   </xsd:complexType>
5505
5506   <xsd:element name="anonymous_access_to_protected_function" type="Anonymous_Access_To_Protected_Function"/>
5507
5508   <xsd:complexType name="Anonymous_Access_To_Protected_Function">
5509      <xsd:sequence>
5510         <xsd:element name="has_null_exclusion_q">
5511            <xsd:complexType>
5512               <xsd:choice>
5513                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5514                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5515               </xsd:choice>
5516            </xsd:complexType>
5517         </xsd:element>
5518         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5519         <xsd:element name="is_not_null_return_q">
5520            <xsd:complexType>
5521               <xsd:choice>
5522                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5523                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5524               </xsd:choice>
5525            </xsd:complexType>
5526         </xsd:element>
5527         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5528      </xsd:sequence>
5529      <xsd:attribute name="checks" type="xsd:string"/>
5530      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5531   </xsd:complexType>
5532
5533   <xsd:element name="private_type_definition" type="Private_Type_Definition"/>
5534
5535   <xsd:complexType name="Private_Type_Definition">
5536      <xsd:sequence>
5537         <xsd:element name="has_abstract_q">
5538            <xsd:complexType>
5539               <xsd:choice>
5540                  <xsd:element name="abstract" type="Abstract"/>
5541                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5542               </xsd:choice>
5543            </xsd:complexType>
5544         </xsd:element>
5545         <xsd:element name="has_limited_q">
5546            <xsd:complexType>
5547               <xsd:choice>
5548                  <xsd:element name="limited" type="Limited"/>
5549                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5550               </xsd:choice>
5551            </xsd:complexType>
5552         </xsd:element>
5553      </xsd:sequence>
5554      <xsd:attribute name="checks" type="xsd:string"/>
5555      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5556   </xsd:complexType>
5557
5558   <xsd:element name="tagged_private_type_definition" type="Tagged_Private_Type_Definition"/>
5559
5560   <xsd:complexType name="Tagged_Private_Type_Definition">
5561      <xsd:sequence>
5562         <xsd:element name="has_abstract_q">
5563            <xsd:complexType>
5564               <xsd:choice>
5565                  <xsd:element name="abstract" type="Abstract"/>
5566                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5567               </xsd:choice>
5568            </xsd:complexType>
5569         </xsd:element>
5570         <xsd:element name="has_limited_q">
5571            <xsd:complexType>
5572               <xsd:choice>
5573                  <xsd:element name="limited" type="Limited"/>
5574                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5575               </xsd:choice>
5576            </xsd:complexType>
5577         </xsd:element>
5578      </xsd:sequence>
5579      <xsd:attribute name="checks" type="xsd:string"/>
5580      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5581   </xsd:complexType>
5582
5583   <xsd:element name="private_extension_definition" type="Private_Extension_Definition"/>
5584
5585   <xsd:complexType name="Private_Extension_Definition">
5586      <xsd:sequence>
5587         <xsd:element name="has_abstract_q">
5588            <xsd:complexType>
5589               <xsd:choice>
5590                  <xsd:element name="abstract" type="Abstract"/>
5591                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5592               </xsd:choice>
5593            </xsd:complexType>
5594         </xsd:element>
5595         <xsd:element name="has_limited_q">
5596            <xsd:complexType>
5597               <xsd:choice>
5598                  <xsd:element name="limited" type="Limited"/>
5599                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5600               </xsd:choice>
5601            </xsd:complexType>
5602         </xsd:element>
5603         <xsd:element name="has_synchronized_q">
5604            <xsd:complexType>
5605               <xsd:choice>
5606                  <xsd:element name="synchronized" type="Synchronized"/>
5607                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5608               </xsd:choice>
5609            </xsd:complexType>
5610         </xsd:element>
5611         <xsd:element name="ancestor_subtype_indication_q" type="Element_Class"/>
5612         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5613      </xsd:sequence>
5614      <xsd:attribute name="checks" type="xsd:string"/>
5615      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5616   </xsd:complexType>
5617
5618   <xsd:element name="task_definition" type="Task_Definition"/>
5619
5620   <xsd:complexType name="Task_Definition">
5621      <xsd:sequence>
5622         <xsd:element name="visible_part_items_ql" type="Declarative_Item_List"/>
5623         <xsd:element name="private_part_items_ql" type="Declarative_Item_List"/>
5624      </xsd:sequence>
5625      <xsd:attribute name="checks" type="xsd:string"/>
5626      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5627   </xsd:complexType>
5628
5629   <xsd:element name="protected_definition" type="Protected_Definition"/>
5630
5631   <xsd:complexType name="Protected_Definition">
5632      <xsd:sequence>
5633         <xsd:element name="visible_part_items_ql" type="Declarative_Item_List"/>
5634         <xsd:element name="private_part_items_ql" type="Declarative_Item_List"/>
5635      </xsd:sequence>
5636      <xsd:attribute name="checks" type="xsd:string"/>
5637      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5638   </xsd:complexType>
5639
5640   <xsd:element name="formal_private_type_definition" type="Formal_Private_Type_Definition"/>
5641
5642   <xsd:complexType name="Formal_Private_Type_Definition">
5643      <xsd:sequence>
5644         <xsd:element name="has_abstract_q">
5645            <xsd:complexType>
5646               <xsd:choice>
5647                  <xsd:element name="abstract" type="Abstract"/>
5648                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5649               </xsd:choice>
5650            </xsd:complexType>
5651         </xsd:element>
5652         <xsd:element name="has_limited_q">
5653            <xsd:complexType>
5654               <xsd:choice>
5655                  <xsd:element name="limited" type="Limited"/>
5656                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5657               </xsd:choice>
5658            </xsd:complexType>
5659         </xsd:element>
5660      </xsd:sequence>
5661      <xsd:attribute name="checks" type="xsd:string"/>
5662      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5663   </xsd:complexType>
5664
5665   <xsd:element name="formal_tagged_private_type_definition" type="Formal_Tagged_Private_Type_Definition"/>
5666
5667   <xsd:complexType name="Formal_Tagged_Private_Type_Definition">
5668      <xsd:sequence>
5669         <xsd:element name="has_abstract_q">
5670            <xsd:complexType>
5671               <xsd:choice>
5672                  <xsd:element name="abstract" type="Abstract"/>
5673                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5674               </xsd:choice>
5675            </xsd:complexType>
5676         </xsd:element>
5677         <xsd:element name="has_limited_q">
5678            <xsd:complexType>
5679               <xsd:choice>
5680                  <xsd:element name="limited" type="Limited"/>
5681                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5682               </xsd:choice>
5683            </xsd:complexType>
5684         </xsd:element>
5685      </xsd:sequence>
5686      <xsd:attribute name="checks" type="xsd:string"/>
5687      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5688   </xsd:complexType>
5689
5690   <xsd:element name="formal_derived_type_definition" type="Formal_Derived_Type_Definition"/>
5691
5692   <xsd:complexType name="Formal_Derived_Type_Definition">
5693      <xsd:sequence>
5694         <xsd:element name="has_abstract_q">
5695            <xsd:complexType>
5696               <xsd:choice>
5697                  <xsd:element name="abstract" type="Abstract"/>
5698                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5699               </xsd:choice>
5700            </xsd:complexType>
5701         </xsd:element>
5702         <xsd:element name="has_limited_q">
5703            <xsd:complexType>
5704               <xsd:choice>
5705                  <xsd:element name="limited" type="Limited"/>
5706                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5707               </xsd:choice>
5708            </xsd:complexType>
5709         </xsd:element>
5710         <xsd:element name="has_synchronized_q">
5711            <xsd:complexType>
5712               <xsd:choice>
5713                  <xsd:element name="synchronized" type="Synchronized"/>
5714                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5715               </xsd:choice>
5716            </xsd:complexType>
5717         </xsd:element>
5718         <xsd:element name="subtype_mark_q" type="Expression_Class"/>
5719         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5720         <xsd:element name="has_private_q">
5721            <xsd:complexType>
5722               <xsd:choice>
5723                  <xsd:element name="private" type="Private"/>
5724                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5725               </xsd:choice>
5726            </xsd:complexType>
5727         </xsd:element>
5728      </xsd:sequence>
5729      <xsd:attribute name="checks" type="xsd:string"/>
5730      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5731   </xsd:complexType>
5732
5733   <xsd:element name="formal_discrete_type_definition" type="Formal_Discrete_Type_Definition"/>
5734
5735   <xsd:complexType name="Formal_Discrete_Type_Definition">
5736      <xsd:attribute name="checks" type="xsd:string"/>
5737      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5738   </xsd:complexType>
5739
5740   <xsd:element name="formal_signed_integer_type_definition" type="Formal_Signed_Integer_Type_Definition"/>
5741
5742   <xsd:complexType name="Formal_Signed_Integer_Type_Definition">
5743      <xsd:attribute name="checks" type="xsd:string"/>
5744      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5745   </xsd:complexType>
5746
5747   <xsd:element name="formal_modular_type_definition" type="Formal_Modular_Type_Definition"/>
5748
5749   <xsd:complexType name="Formal_Modular_Type_Definition">
5750      <xsd:attribute name="checks" type="xsd:string"/>
5751      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5752   </xsd:complexType>
5753
5754   <xsd:element name="formal_floating_point_definition" type="Formal_Floating_Point_Definition"/>
5755
5756   <xsd:complexType name="Formal_Floating_Point_Definition">
5757      <xsd:attribute name="checks" type="xsd:string"/>
5758      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5759   </xsd:complexType>
5760
5761   <xsd:element name="formal_ordinary_fixed_point_definition" type="Formal_Ordinary_Fixed_Point_Definition"/>
5762
5763   <xsd:complexType name="Formal_Ordinary_Fixed_Point_Definition">
5764      <xsd:attribute name="checks" type="xsd:string"/>
5765      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5766   </xsd:complexType>
5767
5768   <xsd:element name="formal_decimal_fixed_point_definition" type="Formal_Decimal_Fixed_Point_Definition"/>
5769
5770   <xsd:complexType name="Formal_Decimal_Fixed_Point_Definition">
5771      <xsd:attribute name="checks" type="xsd:string"/>
5772      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5773   </xsd:complexType>
5774
5775   <xsd:element name="formal_ordinary_interface" type="Formal_Ordinary_Interface"/>
5776
5777   <xsd:complexType name="Formal_Ordinary_Interface">
5778      <xsd:sequence>
5779         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5780      </xsd:sequence>
5781      <xsd:attribute name="checks" type="xsd:string"/>
5782      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5783   </xsd:complexType>
5784
5785   <xsd:element name="formal_limited_interface" type="Formal_Limited_Interface"/>
5786
5787   <xsd:complexType name="Formal_Limited_Interface">
5788      <xsd:sequence>
5789         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5790      </xsd:sequence>
5791      <xsd:attribute name="checks" type="xsd:string"/>
5792      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5793   </xsd:complexType>
5794
5795   <xsd:element name="formal_task_interface" type="Formal_Task_Interface"/>
5796
5797   <xsd:complexType name="Formal_Task_Interface">
5798      <xsd:sequence>
5799         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5800      </xsd:sequence>
5801      <xsd:attribute name="checks" type="xsd:string"/>
5802      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5803   </xsd:complexType>
5804
5805   <xsd:element name="formal_protected_interface" type="Formal_Protected_Interface"/>
5806
5807   <xsd:complexType name="Formal_Protected_Interface">
5808      <xsd:sequence>
5809         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5810      </xsd:sequence>
5811      <xsd:attribute name="checks" type="xsd:string"/>
5812      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5813   </xsd:complexType>
5814
5815   <xsd:element name="formal_synchronized_interface" type="Formal_Synchronized_Interface"/>
5816
5817   <xsd:complexType name="Formal_Synchronized_Interface">
5818      <xsd:sequence>
5819         <xsd:element name="definition_interface_list_ql" type="Expression_List"/>
5820      </xsd:sequence>
5821      <xsd:attribute name="checks" type="xsd:string"/>
5822      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5823   </xsd:complexType>
5824
5825   <xsd:element name="formal_unconstrained_array_definition" type="Formal_Unconstrained_Array_Definition"/>
5826
5827   <xsd:complexType name="Formal_Unconstrained_Array_Definition">
5828      <xsd:sequence>
5829         <xsd:element name="index_subtype_definitions_ql" type="Expression_List"/>
5830         <xsd:element name="array_component_definition_q" type="Element_Class"/>
5831      </xsd:sequence>
5832      <xsd:attribute name="checks" type="xsd:string"/>
5833      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5834   </xsd:complexType>
5835
5836   <xsd:element name="formal_constrained_array_definition" type="Formal_Constrained_Array_Definition"/>
5837
5838   <xsd:complexType name="Formal_Constrained_Array_Definition">
5839      <xsd:sequence>
5840         <xsd:element name="discrete_subtype_definitions_ql" type="Definition_List"/>
5841         <xsd:element name="array_component_definition_q" type="Element_Class"/>
5842      </xsd:sequence>
5843      <xsd:attribute name="checks" type="xsd:string"/>
5844      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5845   </xsd:complexType>
5846
5847   <xsd:element name="formal_pool_specific_access_to_variable" type="Formal_Pool_Specific_Access_To_Variable"/>
5848
5849   <xsd:complexType name="Formal_Pool_Specific_Access_To_Variable">
5850      <xsd:sequence>
5851         <xsd:element name="has_null_exclusion_q">
5852            <xsd:complexType>
5853               <xsd:choice>
5854                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5855                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5856               </xsd:choice>
5857            </xsd:complexType>
5858         </xsd:element>
5859         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5860      </xsd:sequence>
5861      <xsd:attribute name="checks" type="xsd:string"/>
5862      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5863   </xsd:complexType>
5864
5865   <xsd:element name="formal_access_to_variable" type="Formal_Access_To_Variable"/>
5866
5867   <xsd:complexType name="Formal_Access_To_Variable">
5868      <xsd:sequence>
5869         <xsd:element name="has_null_exclusion_q">
5870            <xsd:complexType>
5871               <xsd:choice>
5872                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5873                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5874               </xsd:choice>
5875            </xsd:complexType>
5876         </xsd:element>
5877         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5878      </xsd:sequence>
5879      <xsd:attribute name="checks" type="xsd:string"/>
5880      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5881   </xsd:complexType>
5882
5883   <xsd:element name="formal_access_to_constant" type="Formal_Access_To_Constant"/>
5884
5885   <xsd:complexType name="Formal_Access_To_Constant">
5886      <xsd:sequence>
5887         <xsd:element name="has_null_exclusion_q">
5888            <xsd:complexType>
5889               <xsd:choice>
5890                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5891                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5892               </xsd:choice>
5893            </xsd:complexType>
5894         </xsd:element>
5895         <xsd:element name="access_to_object_definition_q" type="Element_Class"/>
5896      </xsd:sequence>
5897      <xsd:attribute name="checks" type="xsd:string"/>
5898      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5899   </xsd:complexType>
5900
5901   <xsd:element name="formal_access_to_procedure" type="Formal_Access_To_Procedure"/>
5902
5903   <xsd:complexType name="Formal_Access_To_Procedure">
5904      <xsd:sequence>
5905         <xsd:element name="has_null_exclusion_q">
5906            <xsd:complexType>
5907               <xsd:choice>
5908                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5909                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5910               </xsd:choice>
5911            </xsd:complexType>
5912         </xsd:element>
5913         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5914      </xsd:sequence>
5915      <xsd:attribute name="checks" type="xsd:string"/>
5916      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5917   </xsd:complexType>
5918
5919   <xsd:element name="formal_access_to_protected_procedure" type="Formal_Access_To_Protected_Procedure"/>
5920
5921   <xsd:complexType name="Formal_Access_To_Protected_Procedure">
5922      <xsd:sequence>
5923         <xsd:element name="has_null_exclusion_q">
5924            <xsd:complexType>
5925               <xsd:choice>
5926                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5927                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5928               </xsd:choice>
5929            </xsd:complexType>
5930         </xsd:element>
5931         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5932      </xsd:sequence>
5933      <xsd:attribute name="checks" type="xsd:string"/>
5934      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5935   </xsd:complexType>
5936
5937   <xsd:element name="formal_access_to_function" type="Formal_Access_To_Function"/>
5938
5939   <xsd:complexType name="Formal_Access_To_Function">
5940      <xsd:sequence>
5941         <xsd:element name="has_null_exclusion_q">
5942            <xsd:complexType>
5943               <xsd:choice>
5944                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5945                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5946               </xsd:choice>
5947            </xsd:complexType>
5948         </xsd:element>
5949         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5950         <xsd:element name="is_not_null_return_q">
5951            <xsd:complexType>
5952               <xsd:choice>
5953                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5954                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5955               </xsd:choice>
5956            </xsd:complexType>
5957         </xsd:element>
5958         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5959      </xsd:sequence>
5960      <xsd:attribute name="checks" type="xsd:string"/>
5961      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5962   </xsd:complexType>
5963
5964   <xsd:element name="formal_access_to_protected_function" type="Formal_Access_To_Protected_Function"/>
5965
5966   <xsd:complexType name="Formal_Access_To_Protected_Function">
5967      <xsd:sequence>
5968         <xsd:element name="has_null_exclusion_q">
5969            <xsd:complexType>
5970               <xsd:choice>
5971                  <xsd:element name="null_exclusion" type="Null_Exclusion"/>
5972                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5973               </xsd:choice>
5974            </xsd:complexType>
5975         </xsd:element>
5976         <xsd:element name="access_to_subprogram_parameter_profile_ql" type="Parameter_Specification_List"/>
5977         <xsd:element name="is_not_null_return_q">
5978            <xsd:complexType>
5979               <xsd:choice>
5980                  <xsd:element name="not_null_return" type="Not_Null_Return"/>
5981                  <xsd:element name="not_an_element" type="Not_An_Element"/>
5982               </xsd:choice>
5983            </xsd:complexType>
5984         </xsd:element>
5985         <xsd:element name="access_to_function_result_profile_q" type="Element_Class"/>
5986      </xsd:sequence>
5987      <xsd:attribute name="checks" type="xsd:string"/>
5988      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
5989   </xsd:complexType>
5990
5991   <xsd:element name="aspect_specification" type="Aspect_Specification"/>
5992
5993   <xsd:complexType name="Aspect_Specification">
5994      <xsd:sequence>
5995         <xsd:element name="aspect_mark_q" type="Element_Class"/>
5996         <xsd:element name="aspect_definition_q" type="Element_Class"/>
5997      </xsd:sequence>
5998      <xsd:attribute name="checks" type="xsd:string"/>
5999      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6000   </xsd:complexType>
6001
6002   <xsd:element name="box_expression" type="Box_Expression"/>
6003
6004   <xsd:complexType name="Box_Expression">
6005      <xsd:attribute name="type" type="xsd:string" use="required"/>
6006      <xsd:attribute name="checks" type="xsd:string"/>
6007      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6008   </xsd:complexType>
6009
6010   <xsd:element name="integer_literal" type="Integer_Literal"/>
6011
6012   <xsd:complexType name="Integer_Literal">
6013      <xsd:attribute name="lit_val" type="xsd:string" use="required"/>
6014      <xsd:attribute name="type" type="xsd:string" use="required"/>
6015      <xsd:attribute name="checks" type="xsd:string"/>
6016      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6017   </xsd:complexType>
6018
6019   <xsd:element name="real_literal" type="Real_Literal"/>
6020
6021   <xsd:complexType name="Real_Literal">
6022      <xsd:attribute name="lit_val" type="xsd:string" use="required"/>
6023      <xsd:attribute name="type" type="xsd:string" use="required"/>
6024      <xsd:attribute name="checks" type="xsd:string"/>
6025      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6026   </xsd:complexType>
6027
6028   <xsd:element name="string_literal" type="String_Literal"/>
6029
6030   <xsd:complexType name="String_Literal">
6031      <xsd:attribute name="lit_val" type="xsd:string" use="required"/>
6032      <xsd:attribute name="type" type="xsd:string" use="required"/>
6033      <xsd:attribute name="checks" type="xsd:string"/>
6034      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6035   </xsd:complexType>
6036
6037   <xsd:element name="explicit_dereference" type="Explicit_Dereference"/>
6038
6039   <xsd:complexType name="Explicit_Dereference">
6040      <xsd:sequence>
6041         <xsd:element name="prefix_q" type="Expression_Class"/>
6042      </xsd:sequence>
6043      <xsd:attribute name="type" type="xsd:string" use="required"/>
6044      <xsd:attribute name="checks" type="xsd:string"/>
6045      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6046   </xsd:complexType>
6047
6048   <xsd:element name="function_call" type="Function_Call"/>
6049
6050   <xsd:complexType name="Function_Call">
6051      <xsd:sequence>
6052         <xsd:element name="prefix_q" type="Expression_Class"/>
6053         <xsd:element name="function_call_parameters_ql" type="Association_List"/>
6054         <xsd:element name="is_prefix_call_q">
6055            <xsd:complexType>
6056               <xsd:choice>
6057                  <xsd:element name="is_prefix_call" type="Is_Prefix_Call"/>
6058                  <xsd:element name="not_an_element" type="Not_An_Element"/>
6059               </xsd:choice>
6060            </xsd:complexType>
6061         </xsd:element>
6062         <xsd:element name="is_prefix_notation_q">
6063            <xsd:complexType>
6064               <xsd:choice>
6065                  <xsd:element name="is_prefix_notation" type="Is_Prefix_Notation"/>
6066                  <xsd:element name="not_an_element" type="Not_An_Element"/>
6067               </xsd:choice>
6068            </xsd:complexType>
6069         </xsd:element>
6070      </xsd:sequence>
6071      <xsd:attribute name="type" type="xsd:string" use="required"/>
6072      <xsd:attribute name="checks" type="xsd:string"/>
6073      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6074   </xsd:complexType>
6075
6076   <xsd:element name="indexed_component" type="Indexed_Component"/>
6077
6078   <xsd:complexType name="Indexed_Component">
6079      <xsd:sequence>
6080         <xsd:element name="prefix_q" type="Expression_Class"/>
6081         <xsd:element name="index_expressions_ql" type="Expression_List"/>
6082      </xsd:sequence>
6083      <xsd:attribute name="type" type="xsd:string" use="required"/>
6084      <xsd:attribute name="checks" type="xsd:string"/>
6085      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6086   </xsd:complexType>
6087
6088   <xsd:element name="slice" type="Slice"/>
6089
6090   <xsd:complexType name="Slice">
6091      <xsd:sequence>
6092         <xsd:element name="prefix_q" type="Expression_Class"/>
6093         <xsd:element name="slice_range_q" type="Discrete_Range_Class"/>
6094      </xsd:sequence>
6095      <xsd:attribute name="type" type="xsd:string" use="required"/>
6096      <xsd:attribute name="checks" type="xsd:string"/>
6097      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6098   </xsd:complexType>
6099
6100   <xsd:element name="selected_component" type="Selected_Component"/>
6101
6102   <xsd:complexType name="Selected_Component">
6103      <xsd:sequence>
6104         <xsd:element name="prefix_q" type="Expression_Class"/>
6105         <xsd:element name="selector_q" type="Expression_Class"/>
6106      </xsd:sequence>
6107      <xsd:attribute name="type" type="xsd:string" use="required"/>
6108      <xsd:attribute name="checks" type="xsd:string"/>
6109      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6110   </xsd:complexType>
6111
6112   <xsd:element name="access_attribute" type="Access_Attribute"/>
6113
6114   <xsd:complexType name="Access_Attribute">
6115      <xsd:sequence>
6116         <xsd:element name="prefix_q" type="Expression_Class"/>
6117         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6118      </xsd:sequence>
6119      <xsd:attribute name="type" type="xsd:string" use="required"/>
6120      <xsd:attribute name="checks" type="xsd:string"/>
6121      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6122   </xsd:complexType>
6123
6124   <xsd:element name="address_attribute" type="Address_Attribute"/>
6125
6126   <xsd:complexType name="Address_Attribute">
6127      <xsd:sequence>
6128         <xsd:element name="prefix_q" type="Expression_Class"/>
6129         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6130      </xsd:sequence>
6131      <xsd:attribute name="type" type="xsd:string" use="required"/>
6132      <xsd:attribute name="checks" type="xsd:string"/>
6133      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6134   </xsd:complexType>
6135
6136   <xsd:element name="adjacent_attribute" type="Adjacent_Attribute"/>
6137
6138   <xsd:complexType name="Adjacent_Attribute">
6139      <xsd:sequence>
6140         <xsd:element name="prefix_q" type="Expression_Class"/>
6141         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6142      </xsd:sequence>
6143      <xsd:attribute name="type" type="xsd:string" use="required"/>
6144      <xsd:attribute name="checks" type="xsd:string"/>
6145      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6146   </xsd:complexType>
6147
6148   <xsd:element name="aft_attribute" type="Aft_Attribute"/>
6149
6150   <xsd:complexType name="Aft_Attribute">
6151      <xsd:sequence>
6152         <xsd:element name="prefix_q" type="Expression_Class"/>
6153         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6154      </xsd:sequence>
6155      <xsd:attribute name="type" type="xsd:string" use="required"/>
6156      <xsd:attribute name="checks" type="xsd:string"/>
6157      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6158   </xsd:complexType>
6159
6160   <xsd:element name="alignment_attribute" type="Alignment_Attribute"/>
6161
6162   <xsd:complexType name="Alignment_Attribute">
6163      <xsd:sequence>
6164         <xsd:element name="prefix_q" type="Expression_Class"/>
6165         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6166      </xsd:sequence>
6167      <xsd:attribute name="type" type="xsd:string" use="required"/>
6168      <xsd:attribute name="checks" type="xsd:string"/>
6169      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6170   </xsd:complexType>
6171
6172   <xsd:element name="base_attribute" type="Base_Attribute"/>
6173
6174   <xsd:complexType name="Base_Attribute">
6175      <xsd:sequence>
6176         <xsd:element name="prefix_q" type="Expression_Class"/>
6177         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6178      </xsd:sequence>
6179      <xsd:attribute name="type" type="xsd:string" use="required"/>
6180      <xsd:attribute name="checks" type="xsd:string"/>
6181      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6182   </xsd:complexType>
6183
6184   <xsd:element name="bit_order_attribute" type="Bit_Order_Attribute"/>
6185
6186   <xsd:complexType name="Bit_Order_Attribute">
6187      <xsd:sequence>
6188         <xsd:element name="prefix_q" type="Expression_Class"/>
6189         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6190      </xsd:sequence>
6191      <xsd:attribute name="type" type="xsd:string" use="required"/>
6192      <xsd:attribute name="checks" type="xsd:string"/>
6193      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6194   </xsd:complexType>
6195
6196   <xsd:element name="body_version_attribute" type="Body_Version_Attribute"/>
6197
6198   <xsd:complexType name="Body_Version_Attribute">
6199      <xsd:sequence>
6200         <xsd:element name="prefix_q" type="Expression_Class"/>
6201         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6202      </xsd:sequence>
6203      <xsd:attribute name="type" type="xsd:string" use="required"/>
6204      <xsd:attribute name="checks" type="xsd:string"/>
6205      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6206   </xsd:complexType>
6207
6208   <xsd:element name="callable_attribute" type="Callable_Attribute"/>
6209
6210   <xsd:complexType name="Callable_Attribute">
6211      <xsd:sequence>
6212         <xsd:element name="prefix_q" type="Expression_Class"/>
6213         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6214      </xsd:sequence>
6215      <xsd:attribute name="type" type="xsd:string" use="required"/>
6216      <xsd:attribute name="checks" type="xsd:string"/>
6217      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6218   </xsd:complexType>
6219
6220   <xsd:element name="caller_attribute" type="Caller_Attribute"/>
6221
6222   <xsd:complexType name="Caller_Attribute">
6223      <xsd:sequence>
6224         <xsd:element name="prefix_q" type="Expression_Class"/>
6225         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6226      </xsd:sequence>
6227      <xsd:attribute name="type" type="xsd:string" use="required"/>
6228      <xsd:attribute name="checks" type="xsd:string"/>
6229      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6230   </xsd:complexType>
6231
6232   <xsd:element name="ceiling_attribute" type="Ceiling_Attribute"/>
6233
6234   <xsd:complexType name="Ceiling_Attribute">
6235      <xsd:sequence>
6236         <xsd:element name="prefix_q" type="Expression_Class"/>
6237         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6238      </xsd:sequence>
6239      <xsd:attribute name="type" type="xsd:string" use="required"/>
6240      <xsd:attribute name="checks" type="xsd:string"/>
6241      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6242   </xsd:complexType>
6243
6244   <xsd:element name="class_attribute" type="Class_Attribute"/>
6245
6246   <xsd:complexType name="Class_Attribute">
6247      <xsd:sequence>
6248         <xsd:element name="prefix_q" type="Expression_Class"/>
6249         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6250      </xsd:sequence>
6251      <xsd:attribute name="type" type="xsd:string" use="required"/>
6252      <xsd:attribute name="checks" type="xsd:string"/>
6253      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6254   </xsd:complexType>
6255
6256   <xsd:element name="component_size_attribute" type="Component_Size_Attribute"/>
6257
6258   <xsd:complexType name="Component_Size_Attribute">
6259      <xsd:sequence>
6260         <xsd:element name="prefix_q" type="Expression_Class"/>
6261         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6262      </xsd:sequence>
6263      <xsd:attribute name="type" type="xsd:string" use="required"/>
6264      <xsd:attribute name="checks" type="xsd:string"/>
6265      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6266   </xsd:complexType>
6267
6268   <xsd:element name="compose_attribute" type="Compose_Attribute"/>
6269
6270   <xsd:complexType name="Compose_Attribute">
6271      <xsd:sequence>
6272         <xsd:element name="prefix_q" type="Expression_Class"/>
6273         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6274      </xsd:sequence>
6275      <xsd:attribute name="type" type="xsd:string" use="required"/>
6276      <xsd:attribute name="checks" type="xsd:string"/>
6277      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6278   </xsd:complexType>
6279
6280   <xsd:element name="constrained_attribute" type="Constrained_Attribute"/>
6281
6282   <xsd:complexType name="Constrained_Attribute">
6283      <xsd:sequence>
6284         <xsd:element name="prefix_q" type="Expression_Class"/>
6285         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6286      </xsd:sequence>
6287      <xsd:attribute name="type" type="xsd:string" use="required"/>
6288      <xsd:attribute name="checks" type="xsd:string"/>
6289      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6290   </xsd:complexType>
6291
6292   <xsd:element name="copy_sign_attribute" type="Copy_Sign_Attribute"/>
6293
6294   <xsd:complexType name="Copy_Sign_Attribute">
6295      <xsd:sequence>
6296         <xsd:element name="prefix_q" type="Expression_Class"/>
6297         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6298      </xsd:sequence>
6299      <xsd:attribute name="type" type="xsd:string" use="required"/>
6300      <xsd:attribute name="checks" type="xsd:string"/>
6301      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6302   </xsd:complexType>
6303
6304   <xsd:element name="count_attribute" type="Count_Attribute"/>
6305
6306   <xsd:complexType name="Count_Attribute">
6307      <xsd:sequence>
6308         <xsd:element name="prefix_q" type="Expression_Class"/>
6309         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6310      </xsd:sequence>
6311      <xsd:attribute name="type" type="xsd:string" use="required"/>
6312      <xsd:attribute name="checks" type="xsd:string"/>
6313      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6314   </xsd:complexType>
6315
6316   <xsd:element name="definite_attribute" type="Definite_Attribute"/>
6317
6318   <xsd:complexType name="Definite_Attribute">
6319      <xsd:sequence>
6320         <xsd:element name="prefix_q" type="Expression_Class"/>
6321         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6322      </xsd:sequence>
6323      <xsd:attribute name="type" type="xsd:string" use="required"/>
6324      <xsd:attribute name="checks" type="xsd:string"/>
6325      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6326   </xsd:complexType>
6327
6328   <xsd:element name="delta_attribute" type="Delta_Attribute"/>
6329
6330   <xsd:complexType name="Delta_Attribute">
6331      <xsd:sequence>
6332         <xsd:element name="prefix_q" type="Expression_Class"/>
6333         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6334      </xsd:sequence>
6335      <xsd:attribute name="type" type="xsd:string" use="required"/>
6336      <xsd:attribute name="checks" type="xsd:string"/>
6337      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6338   </xsd:complexType>
6339
6340   <xsd:element name="denorm_attribute" type="Denorm_Attribute"/>
6341
6342   <xsd:complexType name="Denorm_Attribute">
6343      <xsd:sequence>
6344         <xsd:element name="prefix_q" type="Expression_Class"/>
6345         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6346      </xsd:sequence>
6347      <xsd:attribute name="type" type="xsd:string" use="required"/>
6348      <xsd:attribute name="checks" type="xsd:string"/>
6349      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6350   </xsd:complexType>
6351
6352   <xsd:element name="digits_attribute" type="Digits_Attribute"/>
6353
6354   <xsd:complexType name="Digits_Attribute">
6355      <xsd:sequence>
6356         <xsd:element name="prefix_q" type="Expression_Class"/>
6357         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6358      </xsd:sequence>
6359      <xsd:attribute name="type" type="xsd:string" use="required"/>
6360      <xsd:attribute name="checks" type="xsd:string"/>
6361      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6362   </xsd:complexType>
6363
6364   <xsd:element name="exponent_attribute" type="Exponent_Attribute"/>
6365
6366   <xsd:complexType name="Exponent_Attribute">
6367      <xsd:sequence>
6368         <xsd:element name="prefix_q" type="Expression_Class"/>
6369         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6370      </xsd:sequence>
6371      <xsd:attribute name="type" type="xsd:string" use="required"/>
6372      <xsd:attribute name="checks" type="xsd:string"/>
6373      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6374   </xsd:complexType>
6375
6376   <xsd:element name="external_tag_attribute" type="External_Tag_Attribute"/>
6377
6378   <xsd:complexType name="External_Tag_Attribute">
6379      <xsd:sequence>
6380         <xsd:element name="prefix_q" type="Expression_Class"/>
6381         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6382      </xsd:sequence>
6383      <xsd:attribute name="type" type="xsd:string" use="required"/>
6384      <xsd:attribute name="checks" type="xsd:string"/>
6385      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6386   </xsd:complexType>
6387
6388   <xsd:element name="first_attribute" type="First_Attribute"/>
6389
6390   <xsd:complexType name="First_Attribute">
6391      <xsd:sequence>
6392         <xsd:element name="prefix_q" type="Expression_Class"/>
6393         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6394         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
6395      </xsd:sequence>
6396      <xsd:attribute name="type" type="xsd:string" use="required"/>
6397      <xsd:attribute name="checks" type="xsd:string"/>
6398      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6399   </xsd:complexType>
6400
6401   <xsd:element name="first_bit_attribute" type="First_Bit_Attribute"/>
6402
6403   <xsd:complexType name="First_Bit_Attribute">
6404      <xsd:sequence>
6405         <xsd:element name="prefix_q" type="Expression_Class"/>
6406         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6407      </xsd:sequence>
6408      <xsd:attribute name="type" type="xsd:string" use="required"/>
6409      <xsd:attribute name="checks" type="xsd:string"/>
6410      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6411   </xsd:complexType>
6412
6413   <xsd:element name="floor_attribute" type="Floor_Attribute"/>
6414
6415   <xsd:complexType name="Floor_Attribute">
6416      <xsd:sequence>
6417         <xsd:element name="prefix_q" type="Expression_Class"/>
6418         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6419      </xsd:sequence>
6420      <xsd:attribute name="type" type="xsd:string" use="required"/>
6421      <xsd:attribute name="checks" type="xsd:string"/>
6422      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6423   </xsd:complexType>
6424
6425   <xsd:element name="fore_attribute" type="Fore_Attribute"/>
6426
6427   <xsd:complexType name="Fore_Attribute">
6428      <xsd:sequence>
6429         <xsd:element name="prefix_q" type="Expression_Class"/>
6430         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6431      </xsd:sequence>
6432      <xsd:attribute name="type" type="xsd:string" use="required"/>
6433      <xsd:attribute name="checks" type="xsd:string"/>
6434      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6435   </xsd:complexType>
6436
6437   <xsd:element name="fraction_attribute" type="Fraction_Attribute"/>
6438
6439   <xsd:complexType name="Fraction_Attribute">
6440      <xsd:sequence>
6441         <xsd:element name="prefix_q" type="Expression_Class"/>
6442         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6443      </xsd:sequence>
6444      <xsd:attribute name="type" type="xsd:string" use="required"/>
6445      <xsd:attribute name="checks" type="xsd:string"/>
6446      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6447   </xsd:complexType>
6448
6449   <xsd:element name="identity_attribute" type="Identity_Attribute"/>
6450
6451   <xsd:complexType name="Identity_Attribute">
6452      <xsd:sequence>
6453         <xsd:element name="prefix_q" type="Expression_Class"/>
6454         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6455      </xsd:sequence>
6456      <xsd:attribute name="type" type="xsd:string" use="required"/>
6457      <xsd:attribute name="checks" type="xsd:string"/>
6458      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6459   </xsd:complexType>
6460
6461   <xsd:element name="image_attribute" type="Image_Attribute"/>
6462
6463   <xsd:complexType name="Image_Attribute">
6464      <xsd:sequence>
6465         <xsd:element name="prefix_q" type="Expression_Class"/>
6466         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6467      </xsd:sequence>
6468      <xsd:attribute name="type" type="xsd:string" use="required"/>
6469      <xsd:attribute name="checks" type="xsd:string"/>
6470      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6471   </xsd:complexType>
6472
6473   <xsd:element name="input_attribute" type="Input_Attribute"/>
6474
6475   <xsd:complexType name="Input_Attribute">
6476      <xsd:sequence>
6477         <xsd:element name="prefix_q" type="Expression_Class"/>
6478         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6479      </xsd:sequence>
6480      <xsd:attribute name="type" type="xsd:string" use="required"/>
6481      <xsd:attribute name="checks" type="xsd:string"/>
6482      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6483   </xsd:complexType>
6484
6485   <xsd:element name="last_attribute" type="Last_Attribute"/>
6486
6487   <xsd:complexType name="Last_Attribute">
6488      <xsd:sequence>
6489         <xsd:element name="prefix_q" type="Expression_Class"/>
6490         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6491         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
6492      </xsd:sequence>
6493      <xsd:attribute name="type" type="xsd:string" use="required"/>
6494      <xsd:attribute name="checks" type="xsd:string"/>
6495      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6496   </xsd:complexType>
6497
6498   <xsd:element name="last_bit_attribute" type="Last_Bit_Attribute"/>
6499
6500   <xsd:complexType name="Last_Bit_Attribute">
6501      <xsd:sequence>
6502         <xsd:element name="prefix_q" type="Expression_Class"/>
6503         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6504      </xsd:sequence>
6505      <xsd:attribute name="type" type="xsd:string" use="required"/>
6506      <xsd:attribute name="checks" type="xsd:string"/>
6507      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6508   </xsd:complexType>
6509
6510   <xsd:element name="leading_part_attribute" type="Leading_Part_Attribute"/>
6511
6512   <xsd:complexType name="Leading_Part_Attribute">
6513      <xsd:sequence>
6514         <xsd:element name="prefix_q" type="Expression_Class"/>
6515         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6516      </xsd:sequence>
6517      <xsd:attribute name="type" type="xsd:string" use="required"/>
6518      <xsd:attribute name="checks" type="xsd:string"/>
6519      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6520   </xsd:complexType>
6521
6522   <xsd:element name="length_attribute" type="Length_Attribute"/>
6523
6524   <xsd:complexType name="Length_Attribute">
6525      <xsd:sequence>
6526         <xsd:element name="prefix_q" type="Expression_Class"/>
6527         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6528         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
6529      </xsd:sequence>
6530      <xsd:attribute name="type" type="xsd:string" use="required"/>
6531      <xsd:attribute name="checks" type="xsd:string"/>
6532      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6533   </xsd:complexType>
6534
6535   <xsd:element name="machine_attribute" type="Machine_Attribute"/>
6536
6537   <xsd:complexType name="Machine_Attribute">
6538      <xsd:sequence>
6539         <xsd:element name="prefix_q" type="Expression_Class"/>
6540         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6541      </xsd:sequence>
6542      <xsd:attribute name="type" type="xsd:string" use="required"/>
6543      <xsd:attribute name="checks" type="xsd:string"/>
6544      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6545   </xsd:complexType>
6546
6547   <xsd:element name="machine_emax_attribute" type="Machine_Emax_Attribute"/>
6548
6549   <xsd:complexType name="Machine_Emax_Attribute">
6550      <xsd:sequence>
6551         <xsd:element name="prefix_q" type="Expression_Class"/>
6552         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6553      </xsd:sequence>
6554      <xsd:attribute name="type" type="xsd:string" use="required"/>
6555      <xsd:attribute name="checks" type="xsd:string"/>
6556      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6557   </xsd:complexType>
6558
6559   <xsd:element name="machine_emin_attribute" type="Machine_Emin_Attribute"/>
6560
6561   <xsd:complexType name="Machine_Emin_Attribute">
6562      <xsd:sequence>
6563         <xsd:element name="prefix_q" type="Expression_Class"/>
6564         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6565      </xsd:sequence>
6566      <xsd:attribute name="type" type="xsd:string" use="required"/>
6567      <xsd:attribute name="checks" type="xsd:string"/>
6568      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6569   </xsd:complexType>
6570
6571   <xsd:element name="machine_mantissa_attribute" type="Machine_Mantissa_Attribute"/>
6572
6573   <xsd:complexType name="Machine_Mantissa_Attribute">
6574      <xsd:sequence>
6575         <xsd:element name="prefix_q" type="Expression_Class"/>
6576         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6577      </xsd:sequence>
6578      <xsd:attribute name="type" type="xsd:string" use="required"/>
6579      <xsd:attribute name="checks" type="xsd:string"/>
6580      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6581   </xsd:complexType>
6582
6583   <xsd:element name="machine_overflows_attribute" type="Machine_Overflows_Attribute"/>
6584
6585   <xsd:complexType name="Machine_Overflows_Attribute">
6586      <xsd:sequence>
6587         <xsd:element name="prefix_q" type="Expression_Class"/>
6588         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6589      </xsd:sequence>
6590      <xsd:attribute name="type" type="xsd:string" use="required"/>
6591      <xsd:attribute name="checks" type="xsd:string"/>
6592      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6593   </xsd:complexType>
6594
6595   <xsd:element name="machine_radix_attribute" type="Machine_Radix_Attribute"/>
6596
6597   <xsd:complexType name="Machine_Radix_Attribute">
6598      <xsd:sequence>
6599         <xsd:element name="prefix_q" type="Expression_Class"/>
6600         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6601      </xsd:sequence>
6602      <xsd:attribute name="type" type="xsd:string" use="required"/>
6603      <xsd:attribute name="checks" type="xsd:string"/>
6604      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6605   </xsd:complexType>
6606
6607   <xsd:element name="machine_rounds_attribute" type="Machine_Rounds_Attribute"/>
6608
6609   <xsd:complexType name="Machine_Rounds_Attribute">
6610      <xsd:sequence>
6611         <xsd:element name="prefix_q" type="Expression_Class"/>
6612         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6613      </xsd:sequence>
6614      <xsd:attribute name="type" type="xsd:string" use="required"/>
6615      <xsd:attribute name="checks" type="xsd:string"/>
6616      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6617   </xsd:complexType>
6618
6619   <xsd:element name="max_attribute" type="Max_Attribute"/>
6620
6621   <xsd:complexType name="Max_Attribute">
6622      <xsd:sequence>
6623         <xsd:element name="prefix_q" type="Expression_Class"/>
6624         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6625      </xsd:sequence>
6626      <xsd:attribute name="type" type="xsd:string" use="required"/>
6627      <xsd:attribute name="checks" type="xsd:string"/>
6628      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6629   </xsd:complexType>
6630
6631   <xsd:element name="max_size_in_storage_elements_attribute" type="Max_Size_In_Storage_Elements_Attribute"/>
6632
6633   <xsd:complexType name="Max_Size_In_Storage_Elements_Attribute">
6634      <xsd:sequence>
6635         <xsd:element name="prefix_q" type="Expression_Class"/>
6636         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6637      </xsd:sequence>
6638      <xsd:attribute name="type" type="xsd:string" use="required"/>
6639      <xsd:attribute name="checks" type="xsd:string"/>
6640      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6641   </xsd:complexType>
6642
6643   <xsd:element name="min_attribute" type="Min_Attribute"/>
6644
6645   <xsd:complexType name="Min_Attribute">
6646      <xsd:sequence>
6647         <xsd:element name="prefix_q" type="Expression_Class"/>
6648         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6649      </xsd:sequence>
6650      <xsd:attribute name="type" type="xsd:string" use="required"/>
6651      <xsd:attribute name="checks" type="xsd:string"/>
6652      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6653   </xsd:complexType>
6654
6655   <xsd:element name="model_attribute" type="Model_Attribute"/>
6656
6657   <xsd:complexType name="Model_Attribute">
6658      <xsd:sequence>
6659         <xsd:element name="prefix_q" type="Expression_Class"/>
6660         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6661      </xsd:sequence>
6662      <xsd:attribute name="type" type="xsd:string" use="required"/>
6663      <xsd:attribute name="checks" type="xsd:string"/>
6664      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6665   </xsd:complexType>
6666
6667   <xsd:element name="model_emin_attribute" type="Model_Emin_Attribute"/>
6668
6669   <xsd:complexType name="Model_Emin_Attribute">
6670      <xsd:sequence>
6671         <xsd:element name="prefix_q" type="Expression_Class"/>
6672         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6673      </xsd:sequence>
6674      <xsd:attribute name="type" type="xsd:string" use="required"/>
6675      <xsd:attribute name="checks" type="xsd:string"/>
6676      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6677   </xsd:complexType>
6678
6679   <xsd:element name="model_epsilon_attribute" type="Model_Epsilon_Attribute"/>
6680
6681   <xsd:complexType name="Model_Epsilon_Attribute">
6682      <xsd:sequence>
6683         <xsd:element name="prefix_q" type="Expression_Class"/>
6684         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6685      </xsd:sequence>
6686      <xsd:attribute name="type" type="xsd:string" use="required"/>
6687      <xsd:attribute name="checks" type="xsd:string"/>
6688      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6689   </xsd:complexType>
6690
6691   <xsd:element name="model_mantissa_attribute" type="Model_Mantissa_Attribute"/>
6692
6693   <xsd:complexType name="Model_Mantissa_Attribute">
6694      <xsd:sequence>
6695         <xsd:element name="prefix_q" type="Expression_Class"/>
6696         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6697      </xsd:sequence>
6698      <xsd:attribute name="type" type="xsd:string" use="required"/>
6699      <xsd:attribute name="checks" type="xsd:string"/>
6700      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6701   </xsd:complexType>
6702
6703   <xsd:element name="model_small_attribute" type="Model_Small_Attribute"/>
6704
6705   <xsd:complexType name="Model_Small_Attribute">
6706      <xsd:sequence>
6707         <xsd:element name="prefix_q" type="Expression_Class"/>
6708         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6709      </xsd:sequence>
6710      <xsd:attribute name="type" type="xsd:string" use="required"/>
6711      <xsd:attribute name="checks" type="xsd:string"/>
6712      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6713   </xsd:complexType>
6714
6715   <xsd:element name="modulus_attribute" type="Modulus_Attribute"/>
6716
6717   <xsd:complexType name="Modulus_Attribute">
6718      <xsd:sequence>
6719         <xsd:element name="prefix_q" type="Expression_Class"/>
6720         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6721      </xsd:sequence>
6722      <xsd:attribute name="type" type="xsd:string" use="required"/>
6723      <xsd:attribute name="checks" type="xsd:string"/>
6724      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6725   </xsd:complexType>
6726
6727   <xsd:element name="output_attribute" type="Output_Attribute"/>
6728
6729   <xsd:complexType name="Output_Attribute">
6730      <xsd:sequence>
6731         <xsd:element name="prefix_q" type="Expression_Class"/>
6732         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6733      </xsd:sequence>
6734      <xsd:attribute name="type" type="xsd:string" use="required"/>
6735      <xsd:attribute name="checks" type="xsd:string"/>
6736      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6737   </xsd:complexType>
6738
6739   <xsd:element name="partition_id_attribute" type="Partition_Id_Attribute"/>
6740
6741   <xsd:complexType name="Partition_Id_Attribute">
6742      <xsd:sequence>
6743         <xsd:element name="prefix_q" type="Expression_Class"/>
6744         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6745      </xsd:sequence>
6746      <xsd:attribute name="type" type="xsd:string" use="required"/>
6747      <xsd:attribute name="checks" type="xsd:string"/>
6748      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6749   </xsd:complexType>
6750
6751   <xsd:element name="pos_attribute" type="Pos_Attribute"/>
6752
6753   <xsd:complexType name="Pos_Attribute">
6754      <xsd:sequence>
6755         <xsd:element name="prefix_q" type="Expression_Class"/>
6756         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6757      </xsd:sequence>
6758      <xsd:attribute name="type" type="xsd:string" use="required"/>
6759      <xsd:attribute name="checks" type="xsd:string"/>
6760      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6761   </xsd:complexType>
6762
6763   <xsd:element name="position_attribute" type="Position_Attribute"/>
6764
6765   <xsd:complexType name="Position_Attribute">
6766      <xsd:sequence>
6767         <xsd:element name="prefix_q" type="Expression_Class"/>
6768         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6769      </xsd:sequence>
6770      <xsd:attribute name="type" type="xsd:string" use="required"/>
6771      <xsd:attribute name="checks" type="xsd:string"/>
6772      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6773   </xsd:complexType>
6774
6775   <xsd:element name="pred_attribute" type="Pred_Attribute"/>
6776
6777   <xsd:complexType name="Pred_Attribute">
6778      <xsd:sequence>
6779         <xsd:element name="prefix_q" type="Expression_Class"/>
6780         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6781      </xsd:sequence>
6782      <xsd:attribute name="type" type="xsd:string" use="required"/>
6783      <xsd:attribute name="checks" type="xsd:string"/>
6784      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6785   </xsd:complexType>
6786
6787   <xsd:element name="range_attribute" type="Range_Attribute"/>
6788
6789   <xsd:complexType name="Range_Attribute">
6790      <xsd:sequence>
6791         <xsd:element name="prefix_q" type="Expression_Class"/>
6792         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6793         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
6794      </xsd:sequence>
6795      <xsd:attribute name="type" type="xsd:string" use="required"/>
6796      <xsd:attribute name="checks" type="xsd:string"/>
6797      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6798   </xsd:complexType>
6799
6800   <xsd:element name="read_attribute" type="Read_Attribute"/>
6801
6802   <xsd:complexType name="Read_Attribute">
6803      <xsd:sequence>
6804         <xsd:element name="prefix_q" type="Expression_Class"/>
6805         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6806      </xsd:sequence>
6807      <xsd:attribute name="type" type="xsd:string" use="required"/>
6808      <xsd:attribute name="checks" type="xsd:string"/>
6809      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6810   </xsd:complexType>
6811
6812   <xsd:element name="remainder_attribute" type="Remainder_Attribute"/>
6813
6814   <xsd:complexType name="Remainder_Attribute">
6815      <xsd:sequence>
6816         <xsd:element name="prefix_q" type="Expression_Class"/>
6817         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6818      </xsd:sequence>
6819      <xsd:attribute name="type" type="xsd:string" use="required"/>
6820      <xsd:attribute name="checks" type="xsd:string"/>
6821      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6822   </xsd:complexType>
6823
6824   <xsd:element name="round_attribute" type="Round_Attribute"/>
6825
6826   <xsd:complexType name="Round_Attribute">
6827      <xsd:sequence>
6828         <xsd:element name="prefix_q" type="Expression_Class"/>
6829         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6830      </xsd:sequence>
6831      <xsd:attribute name="type" type="xsd:string" use="required"/>
6832      <xsd:attribute name="checks" type="xsd:string"/>
6833      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6834   </xsd:complexType>
6835
6836   <xsd:element name="rounding_attribute" type="Rounding_Attribute"/>
6837
6838   <xsd:complexType name="Rounding_Attribute">
6839      <xsd:sequence>
6840         <xsd:element name="prefix_q" type="Expression_Class"/>
6841         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6842      </xsd:sequence>
6843      <xsd:attribute name="type" type="xsd:string" use="required"/>
6844      <xsd:attribute name="checks" type="xsd:string"/>
6845      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6846   </xsd:complexType>
6847
6848   <xsd:element name="safe_first_attribute" type="Safe_First_Attribute"/>
6849
6850   <xsd:complexType name="Safe_First_Attribute">
6851      <xsd:sequence>
6852         <xsd:element name="prefix_q" type="Expression_Class"/>
6853         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6854      </xsd:sequence>
6855      <xsd:attribute name="type" type="xsd:string" use="required"/>
6856      <xsd:attribute name="checks" type="xsd:string"/>
6857      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6858   </xsd:complexType>
6859
6860   <xsd:element name="safe_last_attribute" type="Safe_Last_Attribute"/>
6861
6862   <xsd:complexType name="Safe_Last_Attribute">
6863      <xsd:sequence>
6864         <xsd:element name="prefix_q" type="Expression_Class"/>
6865         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6866      </xsd:sequence>
6867      <xsd:attribute name="type" type="xsd:string" use="required"/>
6868      <xsd:attribute name="checks" type="xsd:string"/>
6869      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6870   </xsd:complexType>
6871
6872   <xsd:element name="scale_attribute" type="Scale_Attribute"/>
6873
6874   <xsd:complexType name="Scale_Attribute">
6875      <xsd:sequence>
6876         <xsd:element name="prefix_q" type="Expression_Class"/>
6877         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6878      </xsd:sequence>
6879      <xsd:attribute name="type" type="xsd:string" use="required"/>
6880      <xsd:attribute name="checks" type="xsd:string"/>
6881      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6882   </xsd:complexType>
6883
6884   <xsd:element name="scaling_attribute" type="Scaling_Attribute"/>
6885
6886   <xsd:complexType name="Scaling_Attribute">
6887      <xsd:sequence>
6888         <xsd:element name="prefix_q" type="Expression_Class"/>
6889         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6890      </xsd:sequence>
6891      <xsd:attribute name="type" type="xsd:string" use="required"/>
6892      <xsd:attribute name="checks" type="xsd:string"/>
6893      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6894   </xsd:complexType>
6895
6896   <xsd:element name="signed_zeros_attribute" type="Signed_Zeros_Attribute"/>
6897
6898   <xsd:complexType name="Signed_Zeros_Attribute">
6899      <xsd:sequence>
6900         <xsd:element name="prefix_q" type="Expression_Class"/>
6901         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6902      </xsd:sequence>
6903      <xsd:attribute name="type" type="xsd:string" use="required"/>
6904      <xsd:attribute name="checks" type="xsd:string"/>
6905      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6906   </xsd:complexType>
6907
6908   <xsd:element name="size_attribute" type="Size_Attribute"/>
6909
6910   <xsd:complexType name="Size_Attribute">
6911      <xsd:sequence>
6912         <xsd:element name="prefix_q" type="Expression_Class"/>
6913         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6914      </xsd:sequence>
6915      <xsd:attribute name="type" type="xsd:string" use="required"/>
6916      <xsd:attribute name="checks" type="xsd:string"/>
6917      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6918   </xsd:complexType>
6919
6920   <xsd:element name="small_attribute" type="Small_Attribute"/>
6921
6922   <xsd:complexType name="Small_Attribute">
6923      <xsd:sequence>
6924         <xsd:element name="prefix_q" type="Expression_Class"/>
6925         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6926      </xsd:sequence>
6927      <xsd:attribute name="type" type="xsd:string" use="required"/>
6928      <xsd:attribute name="checks" type="xsd:string"/>
6929      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6930   </xsd:complexType>
6931
6932   <xsd:element name="storage_pool_attribute" type="Storage_Pool_Attribute"/>
6933
6934   <xsd:complexType name="Storage_Pool_Attribute">
6935      <xsd:sequence>
6936         <xsd:element name="prefix_q" type="Expression_Class"/>
6937         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6938      </xsd:sequence>
6939      <xsd:attribute name="type" type="xsd:string" use="required"/>
6940      <xsd:attribute name="checks" type="xsd:string"/>
6941      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6942   </xsd:complexType>
6943
6944   <xsd:element name="storage_size_attribute" type="Storage_Size_Attribute"/>
6945
6946   <xsd:complexType name="Storage_Size_Attribute">
6947      <xsd:sequence>
6948         <xsd:element name="prefix_q" type="Expression_Class"/>
6949         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6950      </xsd:sequence>
6951      <xsd:attribute name="type" type="xsd:string" use="required"/>
6952      <xsd:attribute name="checks" type="xsd:string"/>
6953      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6954   </xsd:complexType>
6955
6956   <xsd:element name="succ_attribute" type="Succ_Attribute"/>
6957
6958   <xsd:complexType name="Succ_Attribute">
6959      <xsd:sequence>
6960         <xsd:element name="prefix_q" type="Expression_Class"/>
6961         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6962      </xsd:sequence>
6963      <xsd:attribute name="type" type="xsd:string" use="required"/>
6964      <xsd:attribute name="checks" type="xsd:string"/>
6965      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6966   </xsd:complexType>
6967
6968   <xsd:element name="tag_attribute" type="Tag_Attribute"/>
6969
6970   <xsd:complexType name="Tag_Attribute">
6971      <xsd:sequence>
6972         <xsd:element name="prefix_q" type="Expression_Class"/>
6973         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6974      </xsd:sequence>
6975      <xsd:attribute name="type" type="xsd:string" use="required"/>
6976      <xsd:attribute name="checks" type="xsd:string"/>
6977      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6978   </xsd:complexType>
6979
6980   <xsd:element name="terminated_attribute" type="Terminated_Attribute"/>
6981
6982   <xsd:complexType name="Terminated_Attribute">
6983      <xsd:sequence>
6984         <xsd:element name="prefix_q" type="Expression_Class"/>
6985         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6986      </xsd:sequence>
6987      <xsd:attribute name="type" type="xsd:string" use="required"/>
6988      <xsd:attribute name="checks" type="xsd:string"/>
6989      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
6990   </xsd:complexType>
6991
6992   <xsd:element name="truncation_attribute" type="Truncation_Attribute"/>
6993
6994   <xsd:complexType name="Truncation_Attribute">
6995      <xsd:sequence>
6996         <xsd:element name="prefix_q" type="Expression_Class"/>
6997         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
6998      </xsd:sequence>
6999      <xsd:attribute name="type" type="xsd:string" use="required"/>
7000      <xsd:attribute name="checks" type="xsd:string"/>
7001      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7002   </xsd:complexType>
7003
7004   <xsd:element name="unbiased_rounding_attribute" type="Unbiased_Rounding_Attribute"/>
7005
7006   <xsd:complexType name="Unbiased_Rounding_Attribute">
7007      <xsd:sequence>
7008         <xsd:element name="prefix_q" type="Expression_Class"/>
7009         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7010      </xsd:sequence>
7011      <xsd:attribute name="type" type="xsd:string" use="required"/>
7012      <xsd:attribute name="checks" type="xsd:string"/>
7013      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7014   </xsd:complexType>
7015
7016   <xsd:element name="unchecked_access_attribute" type="Unchecked_Access_Attribute"/>
7017
7018   <xsd:complexType name="Unchecked_Access_Attribute">
7019      <xsd:sequence>
7020         <xsd:element name="prefix_q" type="Expression_Class"/>
7021         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7022      </xsd:sequence>
7023      <xsd:attribute name="type" type="xsd:string" use="required"/>
7024      <xsd:attribute name="checks" type="xsd:string"/>
7025      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7026   </xsd:complexType>
7027
7028   <xsd:element name="val_attribute" type="Val_Attribute"/>
7029
7030   <xsd:complexType name="Val_Attribute">
7031      <xsd:sequence>
7032         <xsd:element name="prefix_q" type="Expression_Class"/>
7033         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7034      </xsd:sequence>
7035      <xsd:attribute name="type" type="xsd:string" use="required"/>
7036      <xsd:attribute name="checks" type="xsd:string"/>
7037      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7038   </xsd:complexType>
7039
7040   <xsd:element name="valid_attribute" type="Valid_Attribute"/>
7041
7042   <xsd:complexType name="Valid_Attribute">
7043      <xsd:sequence>
7044         <xsd:element name="prefix_q" type="Expression_Class"/>
7045         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7046      </xsd:sequence>
7047      <xsd:attribute name="type" type="xsd:string" use="required"/>
7048      <xsd:attribute name="checks" type="xsd:string"/>
7049      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7050   </xsd:complexType>
7051
7052   <xsd:element name="value_attribute" type="Value_Attribute"/>
7053
7054   <xsd:complexType name="Value_Attribute">
7055      <xsd:sequence>
7056         <xsd:element name="prefix_q" type="Expression_Class"/>
7057         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7058      </xsd:sequence>
7059      <xsd:attribute name="type" type="xsd:string" use="required"/>
7060      <xsd:attribute name="checks" type="xsd:string"/>
7061      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7062   </xsd:complexType>
7063
7064   <xsd:element name="version_attribute" type="Version_Attribute"/>
7065
7066   <xsd:complexType name="Version_Attribute">
7067      <xsd:sequence>
7068         <xsd:element name="prefix_q" type="Expression_Class"/>
7069         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7070      </xsd:sequence>
7071      <xsd:attribute name="type" type="xsd:string" use="required"/>
7072      <xsd:attribute name="checks" type="xsd:string"/>
7073      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7074   </xsd:complexType>
7075
7076   <xsd:element name="wide_image_attribute" type="Wide_Image_Attribute"/>
7077
7078   <xsd:complexType name="Wide_Image_Attribute">
7079      <xsd:sequence>
7080         <xsd:element name="prefix_q" type="Expression_Class"/>
7081         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7082      </xsd:sequence>
7083      <xsd:attribute name="type" type="xsd:string" use="required"/>
7084      <xsd:attribute name="checks" type="xsd:string"/>
7085      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7086   </xsd:complexType>
7087
7088   <xsd:element name="wide_value_attribute" type="Wide_Value_Attribute"/>
7089
7090   <xsd:complexType name="Wide_Value_Attribute">
7091      <xsd:sequence>
7092         <xsd:element name="prefix_q" type="Expression_Class"/>
7093         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7094      </xsd:sequence>
7095      <xsd:attribute name="type" type="xsd:string" use="required"/>
7096      <xsd:attribute name="checks" type="xsd:string"/>
7097      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7098   </xsd:complexType>
7099
7100   <xsd:element name="wide_width_attribute" type="Wide_Width_Attribute"/>
7101
7102   <xsd:complexType name="Wide_Width_Attribute">
7103      <xsd:sequence>
7104         <xsd:element name="prefix_q" type="Expression_Class"/>
7105         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7106      </xsd:sequence>
7107      <xsd:attribute name="type" type="xsd:string" use="required"/>
7108      <xsd:attribute name="checks" type="xsd:string"/>
7109      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7110   </xsd:complexType>
7111
7112   <xsd:element name="width_attribute" type="Width_Attribute"/>
7113
7114   <xsd:complexType name="Width_Attribute">
7115      <xsd:sequence>
7116         <xsd:element name="prefix_q" type="Expression_Class"/>
7117         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7118      </xsd:sequence>
7119      <xsd:attribute name="type" type="xsd:string" use="required"/>
7120      <xsd:attribute name="checks" type="xsd:string"/>
7121      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7122   </xsd:complexType>
7123
7124   <xsd:element name="write_attribute" type="Write_Attribute"/>
7125
7126   <xsd:complexType name="Write_Attribute">
7127      <xsd:sequence>
7128         <xsd:element name="prefix_q" type="Expression_Class"/>
7129         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7130      </xsd:sequence>
7131      <xsd:attribute name="type" type="xsd:string" use="required"/>
7132      <xsd:attribute name="checks" type="xsd:string"/>
7133      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7134   </xsd:complexType>
7135
7136   <xsd:element name="machine_rounding_attribute" type="Machine_Rounding_Attribute"/>
7137
7138   <xsd:complexType name="Machine_Rounding_Attribute">
7139      <xsd:sequence>
7140         <xsd:element name="prefix_q" type="Expression_Class"/>
7141         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7142      </xsd:sequence>
7143      <xsd:attribute name="type" type="xsd:string" use="required"/>
7144      <xsd:attribute name="checks" type="xsd:string"/>
7145      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7146   </xsd:complexType>
7147
7148   <xsd:element name="mod_attribute" type="Mod_Attribute"/>
7149
7150   <xsd:complexType name="Mod_Attribute">
7151      <xsd:sequence>
7152         <xsd:element name="prefix_q" type="Expression_Class"/>
7153         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7154      </xsd:sequence>
7155      <xsd:attribute name="type" type="xsd:string" use="required"/>
7156      <xsd:attribute name="checks" type="xsd:string"/>
7157      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7158   </xsd:complexType>
7159
7160   <xsd:element name="priority_attribute" type="Priority_Attribute"/>
7161
7162   <xsd:complexType name="Priority_Attribute">
7163      <xsd:sequence>
7164         <xsd:element name="prefix_q" type="Expression_Class"/>
7165         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7166      </xsd:sequence>
7167      <xsd:attribute name="type" type="xsd:string" use="required"/>
7168      <xsd:attribute name="checks" type="xsd:string"/>
7169      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7170   </xsd:complexType>
7171
7172   <xsd:element name="stream_size_attribute" type="Stream_Size_Attribute"/>
7173
7174   <xsd:complexType name="Stream_Size_Attribute">
7175      <xsd:sequence>
7176         <xsd:element name="prefix_q" type="Expression_Class"/>
7177         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7178      </xsd:sequence>
7179      <xsd:attribute name="type" type="xsd:string" use="required"/>
7180      <xsd:attribute name="checks" type="xsd:string"/>
7181      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7182   </xsd:complexType>
7183
7184   <xsd:element name="wide_wide_image_attribute" type="Wide_Wide_Image_Attribute"/>
7185
7186   <xsd:complexType name="Wide_Wide_Image_Attribute">
7187      <xsd:sequence>
7188         <xsd:element name="prefix_q" type="Expression_Class"/>
7189         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7190      </xsd:sequence>
7191      <xsd:attribute name="type" type="xsd:string" use="required"/>
7192      <xsd:attribute name="checks" type="xsd:string"/>
7193      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7194   </xsd:complexType>
7195
7196   <xsd:element name="wide_wide_value_attribute" type="Wide_Wide_Value_Attribute"/>
7197
7198   <xsd:complexType name="Wide_Wide_Value_Attribute">
7199      <xsd:sequence>
7200         <xsd:element name="prefix_q" type="Expression_Class"/>
7201         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7202      </xsd:sequence>
7203      <xsd:attribute name="type" type="xsd:string" use="required"/>
7204      <xsd:attribute name="checks" type="xsd:string"/>
7205      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7206   </xsd:complexType>
7207
7208   <xsd:element name="wide_wide_width_attribute" type="Wide_Wide_Width_Attribute"/>
7209
7210   <xsd:complexType name="Wide_Wide_Width_Attribute">
7211      <xsd:sequence>
7212         <xsd:element name="prefix_q" type="Expression_Class"/>
7213         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7214      </xsd:sequence>
7215      <xsd:attribute name="type" type="xsd:string" use="required"/>
7216      <xsd:attribute name="checks" type="xsd:string"/>
7217      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7218   </xsd:complexType>
7219
7220   <xsd:element name="max_alignment_for_allocation_attribute" type="Max_Alignment_For_Allocation_Attribute"/>
7221
7222   <xsd:complexType name="Max_Alignment_For_Allocation_Attribute">
7223      <xsd:sequence>
7224         <xsd:element name="prefix_q" type="Expression_Class"/>
7225         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7226      </xsd:sequence>
7227      <xsd:attribute name="type" type="xsd:string" use="required"/>
7228      <xsd:attribute name="checks" type="xsd:string"/>
7229      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7230   </xsd:complexType>
7231
7232   <xsd:element name="overlaps_storage_attribute" type="Overlaps_Storage_Attribute"/>
7233
7234   <xsd:complexType name="Overlaps_Storage_Attribute">
7235      <xsd:sequence>
7236         <xsd:element name="prefix_q" type="Expression_Class"/>
7237         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7238      </xsd:sequence>
7239      <xsd:attribute name="type" type="xsd:string" use="required"/>
7240      <xsd:attribute name="checks" type="xsd:string"/>
7241      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7242   </xsd:complexType>
7243
7244   <xsd:element name="implementation_defined_attribute" type="Implementation_Defined_Attribute"/>
7245
7246   <xsd:complexType name="Implementation_Defined_Attribute">
7247      <xsd:sequence>
7248         <xsd:element name="prefix_q" type="Expression_Class"/>
7249         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7250         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
7251      </xsd:sequence>
7252      <xsd:attribute name="type" type="xsd:string" use="required"/>
7253      <xsd:attribute name="checks" type="xsd:string"/>
7254      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7255   </xsd:complexType>
7256
7257   <xsd:element name="unknown_attribute" type="Unknown_Attribute"/>
7258
7259   <xsd:complexType name="Unknown_Attribute">
7260      <xsd:sequence>
7261         <xsd:element name="prefix_q" type="Expression_Class"/>
7262         <xsd:element name="attribute_designator_identifier_q" type="Expression_Class"/>
7263         <xsd:element name="attribute_designator_expressions_ql" type="Expression_List"/>
7264      </xsd:sequence>
7265      <xsd:attribute name="type" type="xsd:string" use="required"/>
7266      <xsd:attribute name="checks" type="xsd:string"/>
7267      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7268   </xsd:complexType>
7269
7270   <xsd:element name="record_aggregate" type="Record_Aggregate"/>
7271
7272   <xsd:complexType name="Record_Aggregate">
7273      <xsd:sequence>
7274         <xsd:element name="record_component_associations_ql" type="Association_List"/>
7275      </xsd:sequence>
7276      <xsd:attribute name="type" type="xsd:string" use="required"/>
7277      <xsd:attribute name="checks" type="xsd:string"/>
7278      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7279   </xsd:complexType>
7280
7281   <xsd:element name="extension_aggregate" type="Extension_Aggregate"/>
7282
7283   <xsd:complexType name="Extension_Aggregate">
7284      <xsd:sequence>
7285         <xsd:element name="extension_aggregate_expression_q" type="Expression_Class"/>
7286         <xsd:element name="record_component_associations_ql" type="Association_List"/>
7287      </xsd:sequence>
7288      <xsd:attribute name="type" type="xsd:string" use="required"/>
7289      <xsd:attribute name="checks" type="xsd:string"/>
7290      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7291   </xsd:complexType>
7292
7293   <xsd:element name="positional_array_aggregate" type="Positional_Array_Aggregate"/>
7294
7295   <xsd:complexType name="Positional_Array_Aggregate">
7296      <xsd:sequence>
7297         <xsd:element name="array_component_associations_ql" type="Association_List"/>
7298      </xsd:sequence>
7299      <xsd:attribute name="type" type="xsd:string" use="required"/>
7300      <xsd:attribute name="checks" type="xsd:string"/>
7301      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7302   </xsd:complexType>
7303
7304   <xsd:element name="named_array_aggregate" type="Named_Array_Aggregate"/>
7305
7306   <xsd:complexType name="Named_Array_Aggregate">
7307      <xsd:sequence>
7308         <xsd:element name="array_component_associations_ql" type="Association_List"/>
7309      </xsd:sequence>
7310      <xsd:attribute name="type" type="xsd:string" use="required"/>
7311      <xsd:attribute name="checks" type="xsd:string"/>
7312      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7313   </xsd:complexType>
7314
7315   <xsd:element name="and_then_short_circuit" type="And_Then_Short_Circuit"/>
7316
7317   <xsd:complexType name="And_Then_Short_Circuit">
7318      <xsd:sequence>
7319         <xsd:element name="short_circuit_operation_left_expression_q" type="Expression_Class"/>
7320         <xsd:element name="short_circuit_operation_right_expression_q" type="Expression_Class"/>
7321      </xsd:sequence>
7322      <xsd:attribute name="type" type="xsd:string" use="required"/>
7323      <xsd:attribute name="checks" type="xsd:string"/>
7324      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7325   </xsd:complexType>
7326
7327   <xsd:element name="or_else_short_circuit" type="Or_Else_Short_Circuit"/>
7328
7329   <xsd:complexType name="Or_Else_Short_Circuit">
7330      <xsd:sequence>
7331         <xsd:element name="short_circuit_operation_left_expression_q" type="Expression_Class"/>
7332         <xsd:element name="short_circuit_operation_right_expression_q" type="Expression_Class"/>
7333      </xsd:sequence>
7334      <xsd:attribute name="type" type="xsd:string" use="required"/>
7335      <xsd:attribute name="checks" type="xsd:string"/>
7336      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7337   </xsd:complexType>
7338
7339   <xsd:element name="in_membership_test" type="In_Membership_Test"/>
7340
7341   <xsd:complexType name="In_Membership_Test">
7342      <xsd:sequence>
7343         <xsd:element name="membership_test_expression_q" type="Expression_Class"/>
7344         <xsd:element name="membership_test_choices_ql" type="Element_List"/>
7345      </xsd:sequence>
7346      <xsd:attribute name="type" type="xsd:string" use="required"/>
7347      <xsd:attribute name="checks" type="xsd:string"/>
7348      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7349   </xsd:complexType>
7350
7351   <xsd:element name="not_in_membership_test" type="Not_In_Membership_Test"/>
7352
7353   <xsd:complexType name="Not_In_Membership_Test">
7354      <xsd:sequence>
7355         <xsd:element name="membership_test_expression_q" type="Expression_Class"/>
7356         <xsd:element name="membership_test_choices_ql" type="Element_List"/>
7357      </xsd:sequence>
7358      <xsd:attribute name="type" type="xsd:string" use="required"/>
7359      <xsd:attribute name="checks" type="xsd:string"/>
7360      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7361   </xsd:complexType>
7362
7363   <xsd:element name="null_literal" type="Null_Literal"/>
7364
7365   <xsd:complexType name="Null_Literal">
7366      <xsd:attribute name="type" type="xsd:string" use="required"/>
7367      <xsd:attribute name="checks" type="xsd:string"/>
7368      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7369   </xsd:complexType>
7370
7371   <xsd:element name="parenthesized_expression" type="Parenthesized_Expression"/>
7372
7373   <xsd:complexType name="Parenthesized_Expression">
7374      <xsd:sequence>
7375         <xsd:element name="expression_parenthesized_q" type="Expression_Class"/>
7376      </xsd:sequence>
7377      <xsd:attribute name="type" type="xsd:string" use="required"/>
7378      <xsd:attribute name="checks" type="xsd:string"/>
7379      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7380   </xsd:complexType>
7381
7382   <xsd:element name="raise_expression" type="Raise_Expression"/>
7383
7384   <xsd:complexType name="Raise_Expression">
7385      <xsd:sequence>
7386         <xsd:element name="raised_exception_q" type="Expression_Class"/>
7387         <xsd:element name="associated_message_q" type="Expression_Class"/>
7388      </xsd:sequence>
7389      <xsd:attribute name="type" type="xsd:string" use="required"/>
7390      <xsd:attribute name="checks" type="xsd:string"/>
7391      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7392   </xsd:complexType>
7393
7394   <xsd:element name="type_conversion" type="Type_Conversion"/>
7395
7396   <xsd:complexType name="Type_Conversion">
7397      <xsd:sequence>
7398         <xsd:element name="converted_or_qualified_subtype_mark_q" type="Expression_Class"/>
7399         <xsd:element name="converted_or_qualified_expression_q" type="Expression_Class"/>
7400      </xsd:sequence>
7401      <xsd:attribute name="type" type="xsd:string" use="required"/>
7402      <xsd:attribute name="checks" type="xsd:string"/>
7403      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7404   </xsd:complexType>
7405
7406   <xsd:element name="qualified_expression" type="Qualified_Expression"/>
7407
7408   <xsd:complexType name="Qualified_Expression">
7409      <xsd:sequence>
7410         <xsd:element name="converted_or_qualified_subtype_mark_q" type="Expression_Class"/>
7411         <xsd:element name="converted_or_qualified_expression_q" type="Expression_Class"/>
7412      </xsd:sequence>
7413      <xsd:attribute name="type" type="xsd:string" use="required"/>
7414      <xsd:attribute name="checks" type="xsd:string"/>
7415      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7416   </xsd:complexType>
7417
7418   <xsd:element name="allocation_from_subtype" type="Allocation_From_Subtype"/>
7419
7420   <xsd:complexType name="Allocation_From_Subtype">
7421      <xsd:sequence>
7422         <xsd:element name="subpool_name_q" type="Expression_Class"/>
7423         <xsd:element name="allocator_subtype_indication_q" type="Element_Class"/>
7424      </xsd:sequence>
7425      <xsd:attribute name="type" type="xsd:string" use="required"/>
7426      <xsd:attribute name="checks" type="xsd:string"/>
7427      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7428   </xsd:complexType>
7429
7430   <xsd:element name="allocation_from_qualified_expression" type="Allocation_From_Qualified_Expression"/>
7431
7432   <xsd:complexType name="Allocation_From_Qualified_Expression">
7433      <xsd:sequence>
7434         <xsd:element name="subpool_name_q" type="Expression_Class"/>
7435         <xsd:element name="allocator_qualified_expression_q" type="Expression_Class"/>
7436      </xsd:sequence>
7437      <xsd:attribute name="type" type="xsd:string" use="required"/>
7438      <xsd:attribute name="checks" type="xsd:string"/>
7439      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7440   </xsd:complexType>
7441
7442   <xsd:element name="case_expression" type="Case_Expression"/>
7443
7444   <xsd:complexType name="Case_Expression">
7445      <xsd:sequence>
7446         <xsd:element name="case_expression_q" type="Expression_Class"/>
7447         <xsd:element name="expression_paths_ql" type="Element_List"/>
7448      </xsd:sequence>
7449      <xsd:attribute name="type" type="xsd:string" use="required"/>
7450      <xsd:attribute name="checks" type="xsd:string"/>
7451      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7452   </xsd:complexType>
7453
7454   <xsd:element name="if_expression" type="If_Expression"/>
7455
7456   <xsd:complexType name="If_Expression">
7457      <xsd:sequence>
7458         <xsd:element name="expression_paths_ql" type="Element_List"/>
7459      </xsd:sequence>
7460      <xsd:attribute name="type" type="xsd:string" use="required"/>
7461      <xsd:attribute name="checks" type="xsd:string"/>
7462      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7463   </xsd:complexType>
7464
7465   <xsd:element name="for_all_quantified_expression" type="For_All_Quantified_Expression"/>
7466
7467   <xsd:complexType name="For_All_Quantified_Expression">
7468      <xsd:sequence>
7469         <xsd:element name="iterator_specification_q" type="Declaration_Class"/>
7470         <xsd:element name="predicate_q" type="Expression_Class"/>
7471      </xsd:sequence>
7472      <xsd:attribute name="type" type="xsd:string" use="required"/>
7473      <xsd:attribute name="checks" type="xsd:string"/>
7474      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7475   </xsd:complexType>
7476
7477   <xsd:element name="for_some_quantified_expression" type="For_Some_Quantified_Expression"/>
7478
7479   <xsd:complexType name="For_Some_Quantified_Expression">
7480      <xsd:sequence>
7481         <xsd:element name="iterator_specification_q" type="Declaration_Class"/>
7482         <xsd:element name="predicate_q" type="Expression_Class"/>
7483      </xsd:sequence>
7484      <xsd:attribute name="type" type="xsd:string" use="required"/>
7485      <xsd:attribute name="checks" type="xsd:string"/>
7486      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7487   </xsd:complexType>
7488
7489   <xsd:element name="pragma_argument_association" type="Pragma_Argument_Association"/>
7490
7491   <xsd:complexType name="Pragma_Argument_Association">
7492      <xsd:sequence>
7493         <xsd:element name="formal_parameter_q" type="Element_Class"/>
7494         <xsd:element name="actual_parameter_q" type="Expression_Class"/>
7495      </xsd:sequence>
7496      <xsd:attribute name="checks" type="xsd:string"/>
7497      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7498   </xsd:complexType>
7499
7500   <xsd:element name="discriminant_association" type="Discriminant_Association"/>
7501
7502   <xsd:complexType name="Discriminant_Association">
7503      <xsd:sequence>
7504         <xsd:element name="discriminant_selector_names_ql" type="Expression_List"/>
7505         <xsd:element name="discriminant_expression_q" type="Expression_Class"/>
7506      </xsd:sequence>
7507      <xsd:attribute name="checks" type="xsd:string"/>
7508      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7509   </xsd:complexType>
7510
7511   <xsd:element name="record_component_association" type="Record_Component_Association"/>
7512
7513   <xsd:complexType name="Record_Component_Association">
7514      <xsd:sequence>
7515         <xsd:element name="record_component_choices_ql" type="Expression_List"/>
7516         <xsd:element name="component_expression_q" type="Expression_Class"/>
7517      </xsd:sequence>
7518      <xsd:attribute name="checks" type="xsd:string"/>
7519      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7520   </xsd:complexType>
7521
7522   <xsd:element name="array_component_association" type="Array_Component_Association"/>
7523
7524   <xsd:complexType name="Array_Component_Association">
7525      <xsd:sequence>
7526         <xsd:element name="array_component_choices_ql" type="Element_List"/>
7527         <xsd:element name="component_expression_q" type="Expression_Class"/>
7528      </xsd:sequence>
7529      <xsd:attribute name="checks" type="xsd:string"/>
7530      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7531   </xsd:complexType>
7532
7533   <xsd:element name="parameter_association" type="Parameter_Association"/>
7534
7535   <xsd:complexType name="Parameter_Association">
7536      <xsd:sequence>
7537         <xsd:element name="formal_parameter_q" type="Element_Class"/>
7538         <xsd:element name="actual_parameter_q" type="Expression_Class"/>
7539      </xsd:sequence>
7540      <xsd:attribute name="checks" type="xsd:string"/>
7541      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7542   </xsd:complexType>
7543
7544   <xsd:element name="generic_association" type="Generic_Association"/>
7545
7546   <xsd:complexType name="Generic_Association">
7547      <xsd:sequence>
7548         <xsd:element name="formal_parameter_q" type="Element_Class"/>
7549         <xsd:element name="actual_parameter_q" type="Expression_Class"/>
7550      </xsd:sequence>
7551      <xsd:attribute name="checks" type="xsd:string"/>
7552      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7553   </xsd:complexType>
7554
7555   <xsd:element name="null_statement" type="Null_Statement"/>
7556
7557   <xsd:complexType name="Null_Statement">
7558      <xsd:sequence>
7559         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7560      </xsd:sequence>
7561      <xsd:attribute name="checks" type="xsd:string"/>
7562      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7563   </xsd:complexType>
7564
7565   <xsd:element name="assignment_statement" type="Assignment_Statement"/>
7566
7567   <xsd:complexType name="Assignment_Statement">
7568      <xsd:sequence>
7569         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7570         <xsd:element name="assignment_variable_name_q" type="Expression_Class"/>
7571         <xsd:element name="assignment_expression_q" type="Expression_Class"/>
7572      </xsd:sequence>
7573      <xsd:attribute name="checks" type="xsd:string"/>
7574      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7575   </xsd:complexType>
7576
7577   <xsd:element name="if_statement" type="If_Statement"/>
7578
7579   <xsd:complexType name="If_Statement">
7580      <xsd:sequence>
7581         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7582         <xsd:element name="statement_paths_ql" type="Path_List"/>
7583      </xsd:sequence>
7584      <xsd:attribute name="checks" type="xsd:string"/>
7585      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7586   </xsd:complexType>
7587
7588   <xsd:element name="case_statement" type="Case_Statement"/>
7589
7590   <xsd:complexType name="Case_Statement">
7591      <xsd:sequence>
7592         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7593         <xsd:element name="case_expression_q" type="Expression_Class"/>
7594         <xsd:element name="statement_paths_ql" type="Path_List"/>
7595      </xsd:sequence>
7596      <xsd:attribute name="checks" type="xsd:string"/>
7597      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7598   </xsd:complexType>
7599
7600   <xsd:element name="loop_statement" type="Loop_Statement"/>
7601
7602   <xsd:complexType name="Loop_Statement">
7603      <xsd:sequence>
7604         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7605         <xsd:element name="statement_identifier_q" type="Defining_Name_Class"/>
7606         <xsd:element name="loop_statements_ql" type="Statement_List"/>
7607      </xsd:sequence>
7608      <xsd:attribute name="checks" type="xsd:string"/>
7609      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7610   </xsd:complexType>
7611
7612   <xsd:element name="while_loop_statement" type="While_Loop_Statement"/>
7613
7614   <xsd:complexType name="While_Loop_Statement">
7615      <xsd:sequence>
7616         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7617         <xsd:element name="statement_identifier_q" type="Defining_Name_Class"/>
7618         <xsd:element name="while_condition_q" type="Expression_Class"/>
7619         <xsd:element name="loop_statements_ql" type="Statement_List"/>
7620      </xsd:sequence>
7621      <xsd:attribute name="checks" type="xsd:string"/>
7622      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7623   </xsd:complexType>
7624
7625   <xsd:element name="for_loop_statement" type="For_Loop_Statement"/>
7626
7627   <xsd:complexType name="For_Loop_Statement">
7628      <xsd:sequence>
7629         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7630         <xsd:element name="statement_identifier_q" type="Defining_Name_Class"/>
7631         <xsd:element name="for_loop_parameter_specification_q" type="Declaration_Class"/>
7632         <xsd:element name="loop_statements_ql" type="Statement_List"/>
7633      </xsd:sequence>
7634      <xsd:attribute name="checks" type="xsd:string"/>
7635      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7636   </xsd:complexType>
7637
7638   <xsd:element name="block_statement" type="Block_Statement"/>
7639
7640   <xsd:complexType name="Block_Statement">
7641      <xsd:sequence>
7642         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7643         <xsd:element name="statement_identifier_q" type="Defining_Name_Class"/>
7644         <xsd:element name="block_declarative_items_ql" type="Declarative_Item_List"/>
7645         <xsd:element name="block_statements_ql" type="Statement_List"/>
7646         <xsd:element name="block_exception_handlers_ql" type="Exception_Handler_List"/>
7647      </xsd:sequence>
7648      <xsd:attribute name="checks" type="xsd:string"/>
7649      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7650   </xsd:complexType>
7651
7652   <xsd:element name="exit_statement" type="Exit_Statement"/>
7653
7654   <xsd:complexType name="Exit_Statement">
7655      <xsd:sequence>
7656         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7657         <xsd:element name="exit_loop_name_q" type="Expression_Class"/>
7658         <xsd:element name="exit_condition_q" type="Expression_Class"/>
7659      </xsd:sequence>
7660      <xsd:attribute name="checks" type="xsd:string"/>
7661      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7662   </xsd:complexType>
7663
7664   <xsd:element name="goto_statement" type="Goto_Statement"/>
7665
7666   <xsd:complexType name="Goto_Statement">
7667      <xsd:sequence>
7668         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7669         <xsd:element name="goto_label_q" type="Expression_Class"/>
7670      </xsd:sequence>
7671      <xsd:attribute name="checks" type="xsd:string"/>
7672      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7673   </xsd:complexType>
7674
7675   <xsd:element name="procedure_call_statement" type="Procedure_Call_Statement"/>
7676
7677   <xsd:complexType name="Procedure_Call_Statement">
7678      <xsd:sequence>
7679         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7680         <xsd:element name="called_name_q" type="Expression_Class"/>
7681         <xsd:element name="call_statement_parameters_ql" type="Association_List"/>
7682         <xsd:element name="is_prefix_notation_q">
7683            <xsd:complexType>
7684               <xsd:choice>
7685                  <xsd:element name="is_prefix_notation" type="Is_Prefix_Notation"/>
7686                  <xsd:element name="not_an_element" type="Not_An_Element"/>
7687               </xsd:choice>
7688            </xsd:complexType>
7689         </xsd:element>
7690      </xsd:sequence>
7691      <xsd:attribute name="checks" type="xsd:string"/>
7692      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7693   </xsd:complexType>
7694
7695   <xsd:element name="return_statement" type="Return_Statement"/>
7696
7697   <xsd:complexType name="Return_Statement">
7698      <xsd:sequence>
7699         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7700         <xsd:element name="return_expression_q" type="Expression_Class"/>
7701      </xsd:sequence>
7702      <xsd:attribute name="checks" type="xsd:string"/>
7703      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7704   </xsd:complexType>
7705
7706   <xsd:element name="extended_return_statement" type="Extended_Return_Statement"/>
7707
7708   <xsd:complexType name="Extended_Return_Statement">
7709      <xsd:sequence>
7710         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7711         <xsd:element name="return_object_declaration_q" type="Declaration_Class"/>
7712         <xsd:element name="extended_return_statements_ql" type="Statement_List"/>
7713         <xsd:element name="extended_return_exception_handlers_ql" type="Exception_Handler_List"/>
7714      </xsd:sequence>
7715      <xsd:attribute name="checks" type="xsd:string"/>
7716      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7717   </xsd:complexType>
7718
7719   <xsd:element name="accept_statement" type="Accept_Statement"/>
7720
7721   <xsd:complexType name="Accept_Statement">
7722      <xsd:sequence>
7723         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7724         <xsd:element name="accept_entry_direct_name_q" type="Name_Class"/>
7725         <xsd:element name="accept_entry_index_q" type="Expression_Class"/>
7726         <xsd:element name="accept_parameters_ql" type="Parameter_Specification_List"/>
7727         <xsd:element name="accept_body_statements_ql" type="Statement_List"/>
7728         <xsd:element name="accept_body_exception_handlers_ql" type="Statement_List"/>
7729      </xsd:sequence>
7730      <xsd:attribute name="checks" type="xsd:string"/>
7731      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7732   </xsd:complexType>
7733
7734   <xsd:element name="entry_call_statement" type="Entry_Call_Statement"/>
7735
7736   <xsd:complexType name="Entry_Call_Statement">
7737      <xsd:sequence>
7738         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7739         <xsd:element name="called_name_q" type="Expression_Class"/>
7740         <xsd:element name="call_statement_parameters_ql" type="Association_List"/>
7741      </xsd:sequence>
7742      <xsd:attribute name="checks" type="xsd:string"/>
7743      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7744   </xsd:complexType>
7745
7746   <xsd:element name="requeue_statement" type="Requeue_Statement"/>
7747
7748   <xsd:complexType name="Requeue_Statement">
7749      <xsd:sequence>
7750         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7751         <xsd:element name="requeue_entry_name_q" type="Name_Class"/>
7752      </xsd:sequence>
7753      <xsd:attribute name="checks" type="xsd:string"/>
7754      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7755   </xsd:complexType>
7756
7757   <xsd:element name="requeue_statement_with_abort" type="Requeue_Statement_With_Abort"/>
7758
7759   <xsd:complexType name="Requeue_Statement_With_Abort">
7760      <xsd:sequence>
7761         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7762         <xsd:element name="requeue_entry_name_q" type="Name_Class"/>
7763      </xsd:sequence>
7764      <xsd:attribute name="checks" type="xsd:string"/>
7765      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7766   </xsd:complexType>
7767
7768   <xsd:element name="delay_until_statement" type="Delay_Until_Statement"/>
7769
7770   <xsd:complexType name="Delay_Until_Statement">
7771      <xsd:sequence>
7772         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7773         <xsd:element name="delay_expression_q" type="Expression_Class"/>
7774      </xsd:sequence>
7775      <xsd:attribute name="checks" type="xsd:string"/>
7776      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7777   </xsd:complexType>
7778
7779   <xsd:element name="delay_relative_statement" type="Delay_Relative_Statement"/>
7780
7781   <xsd:complexType name="Delay_Relative_Statement">
7782      <xsd:sequence>
7783         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7784         <xsd:element name="delay_expression_q" type="Expression_Class"/>
7785      </xsd:sequence>
7786      <xsd:attribute name="checks" type="xsd:string"/>
7787      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7788   </xsd:complexType>
7789
7790   <xsd:element name="terminate_alternative_statement" type="Terminate_Alternative_Statement"/>
7791
7792   <xsd:complexType name="Terminate_Alternative_Statement">
7793      <xsd:attribute name="checks" type="xsd:string"/>
7794      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7795   </xsd:complexType>
7796
7797   <xsd:element name="selective_accept_statement" type="Selective_Accept_Statement"/>
7798
7799   <xsd:complexType name="Selective_Accept_Statement">
7800      <xsd:sequence>
7801         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7802         <xsd:element name="statement_paths_ql" type="Path_List"/>
7803      </xsd:sequence>
7804      <xsd:attribute name="checks" type="xsd:string"/>
7805      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7806   </xsd:complexType>
7807
7808   <xsd:element name="timed_entry_call_statement" type="Timed_Entry_Call_Statement"/>
7809
7810   <xsd:complexType name="Timed_Entry_Call_Statement">
7811      <xsd:sequence>
7812         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7813         <xsd:element name="statement_paths_ql" type="Path_List"/>
7814      </xsd:sequence>
7815      <xsd:attribute name="checks" type="xsd:string"/>
7816      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7817   </xsd:complexType>
7818
7819   <xsd:element name="conditional_entry_call_statement" type="Conditional_Entry_Call_Statement"/>
7820
7821   <xsd:complexType name="Conditional_Entry_Call_Statement">
7822      <xsd:sequence>
7823         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7824         <xsd:element name="statement_paths_ql" type="Path_List"/>
7825      </xsd:sequence>
7826      <xsd:attribute name="checks" type="xsd:string"/>
7827      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7828   </xsd:complexType>
7829
7830   <xsd:element name="asynchronous_select_statement" type="Asynchronous_Select_Statement"/>
7831
7832   <xsd:complexType name="Asynchronous_Select_Statement">
7833      <xsd:sequence>
7834         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7835         <xsd:element name="statement_paths_ql" type="Path_List"/>
7836      </xsd:sequence>
7837      <xsd:attribute name="checks" type="xsd:string"/>
7838      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7839   </xsd:complexType>
7840
7841   <xsd:element name="abort_statement" type="Abort_Statement"/>
7842
7843   <xsd:complexType name="Abort_Statement">
7844      <xsd:sequence>
7845         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7846         <xsd:element name="aborted_tasks_ql" type="Expression_List"/>
7847      </xsd:sequence>
7848      <xsd:attribute name="checks" type="xsd:string"/>
7849      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7850   </xsd:complexType>
7851
7852   <xsd:element name="raise_statement" type="Raise_Statement"/>
7853
7854   <xsd:complexType name="Raise_Statement">
7855      <xsd:sequence>
7856         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7857         <xsd:element name="raised_exception_q" type="Expression_Class"/>
7858         <xsd:element name="associated_message_q" type="Expression_Class"/>
7859      </xsd:sequence>
7860      <xsd:attribute name="checks" type="xsd:string"/>
7861      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7862   </xsd:complexType>
7863
7864   <xsd:element name="code_statement" type="Code_Statement"/>
7865
7866   <xsd:complexType name="Code_Statement">
7867      <xsd:sequence>
7868         <xsd:element name="label_names_ql" type="Defining_Name_List"/>
7869         <xsd:element name="qualified_expression_q" type="Expression_Class"/>
7870      </xsd:sequence>
7871      <xsd:attribute name="checks" type="xsd:string"/>
7872      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7873   </xsd:complexType>
7874
7875   <xsd:element name="if_path" type="If_Path"/>
7876
7877   <xsd:complexType name="If_Path">
7878      <xsd:sequence>
7879         <xsd:element name="condition_expression_q" type="Expression_Class"/>
7880         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7881      </xsd:sequence>
7882      <xsd:attribute name="checks" type="xsd:string"/>
7883      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7884   </xsd:complexType>
7885
7886   <xsd:element name="elsif_path" type="Elsif_Path"/>
7887
7888   <xsd:complexType name="Elsif_Path">
7889      <xsd:sequence>
7890         <xsd:element name="condition_expression_q" type="Expression_Class"/>
7891         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7892      </xsd:sequence>
7893      <xsd:attribute name="checks" type="xsd:string"/>
7894      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7895   </xsd:complexType>
7896
7897   <xsd:element name="else_path" type="Else_Path"/>
7898
7899   <xsd:complexType name="Else_Path">
7900      <xsd:sequence>
7901         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7902      </xsd:sequence>
7903      <xsd:attribute name="checks" type="xsd:string"/>
7904      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7905   </xsd:complexType>
7906
7907   <xsd:element name="case_path" type="Case_Path"/>
7908
7909   <xsd:complexType name="Case_Path">
7910      <xsd:sequence>
7911         <xsd:element name="case_path_alternative_choices_ql" type="Element_List"/>
7912         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7913      </xsd:sequence>
7914      <xsd:attribute name="checks" type="xsd:string"/>
7915      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7916   </xsd:complexType>
7917
7918   <xsd:element name="select_path" type="Select_Path"/>
7919
7920   <xsd:complexType name="Select_Path">
7921      <xsd:sequence>
7922         <xsd:element name="guard_q" type="Expression_Class"/>
7923         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7924      </xsd:sequence>
7925      <xsd:attribute name="checks" type="xsd:string"/>
7926      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7927   </xsd:complexType>
7928
7929   <xsd:element name="or_path" type="Or_Path"/>
7930
7931   <xsd:complexType name="Or_Path">
7932      <xsd:sequence>
7933         <xsd:element name="guard_q" type="Expression_Class"/>
7934         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7935      </xsd:sequence>
7936      <xsd:attribute name="checks" type="xsd:string"/>
7937      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7938   </xsd:complexType>
7939
7940   <xsd:element name="then_abort_path" type="Then_Abort_Path"/>
7941
7942   <xsd:complexType name="Then_Abort_Path">
7943      <xsd:sequence>
7944         <xsd:element name="sequence_of_statements_ql" type="Statement_List"/>
7945      </xsd:sequence>
7946      <xsd:attribute name="checks" type="xsd:string"/>
7947      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7948   </xsd:complexType>
7949
7950   <xsd:element name="case_expression_path" type="Case_Expression_Path"/>
7951
7952   <xsd:complexType name="Case_Expression_Path">
7953      <xsd:sequence>
7954         <xsd:element name="case_path_alternative_choices_ql" type="Element_List"/>
7955         <xsd:element name="dependent_expression_q" type="Expression_Class"/>
7956      </xsd:sequence>
7957      <xsd:attribute name="checks" type="xsd:string"/>
7958      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7959   </xsd:complexType>
7960
7961   <xsd:element name="if_expression_path" type="If_Expression_Path"/>
7962
7963   <xsd:complexType name="If_Expression_Path">
7964      <xsd:sequence>
7965         <xsd:element name="condition_expression_q" type="Expression_Class"/>
7966         <xsd:element name="dependent_expression_q" type="Expression_Class"/>
7967      </xsd:sequence>
7968      <xsd:attribute name="checks" type="xsd:string"/>
7969      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7970   </xsd:complexType>
7971
7972   <xsd:element name="elsif_expression_path" type="Elsif_Expression_Path"/>
7973
7974   <xsd:complexType name="Elsif_Expression_Path">
7975      <xsd:sequence>
7976         <xsd:element name="condition_expression_q" type="Expression_Class"/>
7977         <xsd:element name="dependent_expression_q" type="Expression_Class"/>
7978      </xsd:sequence>
7979      <xsd:attribute name="checks" type="xsd:string"/>
7980      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7981   </xsd:complexType>
7982
7983   <xsd:element name="else_expression_path" type="Else_Expression_Path"/>
7984
7985   <xsd:complexType name="Else_Expression_Path">
7986      <xsd:sequence>
7987         <xsd:element name="dependent_expression_q" type="Expression_Class"/>
7988      </xsd:sequence>
7989      <xsd:attribute name="checks" type="xsd:string"/>
7990      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
7991   </xsd:complexType>
7992
7993   <xsd:element name="use_package_clause" type="Use_Package_Clause"/>
7994
7995   <xsd:complexType name="Use_Package_Clause">
7996      <xsd:sequence>
7997         <xsd:element name="clause_names_ql" type="Name_List"/>
7998      </xsd:sequence>
7999      <xsd:attribute name="checks" type="xsd:string"/>
8000      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8001   </xsd:complexType>
8002
8003   <xsd:element name="use_type_clause" type="Use_Type_Clause"/>
8004
8005   <xsd:complexType name="Use_Type_Clause">
8006      <xsd:sequence>
8007         <xsd:element name="clause_names_ql" type="Name_List"/>
8008      </xsd:sequence>
8009      <xsd:attribute name="checks" type="xsd:string"/>
8010      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8011   </xsd:complexType>
8012
8013   <xsd:element name="use_all_type_clause" type="Use_All_Type_Clause"/>
8014
8015   <xsd:complexType name="Use_All_Type_Clause">
8016      <xsd:sequence>
8017         <xsd:element name="clause_names_ql" type="Name_List"/>
8018      </xsd:sequence>
8019      <xsd:attribute name="checks" type="xsd:string"/>
8020      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8021   </xsd:complexType>
8022
8023   <xsd:element name="with_clause" type="With_Clause"/>
8024
8025   <xsd:complexType name="With_Clause">
8026      <xsd:sequence>
8027         <xsd:element name="has_limited_q">
8028            <xsd:complexType>
8029               <xsd:choice>
8030                  <xsd:element name="limited" type="Limited"/>
8031                  <xsd:element name="not_an_element" type="Not_An_Element"/>
8032               </xsd:choice>
8033            </xsd:complexType>
8034         </xsd:element>
8035         <xsd:element name="has_private_q">
8036            <xsd:complexType>
8037               <xsd:choice>
8038                  <xsd:element name="private" type="Private"/>
8039                  <xsd:element name="not_an_element" type="Not_An_Element"/>
8040               </xsd:choice>
8041            </xsd:complexType>
8042         </xsd:element>
8043         <xsd:element name="clause_names_ql" type="Name_List"/>
8044      </xsd:sequence>
8045      <xsd:attribute name="checks" type="xsd:string"/>
8046      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8047   </xsd:complexType>
8048
8049   <xsd:element name="attribute_definition_clause" type="Attribute_Definition_Clause"/>
8050
8051   <xsd:complexType name="Attribute_Definition_Clause">
8052      <xsd:sequence>
8053         <xsd:element name="representation_clause_name_q" type="Name_Class"/>
8054         <xsd:element name="representation_clause_expression_q" type="Expression_Class"/>
8055      </xsd:sequence>
8056      <xsd:attribute name="checks" type="xsd:string"/>
8057      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8058   </xsd:complexType>
8059
8060   <xsd:element name="enumeration_representation_clause" type="Enumeration_Representation_Clause"/>
8061
8062   <xsd:complexType name="Enumeration_Representation_Clause">
8063      <xsd:sequence>
8064         <xsd:element name="representation_clause_name_q" type="Name_Class"/>
8065         <xsd:element name="representation_clause_expression_q" type="Expression_Class"/>
8066      </xsd:sequence>
8067      <xsd:attribute name="checks" type="xsd:string"/>
8068      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8069   </xsd:complexType>
8070
8071   <xsd:element name="record_representation_clause" type="Record_Representation_Clause"/>
8072
8073   <xsd:complexType name="Record_Representation_Clause">
8074      <xsd:sequence>
8075         <xsd:element name="representation_clause_name_q" type="Name_Class"/>
8076         <xsd:element name="mod_clause_expression_q" type="Expression_Class"/>
8077         <xsd:element name="component_clauses_ql" type="Component_Clause_List"/>
8078      </xsd:sequence>
8079      <xsd:attribute name="checks" type="xsd:string"/>
8080      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8081   </xsd:complexType>
8082
8083   <xsd:element name="at_clause" type="At_Clause"/>
8084
8085   <xsd:complexType name="At_Clause">
8086      <xsd:sequence>
8087         <xsd:element name="representation_clause_name_q" type="Name_Class"/>
8088         <xsd:element name="representation_clause_expression_q" type="Expression_Class"/>
8089      </xsd:sequence>
8090      <xsd:attribute name="checks" type="xsd:string"/>
8091      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8092   </xsd:complexType>
8093
8094   <xsd:element name="component_clause" type="Component_Clause"/>
8095
8096   <xsd:complexType name="Component_Clause">
8097      <xsd:sequence>
8098         <xsd:element name="representation_clause_name_q" type="Name_Class"/>
8099         <xsd:element name="component_clause_position_q" type="Expression_Class"/>
8100         <xsd:element name="component_clause_range_q" type="Discrete_Range_Class"/>
8101      </xsd:sequence>
8102      <xsd:attribute name="checks" type="xsd:string"/>
8103      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8104   </xsd:complexType>
8105
8106   <xsd:element name="exception_handler" type="Exception_Handler"/>
8107
8108   <xsd:complexType name="Exception_Handler">
8109      <xsd:sequence>
8110         <xsd:element name="choice_parameter_specification_q" type="Declaration_Class"/>
8111         <xsd:element name="exception_choices_ql" type="Element_List"/>
8112         <xsd:element name="handler_statements_ql" type="Statement_List"/>
8113      </xsd:sequence>
8114      <xsd:attribute name="checks" type="xsd:string"/>
8115      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8116   </xsd:complexType>
8117
8118   <xsd:element name="comment" type="Comment"/>
8119
8120   <xsd:complexType name="Comment">
8121      <xsd:attribute name="text" type="xsd:string" use="required"/>
8122      <xsd:attribute name="checks" type="xsd:string"/>
8123      <xsd:attribute name="sloc" type="Source_Location" use="required"/>
8124   </xsd:complexType>
8125
8126</xsd:schema>
8127