<commit_before><?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:include schemaLocation="protempa_common.xsd"/>
    <xs:element name="tableQueryResultsHandler">
        <xs:annotation>
            <xs:documentation>A description of how to transform a graph of propositions that are all associated with the same key ID to character-delimited records with a fixed and specified set of fields.
</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rowPropositionIDs">
                    <xs:annotation>
                        <xs:documentation>The proposition IDs that this contain are the names of propositions that may be in a graph that is passed to the enclosing tableQueryResultsHandler.  The tableQueryResultsHandler will output a row for each proposition it finds in the graph with the given name.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element maxOccurs="unbounded" name="propositionID"
                                type="propositionIdType">
                                <xs:annotation>
                                    <xs:documentation>The value of this element is a string that identifies a proposition in the ontology.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="tableColumnSpecs">
                    <xs:annotation>
                        <xs:documentation>Each of the elements that this element contains describes one or more fields in the output.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="atLeastNColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Counts the number of instances of a proposition found through the given links and outputs a true value if there are at least n occurrences of the named proposition; otherwise outputs a false value.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNameOverride">
                                        <xs:annotation>
                                            <xs:documentation>The column header to use.  If not specified, a default computed from the specified links is used.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="n" use="required">
                                        <xs:annotation>
                                            <xs:documentation>The value that is to be compared to the count of propositions found.  If the actual count of propositions is equal to or greater than this value, then a true value is output.</xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:int">
                                                <xs:minInclusive value="1"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                    <xs:attribute ref="trueOutput">
                                        <xs:annotation>
                                            <xs:documentation>The string to put in the field to represent a true output.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute ref="falseOutput">
                                        <xs:annotation>
                                            <xs:documentation>The string to put in the field to represent a false output.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="countColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Describes a column that contains a count of the instances of a proposition that are found through the given links.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNameOverride">
                                        <xs:annotation>
                                            <xs:documentation>The column header to use.  If not specified, a default computed from the specified links is used.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="countUnique" type="xs:boolean"
                                        use="required">
                                        <xs:annotation>
                                            <xs:documentation>If the value of this attribute is false, then the count produced for the described column will be the total number of propositions found through the given links.

If the value of this attribute is true, then the count produced for te described column sill be the number of distinct proposition IDs in the propositions found through the given links.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="distanceBetweenColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Outputs the temporal distance between propositions from finish to start using the specified unit of time.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute ref="unit"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="propositionColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Describes output columns for named properties of properties found through the given links.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="propertyNames">
                                            <xs:annotation>
                                                <xs:documentation>The names of proposition's properties that will have output columns.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element maxOccurs="unbounded"
                                                  name="propertyName" type="nameType"/>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="outputConfig">
                                            <xs:annotation>
                                                <xs:documentation>Specifies additional columns to be output related to propositions.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:attribute default="false" name="showId"
                                                  type="xs:boolean" use="optional">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition IDs.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showValue"
                                                  type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition values.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showDisplayName"
                                                  type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition display names.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false"
                                                  name="showAbbrevDisplayName" type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition abbreviated display names.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false"
                                                  name="showStartOrTimestamp" type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition start time or timestamp.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showFinish"
                                                  type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition finish time.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showLength"
                                                  type="xs:boolean">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition interval length.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="valueHeading"
                                                  type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show proposition value.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="displayNameHeading"
                                                  type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the display name column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default=""
                                                  name="abbrevDisplayNameHeading" type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the abbrev display name column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default=""
                                                  name="startOrTimestampHeading" type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the start time or timestamp column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="finishHeading"
                                                  type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the finish time column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="lengthHeading"
                                                  type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the length column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="valueOutputConfig">
                                            <xs:annotation>
                                                <xs:documentation>Specifies additional columns to output related to properties.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:attribute default="false"
                                                  name="showPropertyValueDisplayName"
                                                  type="xs:boolean" use="optional">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show propery value display name.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false"
                                                  name="showPropertyValueAbbrevDisplayName"
                                                  type="xs:boolean" use="optional">
                                                  <xs:annotation>
                                                  <xs:documentation>If true, output a column to show propery value abbreviated display name.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default=""
                                                  name="propertyValueDisplayName" type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the property value display name column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default=""
                                                  name="propertyValueAbbrevDisplayName"
                                                  type="xs:string">
                                                  <xs:annotation>
                                                  <xs:documentation>The string to use for the heading of the property value abbreviated display name column.</xs:documentation>
                                                  </xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute default="1" name="numInstances" type="xs:int">
                                        <xs:annotation>
                                            <xs:documentation>To accomodate multiple propositions with the same proposition ID, specify this attribute for multiple columns with the same name.  If this propositionColumnSpec would otherwise specify multiple columns with different names, specifying a value for this attribute will specify that many sets of the differently named columns.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="propositionValueColumnSpec">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute name="aggregationType" use="required">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:token">
                                                <xs:enumeration value="max"/>
                                                <xs:enumeration value="min"/>
                                                <xs:enumeration value="first"/>
                                                <xs:enumeration value="last"/>
                                                <xs:enumeration value="sum"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="columnDelimiter">
                <xs:annotation>
                    <xs:documentation>The character to use to separate fields in records of the output file.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:length value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="headerWritten" type="xs:boolean" use="prohibited">
                <xs:annotation>
                    <xs:documentation>This attribute represents a feature that may not be currently supported.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="links_type">
        <xs:sequence>
            <xs:element name="derivation">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="propositionIDs" type="propositionIDs_type"/>
                        <xs:element minOccurs="0" ref="propertyConstraints">
                            <xs:annotation>
                                <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing deriviation.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element minOccurs="0" name="allowedValues">
                            <xs:annotation>
                                <xs:documentation>Constrain the propositions found through the enclosing derivation to those having a value explicitly in one of this element's children.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:group ref="valueListGroup"/>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="relation">
                            <xs:annotation>
                                <xs:documentation>A representation of the temporal relationship between two intervals.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element minOccurs="0" name="minDistanceBetweenStarts"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the starts of intervals.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetweenStarts"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the starts of intervals.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minSpan" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the start of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxSpan" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the start of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minDistanceBetween"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the finish of interval 1 and the start of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetween"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the finish of interval 1 and the start of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minDistanceBetweenFinishes"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the finish of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetweenFinishes"
                                        type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the finish of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="behavior" use="required">
                        <xs:simpleType>
                            <xs:restriction base="xs:token">
                                <xs:enumeration value="singleForward"/>
                                <xs:enumeration value="singleBackward"/>
                                <xs:enumeration value="multForward"/>
                                <xs:enumeration value="multBackward"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute default="-1" name="fromIndex" type="xs:int"/>
                    <xs:attribute default="-1" name="toIndex" type="xs:int"/>
                    <xs:attribute ref="propositionComparator"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="reference">
                <xs:annotation>
                    <xs:documentation>Specifies reference traversals from one proposition to other propositions.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="referenceNames">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element maxOccurs="unbounded" name="referenceName"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element minOccurs="0" name="propositionIDs" type="propositionIDs_type"/>
                        <xs:element minOccurs="0" ref="propertyConstraints">
                            <xs:annotation>
                                <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing reference.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute default="-1" name="fromIndex" type="xs:int"/>
                    <xs:attribute default="-1" name="toIndex" type="xs:int"/>
                    <xs:attribute ref="propositionComparator"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="propertyConstraints">
        <xs:annotation>
            <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing deriviation or reference.</xs:documentation>
        </xs:annotation><commit_msg>Found a missing attribute and some wrong attribute types.<commit_after><?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:include schemaLocation="protempa_common.xsd"/>
    <xs:element name="tableQueryResultsHandler">
        <xs:annotation>
            <xs:documentation>A description of how to transform a graph of propositions that are all associated with the same key ID to character-delimited records with a fixed and specified set of fields.
</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rowPropositionIDs">
                    <xs:annotation>
                        <xs:documentation>The proposition IDs that this contain are the names of propositions that may be in a graph that is passed to the enclosing tableQueryResultsHandler.  The tableQueryResultsHandler will output a row for each proposition it finds in the graph with the given name.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element maxOccurs="unbounded" name="propositionID" type="propositionIdType">
                                <xs:annotation>
                                    <xs:documentation>The value of this element is a string that identifies a proposition in the ontology.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="tableColumnSpecs">
                    <xs:annotation>
                        <xs:documentation>Each of the elements that this element contains describes one or more fields in the output.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:choice maxOccurs="unbounded">
                            <xs:element name="atLeastNColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Counts the number of instances of a proposition found through the given links and outputs a true value if there are at least n occurrences of the named proposition; otherwise outputs a false value.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNameOverride">
                                        <xs:annotation>
                                            <xs:documentation>The column header to use.  If not specified, a default computed from the specified links is used.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="n" use="required">
                                        <xs:annotation>
                                            <xs:documentation>The value that is to be compared to the count of propositions found.  If the actual count of propositions is equal to or greater than this value, then a true value is output.</xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                            <xs:restriction base="xs:int">
                                                <xs:minInclusive value="1"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                    <xs:attribute ref="trueOutput">
                                        <xs:annotation>
                                            <xs:documentation>The string to put in the field to represent a true output.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute ref="falseOutput">
                                        <xs:annotation>
                                            <xs:documentation>The string to put in the field to represent a false output.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="countColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Describes a column that contains a count of the instances of a proposition that are found through the given links.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNameOverride">
                                        <xs:annotation>
                                            <xs:documentation>The column header to use.  If not specified, a default computed from the specified links is used.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                    <xs:attribute name="countUnique" type="xs:boolean" use="required">
                                        <xs:annotation>
                                            <xs:documentation>If the value of this attribute is false, then the count produced for the described column will be the total number of propositions found through the given links.

If the value of this attribute is true, then the count produced for te described column sill be the number of distinct proposition IDs in the propositions found through the given links.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="distanceBetweenColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Outputs the temporal distance between propositions from finish to start using the specified unit of time.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute ref="unit"/>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="propositionColumnSpec">
                                <xs:annotation>
                                    <xs:documentation>Describes output columns for named properties of properties found through the given links.</xs:documentation>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="propertyNames">
                                            <xs:annotation>
                                                <xs:documentation>The names of proposition's properties that will have output columns.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element maxOccurs="unbounded" name="propertyName" type="nameType"/>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="outputConfig">
                                            <xs:annotation>
                                                <xs:documentation>Specifies additional columns to be output related to propositions.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:attribute default="false" name="showId" type="xs:boolean" use="optional">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition IDs.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showValue" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition values.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showDisplayName" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition display names.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showAbbrevDisplayName" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition abbreviated display names.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showStartOrTimestamp" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition start time or timestamp.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showFinish" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition finish time.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showLength" type="xs:boolean">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show proposition interval length.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="idHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The heading to use for the id column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="valueHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The column heading to use for the value column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="displayNameHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the display name column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="abbrevDisplayNameHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the abbrev display name column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="startOrTimestampHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the start time or timestamp column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="finishHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the finish time column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="lengthHeading" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the length column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="valueOutputConfig">
                                            <xs:annotation>
                                                <xs:documentation>Specifies additional columns to output related to properties.</xs:documentation>
                                            </xs:annotation>
                                            <xs:complexType>
                                                <xs:attribute default="false" name="showPropertyValueDisplayName" type="xs:boolean" use="optional">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show propery value display name.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="false" name="showPropertyValueAbbrevDisplayName" type="xs:boolean" use="optional">
                                                    <xs:annotation>
                                                        <xs:documentation>If true, output a column to show propery value abbreviated display name.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="propertyValueDisplayName" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the property value display name column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                                <xs:attribute default="" name="propertyValueAbbrevDisplayName" type="xs:string">
                                                    <xs:annotation>
                                                        <xs:documentation>The string to use for the heading of the property value abbreviated display name column.</xs:documentation>
                                                    </xs:annotation>
                                                </xs:attribute>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element minOccurs="0" name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute default="1" name="numInstances" type="xs:int">
                                        <xs:annotation>
                                            <xs:documentation>To accomodate multiple propositions with the same proposition ID, specify this attribute for multiple columns with the same name.  If this propositionColumnSpec would otherwise specify multiple columns with different names, specifying a value for this attribute will specify that many sets of the differently named columns.</xs:documentation>
                                        </xs:annotation>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="propositionValueColumnSpec">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="links" type="links_type"/>
                                    </xs:sequence>
                                    <xs:attribute ref="columnNamePrefixOverride"/>
                                    <xs:attribute name="aggregationType" use="required">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:token">
                                                <xs:enumeration value="max"/>
                                                <xs:enumeration value="min"/>
                                                <xs:enumeration value="first"/>
                                                <xs:enumeration value="last"/>
                                                <xs:enumeration value="sum"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:attribute>
                                </xs:complexType>
                            </xs:element>
                        </xs:choice>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="columnDelimiter">
                <xs:annotation>
                    <xs:documentation>The character to use to separate fields in records of the output file.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:length value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>
            <xs:attribute name="headerWritten" type="xs:boolean" use="prohibited">
                <xs:annotation>
                    <xs:documentation>This attribute represents a feature that may not be currently supported.</xs:documentation>
                </xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="links_type">
        <xs:choice maxOccurs="unbounded">
            <xs:element name="derivation">
                <xs:annotation>
                    <xs:documentation>Specifies traversals from a proposition to/from a derived proposition.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="propositionIDs" type="propositionIDs_type"/>
                        <xs:element minOccurs="0" ref="propertyConstraints">
                            <xs:annotation>
                                <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing deriviation.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                        <xs:element minOccurs="0" name="allowedValues">
                            <xs:annotation>
                                <xs:documentation>Constrain the propositions found through the enclosing derivation to those having a value explicitly in one of this element's children.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:group ref="valueListGroup"/>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="relation">
                            <xs:annotation>
                                <xs:documentation>A representation of the temporal relationship between two intervals.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element minOccurs="0" name="minDistanceBetweenStarts" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the starts of intervals.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetweenStarts" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the starts of intervals.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minSpan" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the start of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxSpan" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the start of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minDistanceBetween" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the finish of interval 1 and the start of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetween" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the finish of interval 1 and the start of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="minDistanceBetweenFinishes" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The minimum distance between the finish of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element minOccurs="0" name="maxDistanceBetweenFinishes" type="durationType">
                                        <xs:annotation>
                                            <xs:documentation>The maximum distance between the finish of interval 1 and the finish of interval 2.</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="behavior" use="required">
                        <xs:simpleType>
                            <xs:restriction base="xs:token">
                                <xs:enumeration value="singleForward"/>
                                <xs:enumeration value="singleBackward"/>
                                <xs:enumeration value="multForward"/>
                                <xs:enumeration value="multBackward"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute default="-1" name="fromIndex" type="xs:int"/>
                    <xs:attribute default="-1" name="toIndex" type="xs:int"/>
                    <xs:attribute ref="propositionComparator"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="reference">
                <xs:annotation>
                    <xs:documentation>Specifies reference traversals from one proposition to other propositions.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="referenceNames">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element maxOccurs="unbounded" name="referenceName"/>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element minOccurs="0" name="propositionIDs" type="propositionIDs_type"/>
                        <xs:element minOccurs="0" ref="propertyConstraints">
                            <xs:annotation>
                                <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing reference.</xs:documentation>
                            </xs:annotation>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute default="-1" name="fromIndex" type="xs:int"/>
                    <xs:attribute default="-1" name="toIndex" type="xs:int"/>
                    <xs:attribute ref="propositionComparator"/>
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:element name="propertyConstraints">
        <xs:annotation>
            <xs:documentation>Contains one or more elements that use the values of proposition's properties to constrain which properties can be found through the enclosing deriviation or reference.</xs:documentation>
        </xs:annotation>
{'fraction_non_alphanumeric': 0.07430211409787922, 'fraction_numerical': 0.0014349835644324306, 'mean_word_length': 0.9047195296361036, 'pattern_counts': {'":': 0, '<': 867, '<?xml version=': 2, '>': 867, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 765, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5715485', 'n_tokens_mistral': 10348, 'n_tokens_neox': 9662, 'n_words': 2748}