<?xml version="1.0" encoding="UTF-8"?>
<!--W3C Schema generated by XMLSPY v2004 rel. 4 U (http://www.xmlspy.com)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xdb="http://xmlns.oracle.com/xdb">
 <xs:element name="document" xdb:defaultTable="CMS_DOCS"
             xdb:maintainDOM="false">
  <xs:complexType xdb:SQLType="document" xdb:maintainDOM="true">
   <xs:sequence>
    <xs:element name="header" type="headerType" xdb:SQLName="header"/>
    <xs:element name="body" type="bodyType" xdb:SQLType="CLOB"
                xdb:SQLName="body"/>
    <xs:element name="footer" type="footerType" minOccurs="0" maxOccurs="1"
                xdb:SQLName="footer"/>
   </xs:sequence>
   <xs:attribute name="id" type="xs:ID"/>
   <xs:attribute name="lang" type="xs:NMTOKEN"/>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="headerType" xdb:SQLType="headerType"
                 xdb:maintainDOM="false">
  <xs:sequence>
   <xs:element name="title" type="titleType" minOccurs="0" maxOccurs="1"
               xdb:SQLName="title" xdb:SQLType="VARCHAR2"/>
   <xs:element name="subtitle" type="subtitleType" minOccurs="0" maxOccurs="1"
               xdb:SQLName="subtitle" xdb:SQLType="VARCHAR2"/>
   <xs:element name="version" type="versionType" minOccurs="0" maxOccurs="1"
               xdb:SQLName="version"/>
   <xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"
               xdb:SQLName="type" xdb:SQLType="VARCHAR2"/>
   <xs:element name="authors" type="authorsType" minOccurs="0" maxOccurs="1"
               xdb:SQLCollType="authors" xdb:SQLName="authors"/>
   <xs:element name="notice" type="noticeType" minOccurs="0"
               maxOccurs="unbounded" xdb:SQLName="notice"
               xdb:SQLType="VARCHAR2"/>
   <xs:element name="abstract" type="abstractType" minOccurs="0" maxOccurs="1"
               xdb:SQLName="abstract" xdb:SQLType="VARCHAR2"/>
   <xs:element name="meta" type="metaType" minOccurs="0" maxOccurs="unbounded"
               xdb:SQLCollType="metaList" xdb:SQLName="meta"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="authorsType" xdb:SQLType="authorsType">
  <xs:sequence>
   <xs:element name="person" type="personType" minOccurs="1"
               maxOccurs="unbounded" xdb:SQLCollType="personList"
               xdb:SQLName="person" xdb:maintainDOM="false"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="personType" xdb:SQLType="personType">
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
  <xs:attribute name="name" type="xs:string" use="required"/>
  <xs:attribute name="email" type="xs:string" use="required"/>
 </xs:complexType>
 <xs:complexType name="subtitleType" mixed="true" xdb:SQLType="VARCHAR2"
                 xdb:maintainDOM="true">
  <xs:sequence>
   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="titleType" mixed="true" xdb:SQLType="VARCHAR2"
                 xdb:maintainDOM="true">
  <xs:sequence>
   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="noticeType" mixed="true" xdb:SQLType="VARCHAR2"
                 xdb:maintainDOM="true">
  <xs:sequence>
   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="abstractType" mixed="true" xdb:SQLType="VARCHAR2"
                 xdb:maintainDOM="true">
  <xs:sequence>
   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="bodyType" xdb:SQLType="CLOB" xdb:maintainDOM="true">
  <xs:sequence>
   <xs:any minOccurs="1" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="footerType" xdb:SQLType="footerType"
                 xdb:maintainDOM="false">
  <xs:sequence>
   <xs:element name="legal" type="legalType" xdb:SQLName="legal"
               xdb:SQLType="VARCHAR2"/>
  </xs:sequence>
 </xs:complexType>
 <xs:complexType name="legalType" mixed="true"
                 xdb:SQLType="legalType">
  <xs:sequence>
   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
  <xs:attribute name="lang" type="xs:NMTOKEN"/>
 </xs:complexType>
 <xs:complexType name="metaType" xdb:SQLType="metaType">
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute name="name" type="xs:NMTOKEN" use="required"/>
    <xs:attribute name="id" type="xs:ID"/>
    <xs:attribute name="lang" type="xs:NMTOKEN"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="versionType" mixed="true" xdb:SQLType="versionType">
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute name="id" type="xs:ID"/>
    <xs:attribute name="lang" type="xs:NMTOKEN"/>
    <xs:attribute name="major" type="xs:string"/>
    <xs:attribute name="minor" type="xs:string"/>
    <xs:attribute name="fix" type="xs:string"/>
    <xs:attribute name="tag" type="xs:string"/>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
</xs:schema>

