Changes between Initial Version and Version 1 of XmlSchemaRootNamespace


Ignore:
Timestamp:
12/21/11 15:55:26 (14 years ago)
Author:
stachnik
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • XmlSchemaRootNamespace

    v1 v1  
     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