<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	    targetNamespace="http://www.wa5znu.org/2006/04/xdif/" 
	    xmlns:xdif="http://www.wa5znu.org/2006/04/xdif/"
	    elementFormDefault="qualified">
  
  <xsd:complexType name="qslstatus">
    <xsd:sequence>
      <xsd:choice minOccurs="0" maxOccurs="1">
	
	<!-- QSL sent status and date (none, sent, requested, queued, ignore, invalid) -->
	<xsd:element name="status">
	  <xsd:complexType>
	    <xsd:sequence>
	      <xsd:choice minOccurs="0" maxOccurs="unbounded">
		<xsd:element name="sent" type="xsd:date" />
		<xsd:element name="requested" type="xsd:date" />
		<xsd:element name="queued" type="xsd:date" />
		<xsd:element name="ignore" type="xsd:date" />
		<xsd:element name="invalid" type="xsd:date" />
	      </xsd:choice>
	    </xsd:sequence>
	  </xsd:complexType>
	</xsd:element>
	  
	  
	<!-- Means by which the QSL should be sent to the contacted station  -->
	<xsd:element name="via">
	  <xsd:complexType>
	    <xsd:choice>
	      <xsd:element name="bureau" type="xsd:string" />
	      <xsd:element name="direct">
		<xsd:complexType />
	      </xsd:element>
	      <xsd:element name="electronic" type="xsd:anyURI" />
	      <xsd:element name="homecall" type="xdif:callsign" />
	      <xsd:element name="manager" type="xdif:callsign" />
	    </xsd:choice>
	  </xsd:complexType>
	</xsd:element>
      </xsd:choice>
    </xsd:sequence>
  </xsd:complexType>
  
  <xsd:element name="qsl">
    <xsd:complexType>
      <xsd:sequence>
	<xsd:choice>
	  
	  <!-- QSL card message -->
	  <xsd:element name="qslmsg"  minOccurs="0" maxOccurs="1">
	    <xsd:complexType>
	      <xsd:simpleContent>
		<xsd:extension base="xdif:multiLineString">
		  <!-- Allow foreign attributes -->
		  <xsd:anyAttribute namespace="##other"/>
		</xsd:extension>
	      </xsd:simpleContent>
	    </xsd:complexType>
	  </xsd:element>
	  
	  <xsd:element name="tx" type="xdif:qslstatus" minOccurs="0" maxOccurs="1"/>
	  <xsd:element name="rx" type="xdif:qslstatus" minOccurs="0" maxOccurs="1"/>
	  <xsd:element name="swl" type="xdif:qslstatus" minOccurs="0" maxOccurs="1"/>	  

	</xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  
</xsd:schema>

