XML Schema Documentation

Schema Document Properties

Target Namespace https://www.atelierb.eu/Formats/pog
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Prefix Namespace
Default namespace https://www.atelierb.eu/Formats/pog
xml http://www.w3.org/XML/1998/namespace
xs http://www.w3.org/2001/XMLSchema
<xs:schema targetNamespace="https://www.atelierb.eu/Formats/pog" elementFormDefault="qualified">
...
</xs:schema>

Global Declarations

Element: Binary_Exp

Name Binary_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Binary_Exp
 op="binary_exp_op" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   Start Group: exp_group [2..2]
      Start Choice [1]
         <Unary_Exp> ... </Unary_Exp> [1]
         <Binary_Exp> ... </Binary_Exp> [1]
         <Ternary_Exp> ... </Ternary_Exp> [1]
         <Nary_Exp> ... </Nary_Exp> [1]
         <Boolean_Literal> ... </Boolean_Literal> [1]
         <Boolean_Exp> ... </Boolean_Exp> [1]
         <EmptySet> ... </EmptySet> [1]
         <EmptySeq> ... </EmptySeq> [1]
         <Id> ... </Id> [1]
         <Integer_Literal> ... </Integer_Literal> [1]
         <Quantified_Exp> ... </Quantified_Exp> [1]
         <Quantified_Set> ... </Quantified_Set> [1]
         <STRING_Literal> ... </STRING_Literal> [1]
         <Struct> ... </Struct> [1]
         <Record> ... </Record> [1]
         <Real_Literal> ... </Real_Literal> [1]
         <Record_Update> ... </Record_Update> [1]
         <Record_Field_Access> ... </Record_Field_Access> [1]
      End Choice
   End Group: exp_group
</Binary_Exp>
<xs:element name="Binary_Exp">
   <xs:complexType>
      <xs:group ref="exp_group" minOccurs="2" maxOccurs="2"/>
      <xs:attribute name="op" type="binary_exp_op" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Binary_Pred

Name Binary_Pred
Type Locally-defined complex type
Nillable no
Abstract no
<Binary_Pred
 op="binary_pred_op" [1]
>
   Start Group: pred_group [2..2]
      Start Choice [1]
         <Binary_Pred> ... </Binary_Pred> [1]
         <Exp_Comparison> ... </Exp_Comparison> [1]
         <Quantified_Pred> ... </Quantified_Pred> [1]
         <Unary_Pred> ... </Unary_Pred> [1]
         <Nary_Pred> ... </Nary_Pred> [1]
      End Choice
   End Group: pred_group
</Binary_Pred>
<xs:element name="Binary_Pred">
   <xs:complexType>
      <xs:group ref="pred_group" minOccurs="2" maxOccurs="2"/>
      <xs:attribute name="op" type="binary_pred_op" use="required"/>
   </xs:complexType>
</xs:element>

Element: Boolean_Exp

Name Boolean_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Boolean_Exp
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   Start Choice [1]
      <Binary_Pred> ... </Binary_Pred> [1]
      <Exp_Comparison> ... </Exp_Comparison> [1]
      <Quantified_Pred> ... </Quantified_Pred> [1]
      <Unary_Pred> ... </Unary_Pred> [1]
      <Nary_Pred> ... </Nary_Pred> [1]
   End Choice
</Boolean_Exp>
<xs:element name="Boolean_Exp">
   <xs:complexType>
      <xs:group ref="pred_group"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Boolean_Literal

Name Boolean_Literal
Type Locally-defined complex type
Nillable no
Abstract no
<Boolean_Literal
 value="boolean_literal_type" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="Boolean_Literal">
   <xs:complexType>
      <xs:attribute name="value" type="boolean_literal_type" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Define

Name Define
Type Locally-defined complex type
Nillable no
Abstract no
<Define
 name="xs:string" [1]
 hash="xs:nonNegativeInteger" [1]
>
   <Set> ... </Set> [0..*]
   Start Group: pred_group [0..*]
      Start Choice [1]
         <Binary_Pred> ... </Binary_Pred> [1]
         <Exp_Comparison> ... </Exp_Comparison> [1]
         <Quantified_Pred> ... </Quantified_Pred> [1]
         <Unary_Pred> ... </Unary_Pred> [1]
         <Nary_Pred> ... </Nary_Pred> [1]
      End Choice
   End Group: pred_group
</Define>
<xs:element name="Define">
   <xs:complexType>
      <xs:sequence>
         <xs:element ref="Set" minOccurs="0" maxOccurs="unbounded"/>
         <xs:group ref="pred_group" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="hash" type="xs:nonNegativeInteger" use="required"/>
   </xs:complexType>
</xs:element>

Element: Definition

Name Definition
Type Locally-defined complex type
Nillable no
Abstract no
<Definition
 name="xs:string" [1]
/> 

<xs:element name="Definition">
   <xs:complexType>
      <xs:attribute name="name" type="xs:string" use="required"/>
   </xs:complexType>
</xs:element>

Element: EmptySeq

Name EmptySeq
Type Locally-defined complex type
Nillable no
Abstract no
<EmptySeq
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="EmptySeq">
   <xs:complexType>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: EmptySet

Name EmptySet
Type Locally-defined complex type
Nillable no
Abstract no
<EmptySet
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="EmptySet">
   <xs:complexType>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Enumerated_Values

Name Enumerated_Values
Type Locally-defined complex type
Nillable no
Abstract no
<Enumerated_Values>
   <Id> ... </Id> [1..*]
</Enumerated_Values>
<xs:element name="Enumerated_Values">
   <xs:complexType>
      <xs:sequence>
         <xs:element ref="Id" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
</xs:element>

Element: Exp_Comparison

Name Exp_Comparison
Type Locally-defined complex type
Nillable no
Abstract no
<Exp_Comparison
 op="comparison_op" [1]
>
   Start Group: exp_group [2..2]
      Start Choice [1]
         <Unary_Exp> ... </Unary_Exp> [1]
         <Binary_Exp> ... </Binary_Exp> [1]
         <Ternary_Exp> ... </Ternary_Exp> [1]
         <Nary_Exp> ... </Nary_Exp> [1]
         <Boolean_Literal> ... </Boolean_Literal> [1]
         <Boolean_Exp> ... </Boolean_Exp> [1]
         <EmptySet> ... </EmptySet> [1]
         <EmptySeq> ... </EmptySeq> [1]
         <Id> ... </Id> [1]
         <Integer_Literal> ... </Integer_Literal> [1]
         <Quantified_Exp> ... </Quantified_Exp> [1]
         <Quantified_Set> ... </Quantified_Set> [1]
         <STRING_Literal> ... </STRING_Literal> [1]
         <Struct> ... </Struct> [1]
         <Record> ... </Record> [1]
         <Real_Literal> ... </Real_Literal> [1]
         <Record_Update> ... </Record_Update> [1]
         <Record_Field_Access> ... </Record_Field_Access> [1]
      End Choice
   End Group: exp_group
</Exp_Comparison>
<xs:element name="Exp_Comparison">
   <xs:complexType>
      <xs:group ref="exp_group" minOccurs="2" maxOccurs="2"/>
      <xs:attribute name="op" type="comparison_op" use="required"/>
   </xs:complexType>
</xs:element>

Element: Hypothesis

Name Hypothesis
Type predicate_type
Nillable no
Abstract no
<Hypothesis>
   Start Choice [1]
      <Binary_Pred> ... </Binary_Pred> [1]
      <Exp_Comparison> ... </Exp_Comparison> [1]
      <Quantified_Pred> ... </Quantified_Pred> [1]
      <Unary_Pred> ... </Unary_Pred> [1]
      <Nary_Pred> ... </Nary_Pred> [1]
   End Choice
</Hypothesis>
<xs:element name="Hypothesis" type="predicate_type"/>

Element: Id

Name Id
Type Locally-defined complex type
Nillable no
Abstract no
<Id
 value="xs:string" [1]
 suffix="xs:positiveInteger" [0..1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="Id">
   <xs:complexType>
      <xs:attribute name="value" type="xs:string" use="required"/>
      <xs:attribute name="suffix" type="xs:positiveInteger"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Integer_Literal

Name Integer_Literal
Type Locally-defined complex type
Nillable no
Abstract no
<Integer_Literal
 value="xs:integer" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="Integer_Literal">
   <xs:complexType>
      <xs:attribute name="value" type="xs:integer" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Local_Hyp

Name Local_Hyp
Type Locally-defined complex type
Nillable no
Abstract no
<Local_Hyp
 num="xs:positiveInteger" [1]
>
   Start Choice [1]
      <Binary_Pred> ... </Binary_Pred> [1]
      <Exp_Comparison> ... </Exp_Comparison> [1]
      <Quantified_Pred> ... </Quantified_Pred> [1]
      <Unary_Pred> ... </Unary_Pred> [1]
      <Nary_Pred> ... </Nary_Pred> [1]
   End Choice
</Local_Hyp>
<xs:element name="Local_Hyp">
   <xs:complexType>
      <xs:group ref="pred_group"/>
      <xs:attribute name="num" type="xs:positiveInteger" use="required"/>
   </xs:complexType>
</xs:element>

Element: Nary_Exp

Name Nary_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Nary_Exp
 op="nary_exp_op" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   Start Group: exp_group [1..*]
      Start Choice [1]
         <Unary_Exp> ... </Unary_Exp> [1]
         <Binary_Exp> ... </Binary_Exp> [1]
         <Ternary_Exp> ... </Ternary_Exp> [1]
         <Nary_Exp> ... </Nary_Exp> [1]
         <Boolean_Literal> ... </Boolean_Literal> [1]
         <Boolean_Exp> ... </Boolean_Exp> [1]
         <EmptySet> ... </EmptySet> [1]
         <EmptySeq> ... </EmptySeq> [1]
         <Id> ... </Id> [1]
         <Integer_Literal> ... </Integer_Literal> [1]
         <Quantified_Exp> ... </Quantified_Exp> [1]
         <Quantified_Set> ... </Quantified_Set> [1]
         <STRING_Literal> ... </STRING_Literal> [1]
         <Struct> ... </Struct> [1]
         <Record> ... </Record> [1]
         <Real_Literal> ... </Real_Literal> [1]
         <Record_Update> ... </Record_Update> [1]
         <Record_Field_Access> ... </Record_Field_Access> [1]
      End Choice
   End Group: exp_group
</Nary_Exp>
<xs:element name="Nary_Exp">
   <xs:complexType>
      <xs:group ref="exp_group" minOccurs="1" maxOccurs="unbounded"/>
      <xs:attribute name="op" type="nary_exp_op" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Nary_Pred

Name Nary_Pred
Type Locally-defined complex type
Nillable no
Abstract no
<Nary_Pred
 op="nary_pred_op" [0..1]
>
   Start Group: pred_group [0..*]
      Start Choice [1]
         <Binary_Pred> ... </Binary_Pred> [1]
         <Exp_Comparison> ... </Exp_Comparison> [1]
         <Quantified_Pred> ... </Quantified_Pred> [1]
         <Unary_Pred> ... </Unary_Pred> [1]
         <Nary_Pred> ... </Nary_Pred> [1]
      End Choice
   End Group: pred_group
</Nary_Pred>
<xs:element name="Nary_Pred">
   <xs:complexType>
      <xs:group ref="pred_group" minOccurs="0" maxOccurs="unbounded"/>
      <xs:attribute name="op" type="nary_pred_op"/>
   </xs:complexType>
</xs:element>

Element: Proof_Obligation

Name Proof_Obligation
Type Locally-defined complex type
Nillable no
Abstract no
<Proof_Obligation
 goalHash="xs:nonNegativeInteger" [1]
>
   <Tag> xs:string </Tag> [1]
   <Definition> ... </Definition> [0..*]
   <Hypothesis> ... </Hypothesis> [0..*]
   <Local_Hyp> ... </Local_Hyp> [0..*]
   <Simple_Goal> ... </Simple_Goal> [0..*]
</Proof_Obligation>
<xs:element name="Proof_Obligation">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Tag" type="xs:string" minOccurs="1" maxOccurs="1"/>
         <xs:element ref="Definition" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="Hypothesis" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="Local_Hyp" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="Simple_Goal" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="goalHash" type="xs:nonNegativeInteger" use="required"/>
   </xs:complexType>
</xs:element>

Element: Proof_Obligations

Name Proof_Obligations
Type Locally-defined complex type
Nillable no
Abstract no
<Proof_Obligations
 version="version_type" [1]
>
   <Define> ... </Define> [0..*]
   <Proof_Obligation> ... </Proof_Obligation> [0..*]
   <TypeInfos> ... </TypeInfos> [0..1]
</Proof_Obligations>
<xs:element name="Proof_Obligations">
   <xs:complexType>
      <xs:sequence>
         <xs:element ref="Define" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="Proof_Obligation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="TypeInfos" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="version" type="version_type" use="required"/>
   </xs:complexType>
</xs:element>

Element: Proof_State

Name Proof_State
Type Locally-defined complex type
Nillable no
Abstract no
<Proof_State
 passList="xs:string" [1]
 methodList="xs:string" [1]
 proofState="xs:string" [1]
/> 

<xs:element name="Proof_State">
   <xs:complexType>
      <xs:attribute name="passList" type="xs:string" use="required"/>
      <xs:attribute name="methodList" type="xs:string" use="required"/>
      <xs:attribute name="proofState" type="xs:string" use="required"/>
   </xs:complexType>
</xs:element>

Element: Quantified_Exp

Name Quantified_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Quantified_Exp
 type="quantified_exp_op" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   <Variables> variables_type </Variables> [1]
   <Pred> predicate_type </Pred> [1]
   <Body> expression_type </Body> [1]
</Quantified_Exp>
<xs:element name="Quantified_Exp">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Variables" type="variables_type"/>
         <xs:element name="Pred" type="predicate_type"/>
         <xs:element name="Body" type="expression_type"/>
      </xs:sequence>
      <xs:attribute name="type" type="quantified_exp_op" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Quantified_Pred

Name Quantified_Pred
Type Locally-defined complex type
Nillable no
Abstract no
<Quantified_Pred
 type="quantified_pred_op" [1]
>
   <Variables> variables_type </Variables> [1]
   <Body> predicate_type </Body> [1]
</Quantified_Pred>
<xs:element name="Quantified_Pred">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Variables" type="variables_type"/>
         <xs:element name="Body" type="predicate_type"/>
      </xs:sequence>
      <xs:attribute name="type" type="quantified_pred_op" use="required"/>
   </xs:complexType>
</xs:element>

Element: Quantified_Set

Name Quantified_Set
Type Locally-defined complex type
Nillable no
Abstract no
<Quantified_Set
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   <Variables> variables_type </Variables> [1]
   <Body> predicate_type </Body> [1]
</Quantified_Set>
<xs:element name="Quantified_Set">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Variables" type="variables_type"/>
         <xs:element name="Body" type="predicate_type"/>
      </xs:sequence>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Real_Literal

Name Real_Literal
Type Locally-defined complex type
Nillable no
Abstract no
<Real_Literal
 value="xs:decimal" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="Real_Literal">
   <xs:complexType>
      <xs:attribute name="value" type="xs:decimal" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Record

Name Record
Type Locally-defined complex type
Nillable no
Abstract no
<Record
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   <Record_Item> record_item_type </Record_Item> [1..*]
</Record>
<xs:element name="Record">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Record_Item" type="record_item_type" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Record_Field_Access

Name Record_Field_Access
Type Locally-defined complex type
Nillable no
Abstract no
<Record_Field_Access
 typref="xs:integer" [1]
 label="xs:string" [1]
 tag="xs:string" [0..1]
>
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
</Record_Field_Access>
<xs:element name="Record_Field_Access">
   <xs:complexType>
      <xs:group ref="exp_group" minOccurs="1" maxOccurs="1"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="label" type="xs:string" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Record_Update

Name Record_Update
Type Locally-defined complex type
Nillable no
Abstract no
<Record_Update
 label="xs:string" [1]
 tag="xs:string" [0..1]
>
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
</Record_Update>
<xs:element name="Record_Update">
   <xs:complexType>
      <xs:sequence>
         <xs:group ref="exp_group"/>
         <xs:group ref="exp_group"/>
      </xs:sequence>
      <xs:attribute name="label" type="xs:string" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Ref_Hyp

Name Ref_Hyp
Type Locally-defined complex type
Nillable no
Abstract no
<Ref_Hyp
 num="xs:positiveInteger" [1]
/> 

<xs:element name="Ref_Hyp">
   <xs:complexType>
      <xs:attribute name="num" type="xs:positiveInteger" use="required"/>
   </xs:complexType>
</xs:element>

Element: STRING_Literal

Name STRING_Literal
Type Locally-defined complex type
Nillable no
Abstract no
<STRING_Literal
 value="xs:string" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
/> 

<xs:element name="STRING_Literal">
   <xs:complexType>
      <xs:attribute name="value" type="xs:string" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Set

Name Set
Type Locally-defined complex type
Nillable no
Abstract no
<Set>
   <Id> ... </Id> [1]
   <Enumerated_Values> ... </Enumerated_Values> [0..1]
</Set>
<xs:element name="Set">
   <xs:complexType>
      <xs:sequence>
         <xs:element ref="Id" minOccurs="1" maxOccurs="1"/>
         <xs:element ref="Enumerated_Values" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:complexType>
</xs:element>

Element: Simple_Goal

Name Simple_Goal
Type Locally-defined complex type
Nillable no
Abstract no
<Simple_Goal>
   <Tag> xs:string </Tag> [1]
   <Ref_Hyp> ... </Ref_Hyp> [0..*]
   <Goal> predicate_type </Goal> [0..1]
   <Proof_State> ... </Proof_State> [0..1]
</Simple_Goal>
<xs:element name="Simple_Goal">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Tag" type="xs:string"/>
         <xs:element ref="Ref_Hyp" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Goal" type="predicate_type" minOccurs="0"/>
         <xs:element ref="Proof_State" minOccurs="0"/>
      </xs:sequence>
   </xs:complexType>
</xs:element>

Element: Struct

Name Struct
Type Locally-defined complex type
Nillable no
Abstract no
<Struct
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   <Record_Item> record_item_type </Record_Item> [1..*]
</Struct>
<xs:element name="Struct">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Record_Item" type="record_item_type" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Ternary_Exp

Name Ternary_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Ternary_Exp
 op="ternary_exp_op" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   Start Group: exp_group [3..3]
      Start Choice [1]
         <Unary_Exp> ... </Unary_Exp> [1]
         <Binary_Exp> ... </Binary_Exp> [1]
         <Ternary_Exp> ... </Ternary_Exp> [1]
         <Nary_Exp> ... </Nary_Exp> [1]
         <Boolean_Literal> ... </Boolean_Literal> [1]
         <Boolean_Exp> ... </Boolean_Exp> [1]
         <EmptySet> ... </EmptySet> [1]
         <EmptySeq> ... </EmptySeq> [1]
         <Id> ... </Id> [1]
         <Integer_Literal> ... </Integer_Literal> [1]
         <Quantified_Exp> ... </Quantified_Exp> [1]
         <Quantified_Set> ... </Quantified_Set> [1]
         <STRING_Literal> ... </STRING_Literal> [1]
         <Struct> ... </Struct> [1]
         <Record> ... </Record> [1]
         <Real_Literal> ... </Real_Literal> [1]
         <Record_Update> ... </Record_Update> [1]
         <Record_Field_Access> ... </Record_Field_Access> [1]
      End Choice
   End Group: exp_group
</Ternary_Exp>
<xs:element name="Ternary_Exp">
   <xs:complexType>
      <xs:group ref="exp_group" minOccurs="3" maxOccurs="3"/>
      <xs:attribute name="op" type="ternary_exp_op" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: TypeInfos

Name TypeInfos
Type Locally-defined complex type
Nillable no
Abstract no
<TypeInfos>
   <Type> typeinfos_type </Type> [0..*]
</TypeInfos>
<xs:element name="TypeInfos">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="Type" type="typeinfos_type" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
</xs:element>

Element: Unary_Exp

Name Unary_Exp
Type Locally-defined complex type
Nillable no
Abstract no
<Unary_Exp
 op="unary_exp_op" [1]
 typref="xs:integer" [1]
 tag="xs:string" [0..1]
>
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
</Unary_Exp>
<xs:element name="Unary_Exp">
   <xs:complexType>
      <xs:group ref="exp_group"/>
      <xs:attribute name="op" type="unary_exp_op" use="required"/>
      <xs:attribute name="typref" type="xs:integer" use="required"/>
      <xs:attribute name="tag" type="xs:string" use="optional"/>
   </xs:complexType>
</xs:element>

Element: Unary_Pred

Name Unary_Pred
Type Locally-defined complex type
Nillable no
Abstract no
<Unary_Pred
 op="unary_pred_op" [1]
>
   Start Choice [1]
      <Binary_Pred> ... </Binary_Pred> [1]
      <Exp_Comparison> ... </Exp_Comparison> [1]
      <Quantified_Pred> ... </Quantified_Pred> [1]
      <Unary_Pred> ... </Unary_Pred> [1]
      <Nary_Pred> ... </Nary_Pred> [1]
   End Choice
</Unary_Pred>
<xs:element name="Unary_Pred">
   <xs:complexType>
      <xs:group ref="pred_group"/>
      <xs:attribute name="op" type="unary_pred_op" use="required"/>
   </xs:complexType>
</xs:element>

Global Definitions

Complex Type: expression_type

Super-types: None
Sub-types: None
Name expression_type
Abstract no
No documentation provided.
<...>
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
</...>
<xs:complexType name="expression_type">
   <xs:group ref="exp_group"/>
</xs:complexType>

Complex Type: predicate_type

Super-types: None
Sub-types: None
Name predicate_type
Abstract no
No documentation provided.
<...>
   Start Choice [1]
      <Binary_Pred> ... </Binary_Pred> [1]
      <Exp_Comparison> ... </Exp_Comparison> [1]
      <Quantified_Pred> ... </Quantified_Pred> [1]
      <Unary_Pred> ... </Unary_Pred> [1]
      <Nary_Pred> ... </Nary_Pred> [1]
   End Choice
</...>
<xs:complexType name="predicate_type">
   <xs:group ref="pred_group"/>
</xs:complexType>

Complex Type: record_item_type

Super-types: None
Sub-types: None
Name record_item_type
Abstract no
<...
 label="xs:string" [1]
>
   Start Choice [1]
      <Unary_Exp> ... </Unary_Exp> [1]
      <Binary_Exp> ... </Binary_Exp> [1]
      <Ternary_Exp> ... </Ternary_Exp> [1]
      <Nary_Exp> ... </Nary_Exp> [1]
      <Boolean_Literal> ... </Boolean_Literal> [1]
      <Boolean_Exp> ... </Boolean_Exp> [1]
      <EmptySet> ... </EmptySet> [1]
      <EmptySeq> ... </EmptySeq> [1]
      <Id> ... </Id> [1]
      <Integer_Literal> ... </Integer_Literal> [1]
      <Quantified_Exp> ... </Quantified_Exp> [1]
      <Quantified_Set> ... </Quantified_Set> [1]
      <STRING_Literal> ... </STRING_Literal> [1]
      <Struct> ... </Struct> [1]
      <Record> ... </Record> [1]
      <Real_Literal> ... </Real_Literal> [1]
      <Record_Update> ... </Record_Update> [1]
      <Record_Field_Access> ... </Record_Field_Access> [1]
   End Choice
</...>
<xs:complexType name="record_item_type">
   <xs:group ref="exp_group"/>
   <xs:attribute name="label" type="xs:string" use="required"/>
</xs:complexType>

Complex Type: typeinfos_type

Super-types: None
Sub-types: None
Name typeinfos_type
Abstract no
<...
 id="xs:integer" [1]
>
   Start Choice [1]
      <Binary_Exp
       op="*" [1]
      > [1] 
         Circular model group reference: type_group [2..2]
      </Binary_Exp>
      <Id
       value="xs:string" [1]
/>  [1]

      <Unary_Exp
       op="POW" [1]
      > [1] 
         Circular model group reference: type_group [1]
      </Unary_Exp>
      <Struct      > [1] 
         <Record_Item
          label="xs:string" [1]
         > [1..*] 
            Circular model group reference: type_group [1]
         </Record_Item>
      </Struct>
      <Generic_Type/>  [1]

   End Choice
</...>
<xs:complexType name="typeinfos_type">
   <xs:group ref="type_group"/>
   <xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>

Complex Type: variables_type

Super-types: None
Sub-types: None
Name variables_type
Abstract no
<...>
   <Id> ... </Id> [0..*]
</...>
<xs:complexType name="variables_type">
   <xs:sequence>
      <xs:element ref="Id" minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
</xs:complexType>

Model Group: exp_group

Name exp_group
Start Choice [1]
   <Unary_Exp> ... </Unary_Exp> [1]
   <Binary_Exp> ... </Binary_Exp> [1]
   <Ternary_Exp> ... </Ternary_Exp> [1]
   <Nary_Exp> ... </Nary_Exp> [1]
   <Boolean_Literal> ... </Boolean_Literal> [1]
   <Boolean_Exp> ... </Boolean_Exp> [1]
   <EmptySet> ... </EmptySet> [1]
   <EmptySeq> ... </EmptySeq> [1]
   <Id> ... </Id> [1]
   <Integer_Literal> ... </Integer_Literal> [1]
   <Quantified_Exp> ... </Quantified_Exp> [1]
   <Quantified_Set> ... </Quantified_Set> [1]
   <STRING_Literal> ... </STRING_Literal> [1]
   <Struct> ... </Struct> [1]
   <Record> ... </Record> [1]
   <Real_Literal> ... </Real_Literal> [1]
   <Record_Update> ... </Record_Update> [1]
   <Record_Field_Access> ... </Record_Field_Access> [1]
End Choice
<xs:group name="exp_group">
   <xs:choice>
      <xs:element ref="Unary_Exp"/>
      <xs:element ref="Binary_Exp"/>
      <xs:element ref="Ternary_Exp"/>
      <xs:element ref="Nary_Exp"/>
      <xs:element ref="Boolean_Literal"/>
      <xs:element ref="Boolean_Exp"/>
      <xs:element ref="EmptySet"/>
      <xs:element ref="EmptySeq"/>
      <xs:element ref="Id"/>
      <xs:element ref="Integer_Literal"/>
      <xs:element ref="Quantified_Exp"/>
      <xs:element ref="Quantified_Set"/>
      <xs:element ref="STRING_Literal"/>
      <xs:element ref="Struct"/>
      <xs:element ref="Record"/>
      <xs:element ref="Real_Literal"/>
      <xs:element ref="Record_Update"/>
      <xs:element ref="Record_Field_Access"/>
   </xs:choice>
</xs:group>

Model Group: pred_group

Name pred_group
<xs:group name="pred_group">
   <xs:choice>
      <xs:element ref="Binary_Pred"/>
      <xs:element ref="Exp_Comparison"/>
      <xs:element ref="Quantified_Pred"/>
      <xs:element ref="Unary_Pred"/>
      <xs:element ref="Nary_Pred"/>
   </xs:choice>
</xs:group>

Model Group: type_group

Name type_group
Start Choice [1]
   <Binary_Exp
    op="*" [1]
   > [1] 
      Circular model group reference: type_group [2..2]
   </Binary_Exp>
   <Id
    value="xs:string" [1]
/>  [1]

   <Unary_Exp
    op="POW" [1]
   > [1] 
      Circular model group reference: type_group [1]
   </Unary_Exp>
   <Struct   > [1] 
      <Record_Item
       label="xs:string" [1]
      > [1..*] 
         Circular model group reference: type_group [1]
      </Record_Item>
   </Struct>
   <Generic_Type/>  [1]

End Choice
<xs:group name="type_group">
   <xs:choice>
      <xs:element name="Binary_Exp">
         <xs:complexType>
            <xs:group ref="type_group" minOccurs="2" maxOccurs="2"/>
            <xs:attribute name="op" type="xs:string" use="required" fixed="*"/>
         </xs:complexType>
      </xs:element>
      <xs:element name="Id">
         <xs:complexType>
            <xs:attribute name="value" type="xs:string" use="required"/>
         </xs:complexType>
      </xs:element>
      <xs:element name="Unary_Exp">
         <xs:complexType>
            <xs:group ref="type_group"/>
            <xs:attribute name="op" type="xs:string" use="required" fixed="POW"/>
         </xs:complexType>
      </xs:element>
      <xs:element name="Struct">
         <xs:complexType>
            <xs:sequence>
               <xs:element name="Record_Item" minOccurs="1" maxOccurs="unbounded">
                  <xs:complexType>
                     <xs:group ref="type_group"/>
                     <xs:attribute name="label" type="xs:string" use="required"/>
                  </xs:complexType>
               </xs:element>
            </xs:sequence>
         </xs:complexType>
      </xs:element>
      <xs:element name="Generic_Type">
         <xs:complexType/>
      </xs:element>
   </xs:choice>
</xs:group>

Simple Type: binary_exp_op

Super-types: xs:string < binary_exp_op (by restriction)
Sub-types: None
Name binary_exp_op
Content
  • Base XSD Type: string
  • value comes from list: {','|'*'|'*i'|'*r'|'*f'|'*s'|'**'|'**i'|'**r'|'+'|'+i'|'+r'|'+f'|'+->'|'+->>'|'-'|'-i'|'-r'|'-f'|'-s'|'-->'|'-->>'|'->'|'..'|'/'|'/i'|'/r'|'/f'|'/\'|'/|\'|';'|'<+'|'<->'|'<-'|'<<|'|'<|'|'>+>'|'>->'|'>+>>'|'>->>'|'><'|'||'|'\/'|'\|/'|'^'|'mod'|'|->'|'|>'|'|>>'|'['|'('|'<''|'prj1'|'prj2'|'iterate'|'const'|'rank'|'father'|'subtree'|'arity'}
<xs:simpleType name="binary_exp_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value=","/>
      <xs:enumeration value="*"/>
      <xs:enumeration value="*i"/>
      <xs:enumeration value="*r"/>
      <xs:enumeration value="*f"/>
      <xs:enumeration value="*s"/>
      <xs:enumeration value="**"/>
      <xs:enumeration value="**i"/>
      <xs:enumeration value="**r"/>
      <xs:enumeration value="+"/>
      <xs:enumeration value="+i"/>
      <xs:enumeration value="+r"/>
      <xs:enumeration value="+f"/>
      <xs:enumeration value="+->"/>
      <xs:enumeration value="+->>"/>
      <xs:enumeration value="-"/>
      <xs:enumeration value="-i"/>
      <xs:enumeration value="-r"/>
      <xs:enumeration value="-f"/>
      <xs:enumeration value="-s"/>
      <xs:enumeration value="-->"/>
      <xs:enumeration value="-->>"/>
      <xs:enumeration value="->"/>
      <xs:enumeration value=".."/>
      <xs:enumeration value="/"/>
      <xs:enumeration value="/i"/>
      <xs:enumeration value="/r"/>
      <xs:enumeration value="/f"/>
      <xs:enumeration value="/\"/>
      <xs:enumeration value="/|\"/>
      <xs:enumeration value=";"/>
      <xs:enumeration value="<+"/>
      <xs:enumeration value="<->"/>
      <xs:enumeration value="<-"/>
      <xs:enumeration value="<<|"/>
      <xs:enumeration value="<|"/>
      <xs:enumeration value=">+>"/>
      <xs:enumeration value=">->"/>
      <xs:enumeration value=">+>>"/>
      <xs:enumeration value=">->>"/>
      <xs:enumeration value="><"/>
      <xs:enumeration value="||"/>
      <xs:enumeration value="\/"/>
      <xs:enumeration value="\|/"/>
      <xs:enumeration value="^"/>
      <xs:enumeration value="mod"/>
      <xs:enumeration value="|->"/>
      <xs:enumeration value="|>"/>
      <xs:enumeration value="|>>"/>
      <xs:enumeration value="["/>
      <xs:enumeration value="("/>
      <xs:enumeration value="<'"/>
      <xs:enumeration value="prj1"/>
      <xs:enumeration value="prj2"/>
      <xs:enumeration value="iterate"/>
      <xs:enumeration value="const"/>
      <xs:enumeration value="rank"/>
      <xs:enumeration value="father"/>
      <xs:enumeration value="subtree"/>
      <xs:enumeration value="arity"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: binary_pred_op

Super-types: xs:string < binary_pred_op (by restriction)
Sub-types: None
Name binary_pred_op
Content
  • Base XSD Type: string
  • value comes from list: {'=>'|'<=>'}
<xs:simpleType name="binary_pred_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="=>"/>
      <xs:enumeration value="<=>"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: boolean_literal_type

Super-types: xs:string < boolean_literal_type (by restriction)
Sub-types: None
Name boolean_literal_type
Content
  • Base XSD Type: string
  • value comes from list: {'TRUE'|'FALSE'}
<xs:simpleType name="boolean_literal_type">
   <xs:restriction base="xs:string">
      <xs:enumeration value="TRUE"/>
      <xs:enumeration value="FALSE"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: comparison_op

Super-types: xs:string < comparison_op (by restriction)
Sub-types: None
Name comparison_op
Content
  • Base XSD Type: string
  • value comes from list: {':'|'/:'|'<:'|'/<:'|'<<:'|'/<<:'|'='|'/='|'>=i'|'>i'|'<i'|'<=i'|'>=r'|'>r'|'<r'|'<=r'|'>=f'|'>f'|'<f'|'<=f'}
<xs:simpleType name="comparison_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value=":"/>
      <xs:enumeration value="/:"/>
      <xs:enumeration value="<:"/>
      <xs:enumeration value="/<:"/>
      <xs:enumeration value="<<:"/>
      <xs:enumeration value="/<<:"/>
      <xs:enumeration value="="/>
      <xs:enumeration value="/="/>
<-- integer comparison -->      <xs:enumeration value=">=i"/>
      <xs:enumeration value=">i"/>
      <xs:enumeration value="<i"/>
      <xs:enumeration value="<=i"/>
<-- real comparison -->      <xs:enumeration value=">=r"/>
      <xs:enumeration value=">r"/>
      <xs:enumeration value="<r"/>
      <xs:enumeration value="<=r"/>
<-- float comparison -->      <xs:enumeration value=">=f"/>
      <xs:enumeration value=">f"/>
      <xs:enumeration value="<f"/>
      <xs:enumeration value="<=f"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: nary_exp_op

Super-types: xs:string < nary_exp_op (by restriction)
Sub-types: None
Name nary_exp_op
Content
  • Base XSD Type: string
  • value comes from list: {'['|'{'}
<xs:simpleType name="nary_exp_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="["/>
      <xs:enumeration value="{"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: nary_pred_op

Super-types: xs:string < nary_pred_op (by restriction)
Sub-types: None
Name nary_pred_op
Content
  • Base XSD Type: string
  • value comes from list: {'&'|'or'}
<xs:simpleType name="nary_pred_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="&"/>
      <xs:enumeration value="or"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: quantified_exp_op

Super-types: xs:string < quantified_exp_op (by restriction)
Sub-types: None
Name quantified_exp_op
Content
  • Base XSD Type: string
  • value comes from list: {'%'|'SIGMA'|'iSIGMA'|'rSIGMA'|'PI'|'iPI'|'rPI'|'INTER'|'UNION'}
<xs:simpleType name="quantified_exp_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="%"/>
      <xs:enumeration value="SIGMA"/>
      <xs:enumeration value="iSIGMA"/>
      <xs:enumeration value="rSIGMA"/>
      <xs:enumeration value="PI"/>
      <xs:enumeration value="iPI"/>
      <xs:enumeration value="rPI"/>
      <xs:enumeration value="INTER"/>
      <xs:enumeration value="UNION"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: quantified_pred_op

Super-types: xs:string < quantified_pred_op (by restriction)
Sub-types: None
Name quantified_pred_op
Content
  • Base XSD Type: string
  • value comes from list: {'!'|'#'}
<xs:simpleType name="quantified_pred_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="!"/>
      <xs:enumeration value="#"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: ternary_exp_op

Super-types: xs:string < ternary_exp_op (by restriction)
Sub-types: None
Name ternary_exp_op
Content
  • Base XSD Type: string
  • value comes from list: {'son'|'bin'}
<xs:simpleType name="ternary_exp_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="son"/>
      <xs:enumeration value="bin"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: unary_exp_op

Super-types: xs:string < unary_exp_op (by restriction)
Sub-types: None
Name unary_exp_op
Content
  • Base XSD Type: string
  • value comes from list: {'max'|'imax'|'rmax'|'min'|'imin'|'rmin'|'card'|'dom'|'ran'|'POW'|'POW1'|'FIN'|'FIN1'|'union'|'inter'|'seq'|'seq1'|'iseq'|'iseq1'|'-'|'-i'|'-r'|'~'|'size'|'perm'|'first'|'last'|'id'|'closure'|'closure1'|'tail'|'front'|'rev'|'conc'|'succ'|'pred'|'rel'|'fnc'|'real'|'floor'|'ceiling'|'tree'|'btree'|'top'|'sons'|'prefix'|'postfix'|'sizet'|'mirror'|'left'|'right'|'infix'|'bin'}
<xs:simpleType name="unary_exp_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="max"/>
      <xs:enumeration value="imax"/>
      <xs:enumeration value="rmax"/>
      <xs:enumeration value="min"/>
      <xs:enumeration value="imin"/>
      <xs:enumeration value="rmin"/>
      <xs:enumeration value="card"/>
      <xs:enumeration value="dom"/>
      <xs:enumeration value="ran"/>
      <xs:enumeration value="POW"/>
      <xs:enumeration value="POW1"/>
      <xs:enumeration value="FIN"/>
      <xs:enumeration value="FIN1"/>
      <xs:enumeration value="union"/>
      <xs:enumeration value="inter"/>
      <xs:enumeration value="seq"/>
      <xs:enumeration value="seq1"/>
      <xs:enumeration value="iseq"/>
      <xs:enumeration value="iseq1"/>
      <xs:enumeration value="-"/>
      <xs:enumeration value="-i"/>
      <xs:enumeration value="-r"/>
      <xs:enumeration value="~"/>
      <xs:enumeration value="size"/>
      <xs:enumeration value="perm"/>
      <xs:enumeration value="first"/>
      <xs:enumeration value="last"/>
      <xs:enumeration value="id"/>
      <xs:enumeration value="closure"/>
      <xs:enumeration value="closure1"/>
      <xs:enumeration value="tail"/>
      <xs:enumeration value="front"/>
      <xs:enumeration value="rev"/>
      <xs:enumeration value="conc"/>
      <xs:enumeration value="succ"/>
      <xs:enumeration value="pred"/>
      <xs:enumeration value="rel"/>
      <xs:enumeration value="fnc"/>
      <xs:enumeration value="real"/>
      <xs:enumeration value="floor"/>
      <xs:enumeration value="ceiling"/>
      <xs:enumeration value="tree"/>
      <xs:enumeration value="btree"/>
      <xs:enumeration value="top"/>
      <xs:enumeration value="sons"/>
      <xs:enumeration value="prefix"/>
      <xs:enumeration value="postfix"/>
      <xs:enumeration value="sizet"/>
      <xs:enumeration value="mirror"/>
      <xs:enumeration value="left"/>
      <xs:enumeration value="right"/>
      <xs:enumeration value="infix"/>
      <xs:enumeration value="bin"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: unary_pred_op

Super-types: xs:string < unary_pred_op (by restriction)
Sub-types: None
Name unary_pred_op
Content
  • Base XSD Type: string
  • value comes from list: {'not'}
<xs:simpleType name="unary_pred_op">
   <xs:restriction base="xs:string">
      <xs:enumeration value="not"/>
   </xs:restriction>
</xs:simpleType>

Simple Type: version_type

Super-types: xs:string < version_type (by restriction)
Sub-types: None
Name version_type
Content
  • Base XSD Type: string
  • value comes from list: {'1.0'}
<xs:simpleType name="version_type">
   <xs:restriction base="xs:string">
      <xs:enumeration value="1.0"/>
   </xs:restriction>
</xs:simpleType>

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.