<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="contentModel" type="contentModel"/>

  <xs:element name="error" type="apiError"/>

  <xs:element name="response" type="contentModelResponse"/>

  <xs:complexType name="contentModelResponse">
    <xs:complexContent>
      <xs:extension base="abstractApiResponse">
        <xs:sequence>
          <xs:element name="result" type="contentModelResponseResult"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="abstractApiResponse" abstract="true">
    <xs:sequence>
      <xs:element name="errors" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="error" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="contentModelResponseResult">
    <xs:complexContent>
      <xs:extension base="abstractApiResponseResult">
        <xs:sequence>
          <xs:element ref="contentModel" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="abstractApiResponseResult" abstract="true">
    <xs:sequence>
      <xs:element name="html" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="contentModel">
    <xs:sequence>
      <xs:element name="id" type="xs:long"/>
      <xs:element name="contentType" type="xs:string"/>
      <xs:element name="description" type="xs:string"/>
      <xs:element name="shape" type="xs:string"/>
      <xs:element name="stylesheet" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="apiError">
    <xs:sequence>
      <xs:element name="code" type="xs:string" minOccurs="0"/>
      <xs:element name="message" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

