Schema
clix.xsd


schema location:  http://www.clixml.org/clix/1.0/clix.xml
targetNamespace:  http://www.clixml.org/clix/1.0
 
Elements  Groups  Complex types 
and  formulaGroup  BinaryOperatorType 
equal  BinaryPredicateType 
exists  QuantifierType 
forall 
greater 
greaterOrEqual 
header 
iff 
implies 
less 
lessOrEqual 
macroDefinitions 
not 
notEqual 
operator 
or 
rules 
same 


element and
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryOperatorType
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
source
<xs:element name="and" type="BinaryOperatorType"/>

element equal
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
op1  xs:string  required      
op2  xs:string  required      
source
<xs:element name="equal" type="BinaryPredicateType"/>

element exists
diagram
namespace http://www.clixml.org/clix/1.0
type QuantifierType
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
var  xs:string  required      
in  xs:string  required      
source
<xs:element name="exists" type="QuantifierType"/>

element forall
diagram
namespace http://www.clixml.org/clix/1.0
type QuantifierType
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
var  xs:string  required      
in  xs:string  required      
source
<xs:element name="forall" type="QuantifierType"/>

element greater
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
op1  xs:string  required      
op2  xs:string  required      
source
<xs:element name="greater" type="BinaryPredicateType"/>

element greaterOrEqual
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
op1  xs:string  required      
op2  xs:string  required      
source
<xs:element name="greaterOrEqual" type="BinaryPredicateType"/>

element header
diagram
namespace http://www.clixml.org/clix/1.0
children author description comment
used by
elements macroDefinitions/macro macroDefinitions rules/rule
annotation
documentation 
Documentation elements and metadata information about CLiX artefacts.
source
<xs:element name="header">
  <xs:annotation>
    <xs:documentation>Documentation elements and metadata information about CLiX artefacts.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="author" type="xs:string">
          <xs:annotation>
            <xs:documentation>The author of the artefact to which this header is attached.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="description">
          <xs:annotation>
            <xs:documentation>A description of the artefact to which this header is attached. Any XHTML element may occur within the description.</xs:documentation>
          </xs:annotation>
          <xs:complexType mixed="true">
            <xs:sequence>
              <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="comment" type="xs:string">
          <xs:annotation>
            <xs:documentation>A comment about the status of the element to which the header is attached.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:any processContents="skip">
          <xs:annotation>
            <xs:documentation>Any element may occur. This can be used to build additional metadata structures.</xs:documentation>
          </xs:annotation>
        </xs:any>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>
</xs:element>

element header/author
diagram
namespace http://www.clixml.org/clix/1.0
type xs:string
annotation
documentation 
The author of the artefact to which this header is attached.
source
<xs:element name="author" type="xs:string">
  <xs:annotation>
    <xs:documentation>The author of the artefact to which this header is attached.</xs:documentation>
  </xs:annotation>
</xs:element>

element header/description
diagram
namespace http://www.clixml.org/clix/1.0
annotation
documentation 
A description of the artefact to which this header is attached. Any XHTML element may occur within the description.
source
<xs:element name="description">
  <xs:annotation>
    <xs:documentation>A description of the artefact to which this header is attached. Any XHTML element may occur within the description.</xs:documentation>
  </xs:annotation>
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

element header/comment
diagram
namespace http://www.clixml.org/clix/1.0
type xs:string
annotation
documentation 
A comment about the status of the element to which the header is attached.
source
<xs:element name="comment" type="xs:string">
  <xs:annotation>
    <xs:documentation>A comment about the status of the element to which the header is attached.</xs:documentation>
  </xs:annotation>
</xs:element>

element iff
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryOperatorType
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
source
<xs:element name="iff" type="BinaryOperatorType"/>

element implies
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryOperatorType
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
source
<xs:element name="implies" type="BinaryOperatorType"/>

element less
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
op1  xs:string  required      
op2  xs:string  required      
source
<xs:element name="less" type="BinaryPredicateType"/>

element lessOrEqual
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name  Type  Use  Default  Fixed  Annotation
op1  xs:string  required      
op2  xs:string  required      
source
<xs:element name="lessOrEqual" type="BinaryPredicateType"/>

element macroDefinitions
diagram
namespace http://www.clixml.org/clix/1.0
children header macro
identity constraints
  Name  Refer  Selector  Field(s)  
unique  macroNameUnique    clix:macro  @name  
annotation
documentation 
Root element for macro definitions files. A list of macros that can be applied over rule files to expand rules that contain macro invocations.
source
<xs:element name="macroDefinitions">
  <xs:annotation>
    <xs:documentation>Root element for macro definitions files. A list of macros that can be applied over rule files to expand rules that contain macro invocations.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element ref="header" minOccurs="0"/>
      <xs:element name="macro" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A macro definition</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="param" minOccurs="0" maxOccurs="unbounded">
              <xs:annotation>
                <xs:documentation>A named parameter</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:attribute name="name" type="xs:string" use="required"/>
              </xs:complexType>
            </xs:element>
            <xs:element ref="header" minOccurs="0"/>
            <xs:element name="output">
              <xs:annotation>
                <xs:documentation>A parametric formula that can be expanded and inserted into rules</xs:documentation>
              </xs:annotation>
              <xs:complexType>
                <xs:group ref="formulaGroup"/>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="name" type="xs:ID" use="required"/>
        </xs:complexType>
        <xs:unique name="paramUnique">
          <xs:selector xpath="clix:param"/>
          <xs:field xpath="@name"/>
        </xs:unique>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:unique name="macroNameUnique">
    <xs:selector xpath="clix:macro"/>
    <xs:field xpath="@name"/>
  </xs:unique>
</xs:element>

element macroDefinitions/macro
diagram
namespace http://www.clixml.org/clix/1.0
children param header output
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:ID  required      
identity constraints
  Name  Refer  Selector  Field(s)  
unique  paramUnique    clix:param  @name  
annotation
documentation 
A macro definition
source
<xs:element name="macro" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>A macro definition</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:sequence>
      <xs:element name="param" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>A named parameter</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="name" type="xs:string" use="required"/>
        </xs:complexType>
      </xs:element>
      <xs:element ref="header" minOccurs="0"/>
      <xs:element name="output">
        <xs:annotation>
          <xs:documentation>A parametric formula that can be expanded and inserted into rules</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="formulaGroup"/>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="name" type="xs:ID" use="required"/>
  </xs:complexType>
  <xs:unique name="paramUnique">
    <xs:selector xpath="clix:param"/>
    <xs:field xpath="@name"/>
  </xs:unique>
</xs:element>

element macroDefinitions/macro/param
diagram
namespace http://www.clixml.org/clix/1.0
attributes
Name  Type  Use  Default  Fixed  Annotation
name  xs:string  required      
annotation
documentation 
A named parameter
source
<xs:element name="param" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>A named parameter</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:attribute name="name" type="xs:string" use="required"/>
  </xs:complexType>
</xs:element>

element macroDefinitions/macro/output
diagram
namespace http://www.clixml.org/clix/1.0
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
annotation
documentation 
A parametric formula that can be expanded and inserted into rules
source
<xs:element name="output">
  <xs:annotation>
    <xs:documentation>A parametric formula that can be expanded and inserted into rules</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:group ref="formulaGroup"/>
  </xs:complexType>
</xs:element>

element not
diagram
namespace http://www.clixml.org/clix/1.0
children forall exists equal notEqual same less greater lessOrEqual greaterOrEqual and or implies iff not operator
used by
group formulaGroup
source
<xs:element name="not">
  <xs:complexType>
    <xs:group ref="formulaGroup"/>
  </xs:complexType>
</xs:element>

element notEqual
diagram
namespace http://www.clixml.org/clix/1.0
type BinaryPredicateType
used by
group formulaGroup
attributes
Name