<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
            elementFormDefault="qualified">
            
    <xs:complexType name="content">
        <xs:choice maxOccurs="unbounded">
            <xs:element ref="p"/>
            <xs:element ref="image"/>
            <xs:element ref="ul"/>
            <xs:element ref="ol"/>
            <xs:element ref="pre"/>
            <xs:element ref="table"/>
            <xs:element ref="h1" />
            <xs:element ref="h2" />
            <xs:element ref="h3" />
            <xs:element ref="h4" />
            <xs:element ref="h5" />
            <xs:element ref="h6" />
            <xs:element ref="a" />
            <xs:element ref="codelisting" />
            <xs:element ref="caption" />
         </xs:choice>
    </xs:complexType>
            
    <xs:element name="body" type="content" />
    
	<xs:element name="author" type="xs:string"/>
	<xs:element name="b" type="xs:string"/>
	<xs:element name="creation-date" type="xs:string"/>
    <xs:element name="target-runtime" type="xs:string"/>
    <xs:element name="development-environment" type="xs:string"/>
	<xs:element name="description" type="xs:string" />
    <xs:element name="keywords" type="xs:string" />
	<xs:element name="height" type="xs:short"/>
	<xs:element name="i" type="xs:string"/>
	
	
	
	<xs:element name="image">
		<xs:complexType>
			<xs:all>
				<xs:element ref="height"/>
				<xs:element ref="width"/>
			</xs:all>
			<xs:attribute name="href" type="xs:string" use="required"/>
			<xs:attribute name="title" type="xs:string" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="article">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="title"/>
				<xs:element ref="short-title"/>
				<xs:element ref="creation-date"/>
				<xs:element ref="revision-date" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="version"/>
				<xs:element ref="author"/>
				<xs:element ref="organization"/>
				<xs:element ref="description"/>
				<xs:element ref="prereqs" minOccurs="0"/>
                <xs:element ref="keywords"/>
				<xs:element ref="body" />
				<xs:element ref="see-also" minOccurs="0" />
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	
	<xs:element name="li">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="i"/>
				<xs:element ref="b"/>
				<xs:element ref="p"/>
				<xs:element ref="pre"/>
				<xs:element ref="a" />
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="organization" type="xs:string"/>
	<xs:element name="p">
		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="i"/>
				<xs:element ref="b"/>
				<xs:element ref="ol"/>
				<xs:element ref="ul"/>
				<xs:element ref="a"/>
			</xs:choice>
		</xs:complexType>
	</xs:element>
	<xs:element name="pre" type="xs:string"/>
	<xs:element name="revision-date" type="xs:string"/>
	<xs:element name="short-title" type="xs:string"/>
    
	<xs:element name="ul">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="li" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
    
	<xs:element name="ol">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="li" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
    
	<xs:element name="version" type="xs:string"/>
	<xs:element name="width" type="xs:short"/>
    
    <xs:element name="td">
    		<xs:complexType mixed="true">
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="i"/>
				<xs:element ref="b"/>
			</xs:choice>
		</xs:complexType>
    </xs:element>

    <xs:element name="tr">
      <xs:complexType>
        <xs:sequence>
          <xs:element ref="td" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>
    
    <xs:element name="th">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:string">
            <xs:attribute name="width" type="xs:string"/>
            <xs:attribute name="color" type="xs:string"/>
            <xs:attribute name="background-color" type="xs:string"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
        
    <xs:element name="table">
      <xs:complexType>
        <xs:sequence>
          <xs:element ref="th" minOccurs="0" maxOccurs="unbounded" />
          <xs:element ref="tr" minOccurs="1" maxOccurs="unbounded" />
        </xs:sequence>
        <xs:attribute name="border" type="xs:boolean" />
      </xs:complexType>
    </xs:element>
        
    <xs:element name="caption" type="xs:string"/>    
        
    <xs:element name="title" type="xs:string"/>
    
    <xs:element name="h1" type="xs:string"/>
    <xs:element name="h2" type="xs:string"/>
    <xs:element name="h3" type="xs:string"/>
    <xs:element name="h4" type="xs:string"/>
    <xs:element name="h5" type="xs:string"/>
    <xs:element name="h6" type="xs:string"/>

    <xs:element name="codelisting">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:string">
            <xs:attribute name="language" type="xs:string"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>

    
    <xs:element name="a">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:string">
            <xs:attribute name="href" type="xs:string"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
    
    <xs:element name="see-also">
      <xs:complexType>
        <xs:choice maxOccurs="unbounded">
          <xs:element ref="ul" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
        
    <xs:element name="prereqs">
      <xs:complexType>
        <xs:choice maxOccurs="unbounded">
          <xs:element ref="ul" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
</xs:schema>
