<?xml version="1.0" encoding="ISO-8859-1"?>
<?dsd href="dsd2.dsd"?>
<!-- Change the above to reflect local conditions or reference
     the original at "http://www.brics.dk/DSD/dsd2.dsd" -->

<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!--

                            A DSD-2 Schema for Cocoon Sitemaps.

   To Do :
   ==========================================================================

   1. Lots, especially checking for bugs - it needs mileage :-)
      It also needs the Jakarta team to check it.

-->

<!DOCTYPE dsd:dsd [
   <!-- Used in annotation -->
   <!ENTITY lt       "&#38;#60;" >     <!-- less-than sign -->
   <!ENTITY gt       "&#62;" >         <!-- greater-than sign -->
   <!ENTITY dash     "&#x2010;" >      <!-- hyphen (true graphic) -->
   <!ENTITY ndash    "&#x2013;" >      <!-- en dash -->
   <!ENTITY mdash    "&#x2014;" >      <!-- em dash -->
   <!ENTITY ldquo    "&#x201c;" >      <!-- Left Double Quote -->
   <!ENTITY rdquo    "&#x201d;" >      <!-- Right Double Quote -->
   <!ENTITY lsquo    "&#x2018;" >      <!-- Left Single Quote -->
   <!ENTITY rsquo    "&#x2019;" >      <!-- Right Single Quote -->
   <!ENTITY bull     "&#x2022;" >      <!-- round bullet, filled -->
] >

<!-- The extra namespaces below are my local ones for the documentation -->
<dsd:dsd
   xmlns:dsd="http://www.brics.dk/DSD/2.0"
	xmlns:m="http://www.brics.dk/DSD/2.0/meta"
   xmlns:map="http://apache.org/cocoon/sitemap/1.0"
	xmlns:doc="http://russet.eris.qinetiq.com/Library/DSDs/doc"
	xmlns:link="http://russet.eris.qinetiq.com/Library/DSDs/link"
	xmlns:list="http://russet.eris.qinetiq.com/Library/DSDs/list"
	xmlns:copyright="http://russet.eris.qinetiq.com/Library/DSDs/copyright"
	xmlns:address="http://russet.eris.qinetiq.com/Library/DSDs/address"
	xmlns:postcode="http://russet.eris.qinetiq.com/Library/DSDs/postcode"
	xmlns:person="http://russet.eris.qinetiq.com/Library/DSDs/person"
	xmlns:t="http://russet.eris.qinetiq.com/Library/DSDs/text"
	xmlns:vers="http://russet.eris.qinetiq.com/Library/DSDs/vers"
	root="map:sitemap">

<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->

<m:doc>
	<doc:title>DSD for Cocoon Sitemaps</doc:title>
	<doc:desc>
      <t:p>This DSD-2 schema is designed to provide a complete definition (as far as
      information will allow) for the
      <link:link ref="http://xml.apache.org/cocoon/index.html" type="uri">Cocoon</link:link>
      sitemap.xmap files. It provides
      extensibility for additional tasks and addresses the problems met
      in previous schemas (DTD, XML Schema etc). The schema is made up of several
      other imported files (see below).</t:p>
      
      <t:p>The schema represents work in progress so any help here would be
      gratefully received. The whole thing is still fairly raw although it has
      correctly validated the main Cocoon sitemap.</t:p>
      
      <t:p>Any bug reports, help, suggestions, new task schemas etc to me,
      Hugh Field-Richards, at the Email below. I will include them as soon as
      vacations, weekends, work etc allow.</t:p>
      
      <t:p>If you need to extend the schema locally use the extension files
      to include your schemas. I have put in an example of
      the xmldb generator. This ought to be in the base system but I have put
      it there to illustrate how to extend the schemas.</t:p>
      
      <t:p>The documentation (not HTML) is designed to be processed by the dsd2-html.xsl
      pretty-printing processor available from the author.</t:p>
      
      <t:heading level="3">Important Note</t:heading>
      <t:p>All copyright, database rights and other intellectual property in this
      software is the property of QinetiQ limited.  The software is being released
      free of charge for use in accordance with the terms of open source
      initiative GNU General Public Licence.</t:p>
      
      <t:p>DISCLAIMER:  QinetiQ Ltd does not verify or warrant the accuracy,
      completeness or suitability of this software for any particular purpose.
      Any use of this software whatsoever is entirely at the user's own risk and
      QinetiQ Ltd accepts no liability in relation thereto.</t:p>

      <t:heading level="3">Note also</t:heading>
      <t:p>I suggest that you do not edit any of these schemas with anything other than an editor that respects comments
      and spacing. In particular do not edit with editors that reformat the output, I
      suspect that programs such as XMLSpy will strip all this. The ideal way to edit
      schemas is to do it manually and then use the DSD-2 validator. It is no great
      problem to do this and does have the side advantage that it forces you to think
      about the structure and the modularisation far more :-)</t:p>
      
   </doc:desc>
	<doc:versions>
    <vers:entry vers="0.00" day="25" month="April" year="2003" who="HSFR">Created</vers:entry>
    <vers:entry vers="0.10" day="13" month="May" year="2003" who="HSFR">Released version</vers:entry>
    <vers:entry vers="0.20" day="7" month="July" year="2004" who="HSFR">Added map:pipes, map:error. Small minor bug fixes</vers:entry>
  </doc:versions>
  <doc:authors>
    <person:person id="HSFR">
	    <person:forenames>
			  <list:list type="ordered">
			    <list:item><person:forename type="primary">Hugh</person:forename></list:item>
			    <list:item><person:forename>Sherwood</person:forename></list:item>
			  </list:list>
      </person:forenames>
		  <person:surname>Field-Richards</person:surname>
		  <person:email>h.field-richards@eris.qinetiq.gov.uk</person:email>
		  <person:address>
		    <address:address where="work">
		      <address:line numb="1">Room L313</address:line>
			   <address:line numb="2">QinetiQ</address:line>
			   <address:line numb="3">St Andrew's Road</address:line>
			   <address:town>Malvern</address:town>
			   <address:county>Worcs</address:county>
			   <address:country>United Kingdom</address:country>
			   <postcode:postcode>WR14 3PS</postcode:postcode>
			  </address:address>
		  </person:address>
    </person:person>
  </doc:authors>
  <doc:copyright>
    <copyright:who value="QinetiQ" />
    <copyright:date value="2003" />
    <copyright:leader value="Copyright" />
  </doc:copyright>
</m:doc>

<dsd:import href="map-common.dsd"/>
<dsd:import href="map-errors.dsd"/>
<dsd:import href="map-pipeline-extensions.dsd"/>
<dsd:import href="map-pipelines.dsd"/>
<dsd:import href="map-resources-extensions.dsd"/>
<dsd:import href="map-resources.dsd"/>
<dsd:import href="map-views-extensions.dsd"/>
<dsd:import href="map-views.dsd"/>
<dsd:import href="map-serializer-extensions.dsd"/>
<dsd:import href="map-serializers.dsd"/>
<dsd:import href="map-action-extensions.dsd"/>
<dsd:import href="map-actions.dsd"/>
<dsd:import href="map-reader-extensions.dsd"/>
<dsd:import href="map-readers.dsd"/>
<dsd:import href="map-selector-extensions.dsd"/>
<dsd:import href="map-selectors.dsd"/>
<dsd:import href="map-matcher-extensions.dsd"/>
<dsd:import href="map-matchers.dsd"/>
<dsd:import href="map-transformer-extensions.dsd"/>
<dsd:import href="map-transformers.dsd"/>
<dsd:import href="map-generator-extensions.dsd"/>
<dsd:import href="map-generators.dsd"/>
<dsd:import href="map-pipes.dsd"/>
<dsd:import href="map-components.dsd"/>

<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->
<!-- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* -->

<dsd:if><dsd:element name="map:sitemap" />
	<m:doc>
		<doc:desc>
         <t:heading level="2">Sitemap Root</t:heading>
		</doc:desc>
	</m:doc>
   <dsd:declare>
      <dsd:contents>
         <dsd:optional><dsd:element name="map:components" /></dsd:optional>
         <dsd:optional><dsd:element name="map:views" /></dsd:optional>
         <dsd:optional><dsd:element name="map:resources" /></dsd:optional>
         <dsd:optional><dsd:element name="map:action-sets" /></dsd:optional>
         <dsd:element name="map:pipelines" />
      </dsd:contents>
   </dsd:declare>
</dsd:if>

</dsd:dsd>



