Changes between Version 1 and Version 2 of XmlSchemaRootNamespace


Ignore:
Timestamp:
12/21/11 16:04:00 (14 years ago)
Author:
stachnik
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • XmlSchemaRootNamespace

    v1 v2  
    1  * {{{ ASTNode.xsd }}}
    2 {{{
    3 #!xml
    4 <?xml version="1.0"?>
    5 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
    6   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="statement/expression/AssignmentNode.xsd"/>
    7   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" schemaLocation="statement/AssertStatementNode.xsd"/>
    8   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
    9   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="statement/expression/BindingExpressionNode.xsd"/>
    10   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" schemaLocation="statement/BlockNode.xsd"/>
    11   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
    12   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" schemaLocation="declaration/BoundVariableDeclarationNode.xsd"/>
    13   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
    14   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
    15   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
    16   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="statement/expression/FunctionInvocationNode.xsd"/>
    17   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="statement/ForLoopNode.xsd"/>
    18   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
    19   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
    20   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
    21   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
    22   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
    23   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="statement/expression/IntegerLiteralNode.xsd"/>
    24   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="statement/expression/IncrementNode.xsd"/>
    25   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="statement/IfThenElseStatementNode.xsd"/>
    26   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
    27   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
    28   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="statement/expression/LHSExpressionNode.xsd"/>
    29   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="statement/expression/LiteralNode.xsd"/>
    30   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="statement/LoopNode.xsd"/>
    31   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" schemaLocation="declaration/LocalVariableDeclarationNode.xsd"/>
    32   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="statement/expression/ModificationNode.xsd"/>
    33   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    34   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="statement/expression/OperatorNode.xsd"/>
    35   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="statement/expression/PureExpressionNode.xsd"/>
    36   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" schemaLocation="statement/PragmaNode.xsd"/>
    37   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
    38   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
    39   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" schemaLocation="statement/ReturnNode.xsd"/>
    40   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="statement/expression/RealLiteralNode.xsd"/>
    41   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
    42   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode" schemaLocation="RootNode.xsd"/>
    43   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
    44   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="statement/expression/SideEffectExpressionNode.xsd"/>
    45   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
    46   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="statement/expression/SubscriptNode.xsd"/>
    47   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
    48   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" schemaLocation="SizeableNode.xsd"/>
    49   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
    50   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
    51   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
    52   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
    53   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
    54   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
    55   <xs:group name="_ASTNodeGroup">
    56     <xs:sequence>
    57       <xs:element name="id_ASTNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    58       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    59     </xs:sequence>
    60   </xs:group>
    61   <xs:complexType name="ASTNode">
    62     <xs:choice>
    63       <xs:group ref="astnode:_ASTNodeGroup"/>
    64       <xs:group ref="vtn:_VoidTypeNodeGroup"/>
    65       <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
    66       <xs:group ref="vdn:_VariableDeclarationNodeGroup"/>
    67       <xs:group ref="lvdn:_LocalVariableDeclarationNodeGroup"/>
    68       <xs:group ref="gvdn:_GlobalVariableDeclarationNodeGroup"/>
    69       <xs:group ref="fvdn:_FormalVariableDeclarationNodeGroup"/>
    70       <xs:group ref="bvn:_BoundVariableDeclarationNodeGroup"/>
    71       <xs:group ref="trn:_TypeReferenceNodeGroup"/>
    72       <xs:group ref="tyn:_TypeNodeGroup"/>
    73       <xs:group ref="rtyn:_RealTypeNodeGroup"/>
    74       <xs:group ref="ptn:_PointerTypeNodeGroup"/>
    75       <xs:group ref="itn:_IntegerTypeNodeGroup"/>
    76       <xs:group ref="ctn:_CompositeTypeNodeGroup"/>
    77       <xs:group ref="btn:_BooleanTypeNodeGroup"/>
    78       <xs:group ref="atn:_ArrayTypeNodeGroup"/>
    79       <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
    80       <xs:group ref="ssn:_SubscriptNodeGroup"/>
    81       <xs:group ref="stn:_StatementNodeGroup"/>
    82       <xs:group ref="seen:_SideEffectExpressionNodeGroup"/>
    83       <xs:group ref="mdn:_ModificationNodeGroup"/>
    84       <xs:group ref="in:_IncrementNodeGroup"/>
    85       <xs:group ref="asn:_AssignmentNodeGroup"/>
    86       <xs:group ref="retn:_ReturnNodeGroup"/>
    87       <xs:group ref="rln:_RealLiteralNodeGroup"/>
    88       <xs:group ref="pen:_PureExpressionNodeGroup"/>
    89       <xs:group ref="on:_OperatorNodeGroup"/>
    90       <xs:group ref="ln:_LiteralNodeGroup"/>
    91       <xs:group ref="iln:_IntegerLiteralNodeGroup"/>
    92       <xs:group ref="lhsn:_LHSExpressionNodeGroup"/>
    93       <xs:group ref="ben:_BindingExpressionNodeGroup"/>
    94       <xs:group ref="loopn:_LoopNodeGroup"/>
    95       <xs:group ref="fln:_ForLoopNodeGroup"/>
    96       <xs:group ref="ite:_IfThenElseStatementNodeGroup"/>
    97       <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
    98       <xs:group ref="fin:_FunctionInvocationNodeGroup"/>
    99       <xs:group ref="exn:_ExpressionNodeGroup"/>
    100       <xs:group ref="bn:_BlockNodeGroup"/>
    101       <xs:group ref="asrn:_AssertStatementNodeGroup"/>
    102       <xs:group ref="szn:_SizeableNodeGroup"/>
    103       <xs:group ref="seq:_PairNode_IdentifierNode_TypeNodesGroup"/>
    104       <xs:group ref="seq:_VariableDeclarationNodesGroup"/>
    105       <xs:group ref="seq:_StatementNodesGroup"/>
    106       <xs:group ref="seq:_LabelNodesGroup"/>
    107       <xs:group ref="seq:_GlobalScopeNodesGroup"/>
    108       <xs:group ref="seq:_FormalVariableDeclarationNodesGroup"/>
    109       <xs:group ref="seq:_FileNodesGroup"/>
    110       <xs:group ref="seq:_ExpressionNodesGroup"/>
    111       <xs:group ref="rtn:_RootNodeGroup"/>
    112       <xs:group ref="rn:_ReferenceNodeGroup"/>
    113       <xs:group ref="pn:_PragmaNodeGroup"/>
    114       <xs:group ref="pnn:_PairNode_IdentifierNode_TypeNodeGroup"/>
    115       <xs:group ref="lbln:_LabelNodeGroup"/>
    116       <xs:group ref="idn:_IdentifierNodeGroup"/>
    117       <xs:group ref="gsn:_GlobalScopeNodeGroup"/>
    118       <xs:group ref="fdn:_FunctionDeclarationNodeGroup"/>
    119     </xs:choice>
    120   </xs:complexType>
    121 </xs:schema>
    122 }}}
    123  * {{{ FileNode.xsd }}}
    124 {{{
    125 #!xml
    126 <?xml version="1.0"?>
    127 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/FileNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode">
    128   <xs:group name="_FileNodeGroup">
    129     <xs:sequence>
    130       <xs:element name="id_FileNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    131       <xs:element name="fileName" type="xs:string" minOccurs="1" maxOccurs="1"/>
    132       <xs:element name="contents" type="xs:string" minOccurs="0" maxOccurs="1"/>
    133       <xs:element name="isSystem" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    134     </xs:sequence>
    135   </xs:group>
    136   <xs:complexType name="FileNode">
    137     <xs:choice>
    138       <xs:group ref="file:_FileNodeGroup"/>
    139     </xs:choice>
    140   </xs:complexType>
    141 </xs:schema>
    142 }}}
    143  * {{{ GlobalScopeNode.xsd }}}
    144 {{{
    145 #!xml
    146 <?xml version="1.0"?>
    147 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode">
    148   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
    149   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
    150   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    151   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
    152   <xs:group name="_GlobalScopeNodeGroup">
    153     <xs:sequence>
    154       <xs:element name="id_GlobalScopeNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    155       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    156     </xs:sequence>
    157   </xs:group>
    158   <xs:complexType name="GlobalScopeNode">
    159     <xs:choice>
    160       <xs:group ref="gsn:_GlobalScopeNodeGroup"/>
    161       <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
    162       <xs:group ref="gvdn:_GlobalVariableDeclarationNodeGroup"/>
    163       <xs:group ref="fdn:_FunctionDeclarationNodeGroup"/>
    164     </xs:choice>
    165   </xs:complexType>
    166 </xs:schema>
    167 }}}
    168  * {{{ IdentifierNode.xsd }}}
    169 {{{
    170 #!xml
    171 <?xml version="1.0"?>
    172 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
    173   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
    174   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    175   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
    176   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
    177   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
    178   <xs:group name="_IdentifierNodeGroup">
    179     <xs:sequence>
    180       <xs:element name="id_IdentifierNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    181       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    182       <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
    183     </xs:sequence>
    184   </xs:group>
    185   <xs:complexType name="IdentifierNode">
    186     <xs:choice>
    187       <xs:group ref="idn:_IdentifierNodeGroup"/>
    188       <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
    189       <xs:group ref="trn:_TypeReferenceNodeGroup"/>
    190       <xs:group ref="rn:_ReferenceNodeGroup"/>
    191       <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
    192     </xs:choice>
    193   </xs:complexType>
    194 </xs:schema>
    195 }}}
    196  * {{{ LabelNode.xsd }}}
    197 {{{
    198 #!xml
    199 <?xml version="1.0"?>
    200 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode">
    201   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
    202   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    203   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
    204   <xs:group name="_LabelNodeGroup">
    205     <xs:sequence>
    206       <xs:element name="id_LabelNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    207       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    208       <xs:element name="stn_statement" type="xs:int" minOccurs="0" maxOccurs="1"/>
    209       <xs:element name="identifier" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
    210     </xs:sequence>
    211   </xs:group>
    212   <xs:complexType name="LabelNode">
    213     <xs:choice>
    214       <xs:group ref="lbln:_LabelNodeGroup"/>
    215     </xs:choice>
    216   </xs:complexType>
    217 </xs:schema>
    218 }}}
    219  * {{{ PairNode.xsd }}}
    220 {{{
    221 #!xml
    222 <?xml version="1.0"?>
    223 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
    224   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
    225   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    226   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
    227   <xs:group name="_PairNode_IdentifierNode_TypeNodeGroup">
    228     <xs:sequence>
    229       <xs:element name="id_PairNode_IdentifierNode_TypeNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    230       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    231       <xs:element name="left" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
    232       <xs:element name="right" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
    233     </xs:sequence>
    234   </xs:group>
    235   <xs:complexType name="PairNode_IdentifierNode_TypeNode">
    236     <xs:choice>
    237       <xs:group ref="pnn:_PairNode_IdentifierNode_TypeNodeGroup"/>
    238     </xs:choice>
    239   </xs:complexType>
    240 </xs:schema>
    241 }}}
    242  * {{{ ReferenceNode.xsd }}}
    243 {{{
    244 #!xml
    245 <?xml version="1.0"?>
    246 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode">
    247   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
    248   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    249   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
    250   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
    251   <xs:group name="_ReferenceNodeGroup">
    252     <xs:sequence>
    253       <xs:element name="id_ReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    254       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    255       <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
    256     </xs:sequence>
    257   </xs:group>
    258   <xs:complexType name="ReferenceNode">
    259     <xs:choice>
    260       <xs:group ref="rn:_ReferenceNodeGroup"/>
    261       <xs:group ref="vrn:_VariableReferenceNodeGroup"/>
    262       <xs:group ref="trn:_TypeReferenceNodeGroup"/>
    263       <xs:group ref="frn:_FunctionReferenceNodeGroup"/>
    264     </xs:choice>
    265   </xs:complexType>
    266 </xs:schema>
    267 }}}
    268  * {{{ RootNode.xsd }}}
    269 {{{
    270 #!xml
    271 <?xml version="1.0"?>
    272 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode">
    273   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
    274   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    275   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
    276   <xs:group name="_RootNodeGroup">
    277     <xs:sequence>
    278       <xs:element name="id_RootNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    279       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    280       <xs:element name="fdn_mainFunction" type="xs:int" minOccurs="0" maxOccurs="1"/>
    281       <xs:element name="globalScopeNodes" type="seq:GlobalScopeNodes" minOccurs="1" maxOccurs="1"/>
    282       <xs:element name="files" type="seq:FileNodes" minOccurs="1" maxOccurs="1"/>
    283     </xs:sequence>
    284   </xs:group>
    285   <xs:complexType name="RootNode">
    286     <xs:choice>
    287       <xs:group ref="rtn:_RootNodeGroup"/>
    288     </xs:choice>
    289   </xs:complexType>
    290 </xs:schema>
    291 }}}
    292  * {{{ SequenceNode.xsd }}}
    293 {{{
    294 #!xml
    295 <?xml version="1.0"?>
    296 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode" xmlns:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode">
    297   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
    298   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/FileNode" schemaLocation="FileNode.xsd"/>
    299   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
    300   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
    301   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
    302   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    303   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
    304   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
    305   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
    306   <xs:group name="_ExpressionNodesGroup">
    307     <xs:sequence>
    308       <xs:element name="id_ExpressionNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    309       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    310       <xs:sequence maxOccurs="unbounded">
    311         <xs:element name="child" type="exn:ExpressionNode" minOccurs="0" maxOccurs="1"/>
    312       </xs:sequence>
    313     </xs:sequence>
    314   </xs:group>
    315   <xs:group name="_FileNodesGroup">
    316     <xs:sequence>
    317       <xs:element name="id_FileNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    318       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    319       <xs:sequence maxOccurs="unbounded">
    320         <xs:element name="child" type="file:FileNode" minOccurs="0" maxOccurs="1"/>
    321       </xs:sequence>
    322     </xs:sequence>
    323   </xs:group>
    324   <xs:group name="_FormalVariableDeclarationNodesGroup">
    325     <xs:sequence>
    326       <xs:element name="id_FormalVariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    327       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    328       <xs:sequence maxOccurs="unbounded">
    329         <xs:element name="child" type="fvdn:FormalVariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
    330       </xs:sequence>
    331     </xs:sequence>
    332   </xs:group>
    333   <xs:group name="_GlobalScopeNodesGroup">
    334     <xs:sequence>
    335       <xs:element name="id_GlobalScopeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    336       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    337       <xs:sequence maxOccurs="unbounded">
    338         <xs:element name="child" type="gsn:GlobalScopeNode" minOccurs="0" maxOccurs="1"/>
    339       </xs:sequence>
    340     </xs:sequence>
    341   </xs:group>
    342   <xs:group name="_LabelNodesGroup">
    343     <xs:sequence>
    344       <xs:element name="id_LabelNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    345       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    346       <xs:sequence maxOccurs="unbounded">
    347         <xs:element name="child" type="lbln:LabelNode" minOccurs="0" maxOccurs="1"/>
    348       </xs:sequence>
    349     </xs:sequence>
    350   </xs:group>
    351   <xs:group name="_StatementNodesGroup">
    352     <xs:sequence>
    353       <xs:element name="id_StatementNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    354       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    355       <xs:sequence maxOccurs="unbounded">
    356         <xs:element name="child" type="stn:StatementNode" minOccurs="0" maxOccurs="1"/>
    357       </xs:sequence>
    358     </xs:sequence>
    359   </xs:group>
    360   <xs:group name="_VariableDeclarationNodesGroup">
    361     <xs:sequence>
    362       <xs:element name="id_VariableDeclarationNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    363       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    364       <xs:sequence maxOccurs="unbounded">
    365         <xs:element name="child" type="vdn:VariableDeclarationNode" minOccurs="0" maxOccurs="1"/>
    366       </xs:sequence>
    367     </xs:sequence>
    368   </xs:group>
    369   <xs:group name="_PairNode_IdentifierNode_TypeNodesGroup">
    370     <xs:sequence>
    371       <xs:element name="id_PairNode_IdentifierNode_TypeNodes" type="xs:int" minOccurs="1" maxOccurs="1"/>
    372       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    373       <xs:sequence maxOccurs="unbounded">
    374         <xs:element name="child" type="pnn:PairNode_IdentifierNode_TypeNode" minOccurs="0" maxOccurs="1"/>
    375       </xs:sequence>
    376     </xs:sequence>
    377   </xs:group>
    378   <xs:complexType name="ExpressionNodes">
    379     <xs:choice>
    380       <xs:group ref="seq:_ExpressionNodesGroup"/>
    381     </xs:choice>
    382   </xs:complexType>
    383   <xs:complexType name="FileNodes">
    384     <xs:choice>
    385       <xs:group ref="seq:_FileNodesGroup"/>
    386     </xs:choice>
    387   </xs:complexType>
    388   <xs:complexType name="FormalVariableDeclarationNodes">
    389     <xs:choice>
    390       <xs:group ref="seq:_FormalVariableDeclarationNodesGroup"/>
    391     </xs:choice>
    392   </xs:complexType>
    393   <xs:complexType name="GlobalScopeNodes">
    394     <xs:choice>
    395       <xs:group ref="seq:_GlobalScopeNodesGroup"/>
    396     </xs:choice>
    397   </xs:complexType>
    398   <xs:complexType name="LabelNodes">
    399     <xs:choice>
    400       <xs:group ref="seq:_LabelNodesGroup"/>
    401     </xs:choice>
    402   </xs:complexType>
    403   <xs:complexType name="StatementNodes">
    404     <xs:choice>
    405       <xs:group ref="seq:_StatementNodesGroup"/>
    406     </xs:choice>
    407   </xs:complexType>
    408   <xs:complexType name="VariableDeclarationNodes">
    409     <xs:choice>
    410       <xs:group ref="seq:_VariableDeclarationNodesGroup"/>
    411     </xs:choice>
    412   </xs:complexType>
    413   <xs:complexType name="PairNode_IdentifierNode_TypeNodes">
    414     <xs:choice>
    415       <xs:group ref="seq:_PairNode_IdentifierNode_TypeNodesGroup"/>
    416     </xs:choice>
    417   </xs:complexType>
    418 </xs:schema>
    419 }}}
    420  * {{{ SizeableNode.xsd }}}
    421 {{{
    422 #!xml
    423 <?xml version="1.0"?>
    424 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
    425   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
    426   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
    427   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
    428   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
    429   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    430   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
    431   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
    432   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
    433   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
    434   <xs:group name="_SizeableNodeGroup">
    435     <xs:sequence>
    436       <xs:element name="id_SizeableNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    437       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    438     </xs:sequence>
    439   </xs:group>
    440   <xs:complexType name="SizeableNode">
    441     <xs:choice>
    442       <xs:group ref="szn:_SizeableNodeGroup"/>
    443       <xs:group ref="vtn:_VoidTypeNodeGroup"/>
    444       <xs:group ref="tyn:_TypeNodeGroup"/>
    445       <xs:group ref="rtyn:_RealTypeNodeGroup"/>
    446       <xs:group ref="ptn:_PointerTypeNodeGroup"/>
    447       <xs:group ref="itn:_IntegerTypeNodeGroup"/>
    448       <xs:group ref="ctn:_CompositeTypeNodeGroup"/>
    449       <xs:group ref="btn:_BooleanTypeNodeGroup"/>
    450       <xs:group ref="atn:_ArrayTypeNodeGroup"/>
    451     </xs:choice>
    452   </xs:complexType>
    453 </xs:schema>
    454 }}}
    455  * {{{ TypeDefinitionNode.xsd }}}
    456 {{{
    457 #!xml
    458 <?xml version="1.0"?>
    459 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode">
    460   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
    461   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    462   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
    463   <xs:group name="_TypeDefinitionNodeGroup">
    464     <xs:sequence>
    465       <xs:element name="id_TypeDefinitionNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    466       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    467       <xs:element name="identifier" type="idn:IdentifierNode" minOccurs="1" maxOccurs="1"/>
    468       <xs:element name="type" type="tyn:TypeNode" minOccurs="1" maxOccurs="1"/>
    469     </xs:sequence>
    470   </xs:group>
    471   <xs:complexType name="TypeDefinitionNode">
    472     <xs:choice>
    473       <xs:group ref="tdn:_TypeDefinitionNodeGroup"/>
    474     </xs:choice>
    475   </xs:complexType>
    476 </xs:schema>
    477 }}}
    478  * {{{ TypeReferenceNode.xsd }}}
    479 {{{
    480 #!xml
    481 <?xml version="1.0"?>
    482 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc">
    483   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/misc" schemaLocation="misc.xsd"/>
    484   <xs:group name="_TypeReferenceNodeGroup">
    485     <xs:sequence>
    486       <xs:element name="id_TypeReferenceNode" type="xs:int" minOccurs="1" maxOccurs="1"/>
    487       <xs:element name="source" type="misc:Source" minOccurs="0" maxOccurs="1"/>
    488       <xs:element name="identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
    489     </xs:sequence>
    490   </xs:group>
    491   <xs:complexType name="TypeReferenceNode">
    492     <xs:choice>
    493       <xs:group ref="trn:_TypeReferenceNodeGroup"/>
    494     </xs:choice>
    495   </xs:complexType>
    496 </xs:schema>
    497 }}}
    498  * {{{ misc.xsd }}}
    499 {{{
    500 #!xml
    501 <?xml version="1.0"?>
    502 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    503            targetNamespace="http://vsl.cis.udel.edu/ns/tass/misc"
    504            xmlns:misc="http://vsl.cis.udel.edu/ns/tass/misc"
    505            elementFormDefault="qualified">
    506 
    507   <xs:simpleType name="Quantifier">
    508     <xs:restriction base="xs:string">
    509       <xs:enumeration value="FORALL" />
    510       <xs:enumeration value="EXISTS" />
    511       <xs:enumeration value="LAMBDA" />
    512       <xs:enumeration value="UNIFORM" />
    513       <xs:enumeration value="SUM" />
    514     </xs:restriction>
    515   </xs:simpleType>
    516 
    517   <xs:simpleType name="AST_OPERATOR">
    518     <xs:restriction base="xs:string">
    519       <xs:whiteSpace value="collapse" />
    520       <xs:enumeration value="ADD" />
    521       <xs:enumeration value="ADD_POINTER_INT" />
    522       <xs:enumeration value="ADDRESS_OF" />
    523       <xs:enumeration value="BIT_AND" />
    524       <xs:enumeration value="BIT_NOT" />
    525       <xs:enumeration value="BIT_OR" />
    526       <xs:enumeration value="BIT_XOR" />
    527       <xs:enumeration value="COND" />
    528       <xs:enumeration value="COMMA" />
    529       <xs:enumeration value="DIVIDE" />
    530       <xs:enumeration value="EQUALS" />
    531       <xs:enumeration value="GREATER_THAN" />
    532       <xs:enumeration value="GTE" />
    533       <xs:enumeration value="LEQ" />
    534       <xs:enumeration value="LESS_THAN" />
    535       <xs:enumeration value="LOGICAL_AND" />
    536       <xs:enumeration value="LOGICAL_NOT" />
    537       <xs:enumeration value="LOGICAL_OR" />
    538       <xs:enumeration value="MODULO" />
    539       <xs:enumeration value="MULTIPLY" />
    540       <xs:enumeration value="NEGATIVE" />
    541       <xs:enumeration value="NOT_EQUALS" />
    542       <xs:enumeration value="SHIFT_LEFT" />
    543       <xs:enumeration value="SHIFT_RIGHT" />
    544       <xs:enumeration value="SUBTRACT" />
    545       <xs:enumeration value="SUBTRACT_POINTER_INT" />
    546       <xs:enumeration value="SUBTRACT_POINTER_POINTER" />
    547     </xs:restriction>
    548   </xs:simpleType>
    549 
    550   <xs:simpleType name="StorageClass">
    551     <xs:restriction base="xs:string">
    552       <xs:enumeration value="EXTERNAL" />
    553       <xs:enumeration value="AUTO" />
    554       <xs:enumeration value="STATIC" />
    555       <xs:enumeration value="REGISTER" />
    556     </xs:restriction>
    557   </xs:simpleType>
    558 
    559   <xs:simpleType name="AST_ASSIGNMENT_TYPE">
    560     <xs:restriction base="xs:string">
    561       <xs:whiteSpace value="collapse" />
    562       <xs:enumeration value="SIMPLE" />
    563       <xs:enumeration value="MULTIPLICATION" />
    564       <xs:enumeration value="DIVISION" />
    565       <xs:enumeration value="REMAINDER" />
    566       <xs:enumeration value="ADDITION" />
    567       <xs:enumeration value="SUBTRACTION" />
    568       <xs:enumeration value="LEFT" />
    569       <xs:enumeration value="RIGHT" />
    570       <xs:enumeration value="AND" />
    571       <xs:enumeration value="XOR" />
    572       <xs:enumeration value="OR" />
    573     </xs:restriction>
    574   </xs:simpleType>
    575 
    576   <xs:simpleType name="IntType">
    577     <xs:restriction base="xs:string">
    578       <xs:enumeration value="CHAR" />
    579       <xs:enumeration value="SHORT" />
    580       <xs:enumeration value="INT" />
    581       <xs:enumeration value="LONG" />
    582       <xs:enumeration value="LONGLONG" />
    583     </xs:restriction>
    584   </xs:simpleType>
    585 
    586   <xs:simpleType name="FloatType">
    587     <xs:restriction base="xs:string">
    588       <xs:enumeration value="FLOAT" />
    589       <xs:enumeration value="DOUBLE" />
    590       <xs:enumeration value="LONG" />
    591     </xs:restriction>
    592   </xs:simpleType>
    593 
    594   <xs:complexType name="Source">
    595     <xs:attribute name="region" type="misc:SourceRegion" use="required" />
    596     <xs:attribute name="fileRef" type="xs:integer" use="required" />
    597   </xs:complexType>
    598 
    599   <xs:simpleType name="SourceRegion">
    600     <xs:restriction base="xs:string">
    601       <xs:annotation>
    602         <xs:documentation xml:lang="en-US">
    603           This type represents a region of source file and is to be
    604           parsed as the following:
    605           [startLine],[startColumn],[endLine],[endColumn]
    606           It is assumed that: endLine &gt;= startLine
    607           and if endLine == startLine that endColumn &gt; startColumn
    608         </xs:documentation>
    609       </xs:annotation>
    610       <xs:pattern value="\d+,\d+,\d+,\d+" />
    611     </xs:restriction>
    612   </xs:simpleType>
    613  
    614 </xs:schema>
    615 }}}
    616  * {{{ tass_ast.xsd }}}
    617 {{{
    618 #!xml
    619 <?xml version="1.0"?>
    620 <xs:schema targetNamespace="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:scroot="http://vsl.cis.udel.edu/ns/tass/tass_ast" xmlns:asn="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" xmlns:asrn="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" xmlns:astnode="http://vsl.cis.udel.edu/ns/tass/ASTNode" xmlns:atn="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" xmlns:ben="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" xmlns:bn="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" xmlns:btn="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" xmlns:bvn="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" xmlns:ctn="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" xmlns:exn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" xmlns:fdn="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" xmlns:file="http://vsl.cis.udel.edu/ns/tass/FileNode" xmlns:fin="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" xmlns:fln="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" xmlns:frn="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" xmlns:fvdn="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" xmlns:gsn="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" xmlns:gvdn="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" xmlns:idn="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" xmlns:iln="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" xmlns:in="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" xmlns:ite="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" xmlns:itn="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" xmlns:lbln="http://vsl.cis.udel.edu/ns/tass/LabelNode" xmlns:lhsn="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" xmlns:ln="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" xmlns:loopn="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" xmlns:lvdn="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" xmlns:mdn="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" xmlns:on="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" xmlns:pen="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" xmlns:pn="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" xmlns:pnn="http://vsl.cis.udel.edu/ns/tass/PairNode" xmlns:ptn="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" xmlns:retn="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" xmlns:rln="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" xmlns:rn="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" xmlns:rtn="http://vsl.cis.udel.edu/ns/tass/RootNode" xmlns:rtyn="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" xmlns:seen="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" xmlns:seq="http://vsl.cis.udel.edu/ns/tass/SequenceNode" xmlns:ssn="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" xmlns:stn="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" xmlns:szn="http://vsl.cis.udel.edu/ns/tass/SizeableNode" xmlns:tdn="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" xmlns:trn="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" xmlns:tyn="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" xmlns:vdn="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" xmlns:vrn="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" xmlns:vtn="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode">
    621   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/AssignmentNode" schemaLocation="statement/expression/AssignmentNode.xsd"/>
    622   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/AssertStatementNode" schemaLocation="statement/AssertStatementNode.xsd"/>
    623   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ASTNode" schemaLocation="ASTNode.xsd"/>
    624   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/ArrayTypeNode" schemaLocation="type/ArrayTypeNode.xsd"/>
    625   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/BindingExpressionNode" schemaLocation="statement/expression/BindingExpressionNode.xsd"/>
    626   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/BlockNode" schemaLocation="statement/BlockNode.xsd"/>
    627   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/BooleanTypeNode" schemaLocation="type/BooleanTypeNode.xsd"/>
    628   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/BoundVariableDeclarationNode" schemaLocation="declaration/BoundVariableDeclarationNode.xsd"/>
    629   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/CompositeTypeNode" schemaLocation="type/CompositeTypeNode.xsd"/>
    630   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ExpressionNode" schemaLocation="statement/expression/ExpressionNode.xsd"/>
    631   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FunctionDeclarationNode" schemaLocation="declaration/FunctionDeclarationNode.xsd"/>
    632   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/FileNode" schemaLocation="FileNode.xsd"/>
    633   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionInvocationNode" schemaLocation="statement/expression/FunctionInvocationNode.xsd"/>
    634   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ForLoopNode" schemaLocation="statement/ForLoopNode.xsd"/>
    635   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/FunctionReferenceNode" schemaLocation="statement/expression/FunctionReferenceNode.xsd"/>
    636   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/FormalVariableDeclarationNode" schemaLocation="declaration/FormalVariableDeclarationNode.xsd"/>
    637   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/GlobalScopeNode" schemaLocation="GlobalScopeNode.xsd"/>
    638   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/GlobalVariableDeclarationNode" schemaLocation="declaration/GlobalVariableDeclarationNode.xsd"/>
    639   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/IdentifierNode" schemaLocation="IdentifierNode.xsd"/>
    640   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IntegerLiteralNode" schemaLocation="statement/expression/IntegerLiteralNode.xsd"/>
    641   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/IncrementNode" schemaLocation="statement/expression/IncrementNode.xsd"/>
    642   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/IfThenElseStatementNode" schemaLocation="statement/IfThenElseStatementNode.xsd"/>
    643   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/IntegerTypeNode" schemaLocation="type/IntegerTypeNode.xsd"/>
    644   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/LabelNode" schemaLocation="LabelNode.xsd"/>
    645   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LHSExpressionNode" schemaLocation="statement/expression/LHSExpressionNode.xsd"/>
    646   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/LiteralNode" schemaLocation="statement/expression/LiteralNode.xsd"/>
    647   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/LoopNode" schemaLocation="statement/LoopNode.xsd"/>
    648   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/LocalVariableDeclarationNode" schemaLocation="declaration/LocalVariableDeclarationNode.xsd"/>
    649   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/ModificationNode" schemaLocation="statement/expression/ModificationNode.xsd"/>
    650   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/OperatorNode" schemaLocation="statement/expression/OperatorNode.xsd"/>
    651   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/PureExpressionNode" schemaLocation="statement/expression/PureExpressionNode.xsd"/>
    652   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/PragmaNode" schemaLocation="statement/PragmaNode.xsd"/>
    653   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/PairNode" schemaLocation="PairNode.xsd"/>
    654   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/PointerTypeNode" schemaLocation="type/PointerTypeNode.xsd"/>
    655   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/ReturnNode" schemaLocation="statement/ReturnNode.xsd"/>
    656   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/RealLiteralNode" schemaLocation="statement/expression/RealLiteralNode.xsd"/>
    657   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/ReferenceNode" schemaLocation="ReferenceNode.xsd"/>
    658   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/RootNode" schemaLocation="RootNode.xsd"/>
    659   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/RealTypeNode" schemaLocation="type/RealTypeNode.xsd"/>
    660   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SideEffectExpressionNode" schemaLocation="statement/expression/SideEffectExpressionNode.xsd"/>
    661   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SequenceNode" schemaLocation="SequenceNode.xsd"/>
    662   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/SubscriptNode" schemaLocation="statement/expression/SubscriptNode.xsd"/>
    663   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/StatementNode" schemaLocation="statement/StatementNode.xsd"/>
    664   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/SizeableNode" schemaLocation="SizeableNode.xsd"/>
    665   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeDefinitionNode" schemaLocation="TypeDefinitionNode.xsd"/>
    666   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/TypeReferenceNode" schemaLocation="TypeReferenceNode.xsd"/>
    667   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/TypeNode" schemaLocation="type/TypeNode.xsd"/>
    668   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/declaration/VariableDeclarationNode" schemaLocation="declaration/VariableDeclarationNode.xsd"/>
    669   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/statement/expression/VariableReferenceNode" schemaLocation="statement/expression/VariableReferenceNode.xsd"/>
    670   <xs:import namespace="http://vsl.cis.udel.edu/ns/tass/type/VoidTypeNode" schemaLocation="type/VoidTypeNode.xsd"/>
    671   <xs:element name="rootNode" type="rtn:RootNode">
    672     <xs:unique name="_universal_uniqueness">
    673       <xs:selector xpath=".//id_ASTNode|.//id_ArrayTypeNode|.//id_AssertStatementNode|.//id_AssignmentNode|.//id_BindingExpressionNode|.//id_BlockNode|.//id_BooleanTypeNode|.//id_BoundVariableDeclarationNode|.//id_CompositeTypeNode|.//id_ExpressionNode|.//id_FileNode|.//id_ForLoopNode|.//id_FormalVariableDeclarationNode|.//id_FunctionDeclarationNode|.//id_FunctionInvocationNode|.//id_FunctionReferenceNode|.//id_GlobalScopeNode|.//id_GlobalVariableDeclarationNode|.//id_IdentifierNode|.//id_IfThenElseStatementNode|.//id_IncrementNode|.//id_IntegerLiteralNode|.//id_IntegerTypeNode|.//id_LHSExpressionNode|.//id_LabelNode|.//id_LiteralNode|.//id_LocalVariableDeclarationNode|.//id_LoopNode|.//id_ModificationNode|.//id_OperatorNode|.//id_PairNode_IdentifierNode_TypeNode|.//id_PointerTypeNode|.//id_PragmaNode|.//id_PureExpressionNode|.//id_RealLiteralNode|.//id_RealTypeNode|.//id_ReferenceNode|.//id_ReturnNode|.//id_RootNode|.//id_ExpressionNodes|.//id_FileNodes|.//id_FormalVariableDeclarationNodes|.//id_GlobalScopeNodes|.//id_LabelNodes|.//id_StatementNodes|.//id_VariableDeclarationNodes|.//id_PairNode_IdentifierNode_TypeNodes|.//id_SideEffectExpressionNode|.//id_SizeableNode|.//id_StatementNode|.//id_SubscriptNode|.//id_TypeDefinitionNode|.//id_TypeNode|.//id_TypeReferenceNode|.//id_VariableDeclarationNode|.//id_VariableReferenceNode|.//id_VoidTypeNode"/>
    674       <xs:field xpath="."/>
    675     </xs:unique>
    676     <xs:unique name="_unique_ASTNode">
    677       <xs:selector xpath=".//id_ASTNode|.//id_VoidTypeNode|.//id_VariableReferenceNode|.//id_VariableDeclarationNode|.//id_LocalVariableDeclarationNode|.//id_GlobalVariableDeclarationNode|.//id_FormalVariableDeclarationNode|.//id_BoundVariableDeclarationNode|.//id_TypeReferenceNode|.//id_TypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode|.//id_TypeDefinitionNode|.//id_SubscriptNode|.//id_StatementNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_ReturnNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_LoopNode|.//id_ForLoopNode|.//id_IfThenElseStatementNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode|.//id_ExpressionNode|.//id_BlockNode|.//id_AssertStatementNode|.//id_SizeableNode|.//id_PairNode_IdentifierNode_TypeNodes|.//id_VariableDeclarationNodes|.//id_StatementNodes|.//id_LabelNodes|.//id_GlobalScopeNodes|.//id_FormalVariableDeclarationNodes|.//id_FileNodes|.//id_ExpressionNodes|.//id_RootNode|.//id_ReferenceNode|.//id_PragmaNode|.//id_PairNode_IdentifierNode_TypeNode|.//id_LabelNode|.//id_IdentifierNode|.//id_GlobalScopeNode|.//id_FunctionDeclarationNode"/>
    678       <xs:field xpath="."/>
    679     </xs:unique>
    680     <xs:unique name="_unique_ArrayTypeNode">
    681       <xs:selector xpath=".//id_ArrayTypeNode"/>
    682       <xs:field xpath="."/>
    683     </xs:unique>
    684     <xs:unique name="_unique_AssertStatementNode">
    685       <xs:selector xpath=".//id_AssertStatementNode"/>
    686       <xs:field xpath="."/>
    687     </xs:unique>
    688     <xs:unique name="_unique_AssignmentNode">
    689       <xs:selector xpath=".//id_AssignmentNode"/>
    690       <xs:field xpath="."/>
    691     </xs:unique>
    692     <xs:unique name="_unique_BindingExpressionNode">
    693       <xs:selector xpath=".//id_BindingExpressionNode"/>
    694       <xs:field xpath="."/>
    695     </xs:unique>
    696     <xs:unique name="_unique_BlockNode">
    697       <xs:selector xpath=".//id_BlockNode"/>
    698       <xs:field xpath="."/>
    699     </xs:unique>
    700     <xs:unique name="_unique_BooleanTypeNode">
    701       <xs:selector xpath=".//id_BooleanTypeNode"/>
    702       <xs:field xpath="."/>
    703     </xs:unique>
    704     <xs:unique name="_unique_BoundVariableDeclarationNode">
    705       <xs:selector xpath=".//id_BoundVariableDeclarationNode"/>
    706       <xs:field xpath="."/>
    707     </xs:unique>
    708     <xs:unique name="_unique_CompositeTypeNode">
    709       <xs:selector xpath=".//id_CompositeTypeNode"/>
    710       <xs:field xpath="."/>
    711     </xs:unique>
    712     <xs:unique name="_unique_ExpressionNode">
    713       <xs:selector xpath=".//id_ExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode"/>
    714       <xs:field xpath="."/>
    715     </xs:unique>
    716     <xs:unique name="_unique_FileNode">
    717       <xs:selector xpath=".//id_FileNode"/>
    718       <xs:field xpath="."/>
    719     </xs:unique>
    720     <xs:unique name="_unique_ForLoopNode">
    721       <xs:selector xpath=".//id_ForLoopNode"/>
    722       <xs:field xpath="."/>
    723     </xs:unique>
    724     <xs:unique name="_unique_FormalVariableDeclarationNode">
    725       <xs:selector xpath=".//id_FormalVariableDeclarationNode"/>
    726       <xs:field xpath="."/>
    727     </xs:unique>
    728     <xs:unique name="_unique_FunctionDeclarationNode">
    729       <xs:selector xpath=".//id_FunctionDeclarationNode"/>
    730       <xs:field xpath="."/>
    731     </xs:unique>
    732     <xs:unique name="_unique_FunctionInvocationNode">
    733       <xs:selector xpath=".//id_FunctionInvocationNode"/>
    734       <xs:field xpath="."/>
    735     </xs:unique>
    736     <xs:unique name="_unique_FunctionReferenceNode">
    737       <xs:selector xpath=".//id_FunctionReferenceNode"/>
    738       <xs:field xpath="."/>
    739     </xs:unique>
    740     <xs:unique name="_unique_GlobalScopeNode">
    741       <xs:selector xpath=".//id_GlobalScopeNode|.//id_TypeDefinitionNode|.//id_GlobalVariableDeclarationNode|.//id_FunctionDeclarationNode"/>
    742       <xs:field xpath="."/>
    743     </xs:unique>
    744     <xs:unique name="_unique_GlobalVariableDeclarationNode">
    745       <xs:selector xpath=".//id_GlobalVariableDeclarationNode"/>
    746       <xs:field xpath="."/>
    747     </xs:unique>
    748     <xs:unique name="_unique_IdentifierNode">
    749       <xs:selector xpath=".//id_IdentifierNode|.//id_VariableReferenceNode|.//id_TypeReferenceNode|.//id_ReferenceNode|.//id_FunctionReferenceNode"/>
    750       <xs:field xpath="."/>
    751     </xs:unique>
    752     <xs:unique name="_unique_IfThenElseStatementNode">
    753       <xs:selector xpath=".//id_IfThenElseStatementNode"/>
    754       <xs:field xpath="."/>
    755     </xs:unique>
    756     <xs:unique name="_unique_IncrementNode">
    757       <xs:selector xpath=".//id_IncrementNode"/>
    758       <xs:field xpath="."/>
    759     </xs:unique>
    760     <xs:unique name="_unique_IntegerLiteralNode">
    761       <xs:selector xpath=".//id_IntegerLiteralNode"/>
    762       <xs:field xpath="."/>
    763     </xs:unique>
    764     <xs:unique name="_unique_IntegerTypeNode">
    765       <xs:selector xpath=".//id_IntegerTypeNode"/>
    766       <xs:field xpath="."/>
    767     </xs:unique>
    768     <xs:unique name="_unique_LHSExpressionNode">
    769       <xs:selector xpath=".//id_LHSExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode"/>
    770       <xs:field xpath="."/>
    771     </xs:unique>
    772     <xs:unique name="_unique_LabelNode">
    773       <xs:selector xpath=".//id_LabelNode"/>
    774       <xs:field xpath="."/>
    775     </xs:unique>
    776     <xs:unique name="_unique_LiteralNode">
    777       <xs:selector xpath=".//id_LiteralNode|.//id_RealLiteralNode|.//id_IntegerLiteralNode"/>
    778       <xs:field xpath="."/>
    779     </xs:unique>
    780     <xs:unique name="_unique_LocalVariableDeclarationNode">
    781       <xs:selector xpath=".//id_LocalVariableDeclarationNode"/>
    782       <xs:field xpath="."/>
    783     </xs:unique>
    784     <xs:unique name="_unique_LoopNode">
    785       <xs:selector xpath=".//id_LoopNode|.//id_ForLoopNode"/>
    786       <xs:field xpath="."/>
    787     </xs:unique>
    788     <xs:unique name="_unique_ModificationNode">
    789       <xs:selector xpath=".//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode"/>
    790       <xs:field xpath="."/>
    791     </xs:unique>
    792     <xs:unique name="_unique_OperatorNode">
    793       <xs:selector xpath=".//id_OperatorNode"/>
    794       <xs:field xpath="."/>
    795     </xs:unique>
    796     <xs:unique name="_unique_PairNode_IdentifierNode_TypeNode">
    797       <xs:selector xpath=".//id_PairNode_IdentifierNode_TypeNode"/>
    798       <xs:field xpath="."/>
    799     </xs:unique>
    800     <xs:unique name="_unique_PointerTypeNode">
    801       <xs:selector xpath=".//id_PointerTypeNode"/>
    802       <xs:field xpath="."/>
    803     </xs:unique>
    804     <xs:unique name="_unique_PragmaNode">
    805       <xs:selector xpath=".//id_PragmaNode"/>
    806       <xs:field xpath="."/>
    807     </xs:unique>
    808     <xs:unique name="_unique_PureExpressionNode">
    809       <xs:selector xpath=".//id_PureExpressionNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_RealLiteralNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode"/>
    810       <xs:field xpath="."/>
    811     </xs:unique>
    812     <xs:unique name="_unique_RealLiteralNode">
    813       <xs:selector xpath=".//id_RealLiteralNode"/>
    814       <xs:field xpath="."/>
    815     </xs:unique>
    816     <xs:unique name="_unique_RealTypeNode">
    817       <xs:selector xpath=".//id_RealTypeNode"/>
    818       <xs:field xpath="."/>
    819     </xs:unique>
    820     <xs:unique name="_unique_ReferenceNode">
    821       <xs:selector xpath=".//id_ReferenceNode|.//id_VariableReferenceNode|.//id_TypeReferenceNode|.//id_FunctionReferenceNode"/>
    822       <xs:field xpath="."/>
    823     </xs:unique>
    824     <xs:unique name="_unique_ReturnNode">
    825       <xs:selector xpath=".//id_ReturnNode"/>
    826       <xs:field xpath="."/>
    827     </xs:unique>
    828     <xs:unique name="_unique_RootNode">
    829       <xs:selector xpath=".//id_RootNode"/>
    830       <xs:field xpath="."/>
    831     </xs:unique>
    832     <xs:unique name="_unique_SequenceNode_ExpressionNode">
    833       <xs:selector xpath=".//id_ExpressionNodes"/>
    834       <xs:field xpath="."/>
    835     </xs:unique>
    836     <xs:unique name="_unique_SequenceNode_FileNode">
    837       <xs:selector xpath=".//id_FileNodes"/>
    838       <xs:field xpath="."/>
    839     </xs:unique>
    840     <xs:unique name="_unique_SequenceNode_FormalVariableDeclarationNode">
    841       <xs:selector xpath=".//id_FormalVariableDeclarationNodes"/>
    842       <xs:field xpath="."/>
    843     </xs:unique>
    844     <xs:unique name="_unique_SequenceNode_GlobalScopeNode">
    845       <xs:selector xpath=".//id_GlobalScopeNodes"/>
    846       <xs:field xpath="."/>
    847     </xs:unique>
    848     <xs:unique name="_unique_SequenceNode_LabelNode">
    849       <xs:selector xpath=".//id_LabelNodes"/>
    850       <xs:field xpath="."/>
    851     </xs:unique>
    852     <xs:unique name="_unique_SequenceNode_StatementNode">
    853       <xs:selector xpath=".//id_StatementNodes"/>
    854       <xs:field xpath="."/>
    855     </xs:unique>
    856     <xs:unique name="_unique_SequenceNode_VariableDeclarationNode">
    857       <xs:selector xpath=".//id_VariableDeclarationNodes"/>
    858       <xs:field xpath="."/>
    859     </xs:unique>
    860     <xs:unique name="_unique_SequenceNode_PairNode_IdentifierNode_TypeNode">
    861       <xs:selector xpath=".//id_PairNode_IdentifierNode_TypeNodes"/>
    862       <xs:field xpath="."/>
    863     </xs:unique>
    864     <xs:unique name="_unique_SideEffectExpressionNode">
    865       <xs:selector xpath=".//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode"/>
    866       <xs:field xpath="."/>
    867     </xs:unique>
    868     <xs:unique name="_unique_SizeableNode">
    869       <xs:selector xpath=".//id_SizeableNode|.//id_VoidTypeNode|.//id_TypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode"/>
    870       <xs:field xpath="."/>
    871     </xs:unique>
    872     <xs:unique name="_unique_StatementNode">
    873       <xs:selector xpath=".//id_StatementNode|.//id_VariableReferenceNode|.//id_SubscriptNode|.//id_SideEffectExpressionNode|.//id_ModificationNode|.//id_IncrementNode|.//id_AssignmentNode|.//id_ReturnNode|.//id_RealLiteralNode|.//id_PureExpressionNode|.//id_OperatorNode|.//id_LiteralNode|.//id_IntegerLiteralNode|.//id_LHSExpressionNode|.//id_BindingExpressionNode|.//id_LoopNode|.//id_ForLoopNode|.//id_IfThenElseStatementNode|.//id_FunctionReferenceNode|.//id_FunctionInvocationNode|.//id_ExpressionNode|.//id_BlockNode|.//id_AssertStatementNode"/>
    874       <xs:field xpath="."/>
    875     </xs:unique>
    876     <xs:unique name="_unique_SubscriptNode">
    877       <xs:selector xpath=".//id_SubscriptNode"/>
    878       <xs:field xpath="."/>
    879     </xs:unique>
    880     <xs:unique name="_unique_TypeDefinitionNode">
    881       <xs:selector xpath=".//id_TypeDefinitionNode"/>
    882       <xs:field xpath="."/>
    883     </xs:unique>
    884     <xs:unique name="_unique_TypeNode">
    885       <xs:selector xpath=".//id_TypeNode|.//id_VoidTypeNode|.//id_RealTypeNode|.//id_PointerTypeNode|.//id_IntegerTypeNode|.//id_CompositeTypeNode|.//id_BooleanTypeNode|.//id_ArrayTypeNode"/>
    886       <xs:field xpath="."/>
    887     </xs:unique>
    888     <xs:unique name="_unique_TypeReferenceNode">
    889       <xs:selector xpath=".//id_TypeReferenceNode"/>
    890       <xs:field xpath="."/>
    891     </xs:unique>
    892     <xs:unique name="_unique_VariableDeclarationNode">
    893       <xs:selector xpath=".//id_VariableDeclarationNode|.//id_LocalVariableDeclarationNode|.//id_GlobalVariableDeclarationNode|.//id_FormalVariableDeclarationNode|.//id_BoundVariableDeclarationNode"/>
    894       <xs:field xpath="."/>
    895     </xs:unique>
    896     <xs:unique name="_unique_VariableReferenceNode">
    897       <xs:selector xpath=".//id_VariableReferenceNode"/>
    898       <xs:field xpath="."/>
    899     </xs:unique>
    900     <xs:unique name="_unique_VoidTypeNode">
    901       <xs:selector xpath=".//id_VoidTypeNode"/>
    902       <xs:field xpath="."/>
    903     </xs:unique>
    904     <xs:keyref name="_ref_ben_containingExpression" refer="scroot:_unique_BindingExpressionNode">
    905       <xs:selector xpath=".//ben_containingExpression"/>
    906       <xs:field xpath="."/>
    907     </xs:keyref>
    908     <xs:keyref name="_ref_fdn_function" refer="scroot:_unique_FunctionDeclarationNode">
    909       <xs:selector xpath=".//fdn_function"/>
    910       <xs:field xpath="."/>
    911     </xs:keyref>
    912     <xs:keyref name="_ref_fdn_definition" refer="scroot:_unique_FunctionDeclarationNode">
    913       <xs:selector xpath=".//fdn_definition"/>
    914       <xs:field xpath="."/>
    915     </xs:keyref>
    916     <xs:keyref name="_ref_fdn_referent" refer="scroot:_unique_FunctionDeclarationNode">
    917       <xs:selector xpath=".//fdn_referent"/>
    918       <xs:field xpath="."/>
    919     </xs:keyref>
    920     <xs:keyref name="_ref_vdn_definition" refer="scroot:_unique_VariableDeclarationNode">
    921       <xs:selector xpath=".//vdn_definition"/>
    922       <xs:field xpath="."/>
    923     </xs:keyref>
    924     <xs:keyref name="_ref_stn_statement" refer="scroot:_unique_StatementNode">
    925       <xs:selector xpath=".//stn_statement"/>
    926       <xs:field xpath="."/>
    927     </xs:keyref>
    928     <xs:keyref name="_ref_bn_block" refer="scroot:_unique_BlockNode">
    929       <xs:selector xpath=".//bn_block"/>
    930       <xs:field xpath="."/>
    931     </xs:keyref>
    932     <xs:keyref name="_ref_fdn_mainFunction" refer="scroot:_unique_FunctionDeclarationNode">
    933       <xs:selector xpath=".//fdn_mainFunction"/>
    934       <xs:field xpath="."/>
    935     </xs:keyref>
    936     <xs:keyref name="_ref_vdn_referent" refer="scro