<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="TextWithCodeType" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="code" type="xs:string"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="FileListType">
<xs:sequence>
<xs:element name="ralph-file" type="TextWithCodeType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="ExcludedFileReasonType">
<xs:restriction base="xs:string">
<xs:enumeration value="internal-ignore"/>
<xs:enumeration value="not-task-related"/>
<xs:enumeration value="sensitive"/>
<xs:enumeration value="deferred"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ExcludedFileEntryType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="reason" type="ExcludedFileReasonType" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="ExcludedFileListType">
<xs:sequence>
<xs:element name="ralph-excluded-file" type="ExcludedFileEntryType"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ralph-commit">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="ralph-subject" type="TextWithCodeType"/>
<xs:choice minOccurs="0">
<xs:sequence>
<xs:choice minOccurs="0">
<xs:element name="ralph-body" type="TextWithCodeType"/>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="3">
<xs:element name="ralph-body-summary" type="TextWithCodeType"/>
<xs:element name="ralph-body-details" type="TextWithCodeType"/>
<xs:element name="ralph-body-footer" type="TextWithCodeType"/>
</xs:choice>
</xs:sequence>
</xs:choice>
<xs:choice minOccurs="0" maxOccurs="2">
<xs:element name="ralph-files" type="FileListType"/>
<xs:element name="ralph-excluded-files" type="ExcludedFileListType"/>
</xs:choice>
</xs:sequence>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="2">
<xs:element name="ralph-files" type="FileListType"/>
<xs:element name="ralph-excluded-files" type="ExcludedFileListType"/>
</xs:choice>
<xs:choice minOccurs="0">
<xs:element name="ralph-body" type="TextWithCodeType"/>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="3">
<xs:element name="ralph-body-summary" type="TextWithCodeType"/>
<xs:element name="ralph-body-details" type="TextWithCodeType"/>
<xs:element name="ralph-body-footer" type="TextWithCodeType"/>
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:sequence>
<xs:element name="ralph-skip" type="TextWithCodeType"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>