<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema targetNamespace="http://docs.oasis-open.org/ws-tx/issues/Issues.xsd" xmlns:i="http://docs.oasis-open.org/ws-tx/issues/Issues.xsd"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="issues">
		<xs:annotation>
			<xs:documentation>An issues list for a particular deliverable, with an id and date.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="i:head" />
				<xs:element ref="i:issue" minOccurs="0" maxOccurs="unbounded" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="head">
		<xs:annotation>
			<xs:documentation>Issue list metadata</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="uri" type="xs:anyURI">
					<xs:annotation>
						<xs:documentation>A resolvable URI for the issues list.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="title" type="xs:string">
					<xs:annotation>
						<xs:documentation>The name of the issues list.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="date" type="xs:string">
					<xs:annotation>
						<xs:documentation>The date of the latest change to the issues list</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="revision" type="xs:string">
					<xs:annotation>
						<xs:documentation>The revision number of the issues list</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="protocols">
					<xs:annotation>
						<xs:documentation>
              Define the protocol specs with specific revisions issues can refer to.
            </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="protocol" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="revision" maxOccurs="unbounded">
											<xs:complexType>
												<xs:attribute name="artifact" type="xs:string" use="required" />
												<xs:attribute name="href" type="xs:anyURI" use="required" />
												<xs:attribute name="stage" use="required">
													<xs:simpleType>
														<xs:restriction base="xs:string">
															<xs:enumeration value="contrib" />
															<xs:enumeration value="ed" />
															<xs:enumeration value="wd" />
															<xs:enumeration value="cd" />
                              <xs:enumeration value="pr" />
															<xs:enumeration value="cs" />
															<xs:enumeration value="os" />
                              <xs:enumeration value="er" />
														</xs:restriction>
													</xs:simpleType>
												</xs:attribute>
												<xs:attribute name="date" type="xs:date" use="optional" />
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="name" type="xs:string" use="required" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="targets">
					<xs:annotation>
						<xs:documentation>
              Define the specification and part(s) issues can refer to, i.e. schema, wsdl, etc.
            </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="target" maxOccurs="unbounded" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="states">
					<xs:annotation>
						<xs:documentation>
              Define the states an issue can have in the status attribute. You can also assign an
              html color value for the detail listing using the color attribute.
            </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="state" maxOccurs="unbounded">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:string">
											<xs:attribute name="color" type="xs:string" use="optional" />
											<!--<xs:attribute name="type">
                                                <xs:simpleType>
                                                    <xs:restriction base="xs:string">
                            <xs:enumeration value="Open" />
                            <xs:enumeration value="Editor" />
														<xs:enumeration value="Pending" />
														<xs:enumeration value="Done" />
														<xs:enumeration value="Resolved" />
														<xs:enumeration value="Deferred" />
                            <xs:enumeration value="Closed" />
                                                    </xs:restriction>
                                                </xs:simpleType>
                                            </xs:attribute>-->
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="issue">
		<xs:annotation>
			<xs:documentation>
        An individual issue (of any kind). It must have a unique id and a
        recorded status.
      </xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="title" type="xs:string">
					<xs:annotation>
						<xs:documentation>A short name for the issue.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="description">
					<xs:annotation>
						<xs:documentation>
              A detailed description of the issue's nature using elements
              from XHTML 1.0 (www.w3.org/1999/xhtml).
            </xs:documentation>
					</xs:annotation>
					<xs:complexType mixed="true">
						<xs:sequence>
							<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"></xs:any>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="protocol" type="i:protocolType" maxOccurs="unbounded" />
				<xs:element name="target" minOccurs="1" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>
              Which parts of a specification the issue is refering to, i.e. schema, wsdl, etc.
              Use values defined in targets of issue list.
            </xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="type">
					<xs:annotation>
						<xs:documentation>The type of the issue (admin (action items), editorial or design)</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="admin" />
							<xs:enumeration value="editorial" />
							<xs:enumeration value="design" />
							<xs:enumeration value="" />
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="origin" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
              A record of the issue's origin, optionally including its
              date and a link to where it was raised (e.g., in the mail archive)
            </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="href" type="xs:anyURI" use="optional" />
								<xs:attribute name="date" type="xs:date" use="optional" />
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="owner" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
              The WG member(s) who drives the resolution issue and is
              responsible for summarizing its status to the WG.
            </xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:string">
								<xs:attribute name="href" type="xs:anyURI" use="optional" />
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="justification" minOccurs="0">
					<xs:annotation>
						<xs:documentation>
              Justification for the issue; e.g., a use case or
              architectural motivation using elements from XHTML 1.0
              (www.w3.org/1999/xhtml).
            </xs:documentation>
					</xs:annotation>
					<xs:complexType mixed="true">
						<xs:sequence>
							<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"></xs:any>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="proposal" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>
              Proposed solutions for the issue using elements from XHTML 1.0
              (www.w3.org/1999/xhtml).
            </xs:documentation>
					</xs:annotation>
					<xs:complexType mixed="true">
						<xs:sequence>
							<xs:element name="protocol" type="i:protocolType" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>
                    Specify the revision the resolution is against, must match a revision value from the
                    protocol list in the issue list metadata.
                  </xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"></xs:any>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="resolution" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>
              The final resolution of the issue; should be in
              specification text or nearly so. Use elements from XHTML 1.0
              (www.w3.org/1999/xhtml).
            </xs:documentation>
					</xs:annotation>
					<xs:complexType mixed="true">
						<xs:sequence>
							<xs:element name="protocol" type="i:protocolType" minOccurs="0" maxOccurs="unbounded">
								<xs:annotation>
									<xs:documentation>
                    Specify the revision the resolution is against, must match a revision value from the
                    protocol list in the issue list metadata.
                  </xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"></xs:any>
						</xs:sequence>
						<xs:attribute name="date" type="xs:date" use="optional" />
						<xs:attribute name="href" type="xs:anyURI" use="optional" />
					</xs:complexType>
				</xs:element>
				<xs:element name="relid" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Related issue</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="id" type="xs:ID" use="required" />
			<xs:attribute name="status" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>Use values defined via the state element in the issue list.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="edstatus" use="optional">
				<xs:annotation>
					<xs:documentation>Can use additional values than the ones defined via the state element in the issue list.</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="protocolType">
		<xs:annotation>
			<xs:documentation>
        Which specification and part(s) the issue is refering to, i.e. schema, wsdl, etc.
        Use values defined in targets of issue list.
      </xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="revision" type="xs:string" use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
</xs:schema>
