<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="XMLPretty.xsl" ?>
<!--Sample CEA definitions-->
<ri:VOResources xmlns:ri="http://www.ivoa.org/xml/ResourceSet/v1.0" 
   xmlns:va="http://www.ivoa.net/xml/VOApplication/v1.0rc1"
   xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0"
   xmlns:cea="http://www.ivoa.net/xml/CEA/v1.0rc1"
   xmlns:ceab="http://www.ivoa.net/xml/CEA/base/v1.0rc2"
   xmlns:vs="http://www.ivoa.net/xml/VODataService/v1.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.ivoa.org/xml/ResourceSet/v1.0 ResourceSet-v1.0.xsd">
   <!-- note that a CEAService does not exist in the 1.0 model - the identification of a CEC is made by 
      finding a service that has a capability of xsi:type="cea:CeaCapability"
      it is in that capability definition that the managed applications are found.
   -->
   <ri:Resource status="active" updated="2005-09-09T12:28:16"
      xsi:type="vr:Service" created="2005-09-09T12:28:16">
      <title>JBO CEA Commandline 1</title>
      <shortName>CEACommandline</shortName>
      <identifier>ivo://org.astrogrid/JBORealCEC</identifier>
      <curation>
         <publisher>Astrogrid</publisher>
         <creator>
            <name>Astrogrid</name>
            <logo>??</logo>
         </creator>
         <date role="representative">2004-03-26</date>
         <version>1.1-000a</version>
         <contact>
            <name>Kona Andrews</name>
            <email>kea@ast.cam.ac.uk</email>
         </contact>
      </curation>
      <content>
         <subject>???</subject>
         <description>This is part of the astrogrid CEA.</description>
         <referenceURL>
            http://www.astrogrid.org/maven/docs/head/applications/
         </referenceURL>
         <type>Other</type>
      </content>
      <!-- note that this Capability is what identifies this service as a CEA service -->
       <capability xsi:type="cea:CeaCapability" standardID="ivo://ivoa.std/CEA">
       <!-- this is the SOAP CEC interface -->
        <interface role="std" xsi:type="cea:CECInterface"
            version="1.0">
            <accessURL>
               http://astrogrid.jb.man.ac.uk:8080/astrogrid-cea-commandline/services/CommonExecutionConnectorService
            </accessURL>
          </interface>
          <!-- this is the new UWS-PA REST interface -->
         <interface role="std" xsi:type="cea:UWS-PA"
            version="1.0">
            <accessURL>
               http://astrogrid.jb.man.ac.uk:8080/astrogrid-cea-commandline/uws-pa
            </accessURL>
          </interface>
          
           <managedApplications>
               <applicationReference>
                  ivo://org.astrogrid/Galaxev
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/Pegase
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/SExtractor
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/BPZ
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/annz
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/HyperZ
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/CrossMatcher
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/swarp
               </applicationReference>
               <applicationReference>
                  ivo://org.astrogrid/Starburst99
               </applicationReference>
            </managedApplications>
      </capability>
   </ri:Resource>
   <!-- this sextractor example is taken from a real service that has been offered by Astrogrid for more than 2 years. -->
   <ri:Resource xsi:type="cea:CeaApplication"
      created="2005-09-09T12:28:16" updated="2005-09-09T12:28:16" status="active">
      <title>SExtractor</title>
      <shortName>SExtractor</shortName>
      <identifier>ivo://org.astrogrid/SExtractor</identifier>
      <curation>
         <publisher>Astrogrid</publisher>
         <creator>
            <name>Astrogrid</name>
            <logo>??</logo>
         </creator>
         <date role="representative">2004-03-26</date>
         <version>1.0</version>
         <contact>
            <name>Paul Harrison</name>
            <email>pah@jb.man.ac.uk</email>
         </contact>
      </curation>
      <content>
         <subject>???</subject>
         <description>
            SExtractor is a program that builds a catalogue of objects
            from an astronomical image. Although it is particularly
            oriented towards reduction of large scale galaxy-survey
            data, it performs rather well on moderately crowded star
            fields.
         </description>
         <referenceURL>
            http://terapix.iap.fr/cplt/oldSite/soft/sextractor/
         </referenceURL>
         <type>Other</type>
      </content>
      <applicationDefinition>
         <!-- this application defintion has many changed element names - they now conform to the element names used in the BaseParam type of the VODataService, as they derive from that type... -->
         <parameters>
            <!-- note that the Parameter defintion element is used as substitution point at the moement... so is in its own namespace -->
            <parameterDefinition id="CATALOG_NAME"
               type="VOTable">
               <name>Derived output catalogue</name>
               <description>
                  The catalogue of images derived from the input images
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="GAIN" type="real">
               <name>Gain</name>
               <description>detector gain in e-/ADU</description>
               <ucd />
               <defaultValue>0.0</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="MASK_TYPE" type="text">
               <name>Mask type</name>
               <description>
                  type of detection MASKing: can be one of
                  &amp;quot;NONE&amp;quot;, &amp;quot;BLANK&amp;quot; or
                  &amp;quot;CORRECT&amp;quot;
               </description>
               <ucd />
               <defaultValue>CORRECT</defaultValue>
               <optionList>
                  <optionVal>NONE</optionVal>
                  <optionVal>BLANK</optionVal>
                  <optionVal>CORRECT</optionVal>
               </optionList>
            </parameterDefinition>
            <parameterDefinition id="CLEAN" type="boolean">
               <name>Clean?</name>
               <description>
                  Clean spurious detections? (Y or N)?
               </description>
               <ucd />
               <defaultValue>Y</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="FILTER" type="boolean">
               <name>use filter</name>
               <description>apply filter for detection</description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="FILTER_NAME" type="text">
               <name>detection filter</name>
               <description>
                  the convolution filter (you can use the standard
                  sextractor filters simply by naming them here)
               </description>
               <ucd />
               <defaultValue>default.conv</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="MAG_ZEROPOINT" type="real">
               <name>magnitude zero-point</name>
               <description>magnitude zero-point</description>
               <ucd />
               <defaultValue>0.0</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="BACKPHOTO_TYPE" type="text">
               <name />
               <description />
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="MAG_GAMMA" type="real">
               <name>MAG_GAMMA</name>
               <description>
                  gamma of emulsion (for photographic scans)
               </description>
               <ucd />
               <defaultValue>4.0</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="CHECKIMAGE_NAME"
               type="FITS">
               <name>Checkimage name</name>
               <description>file containing the checkimage</description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="PIXEL_SCALE" type="real">
               <name>Pixel scale</name>
               <description>
                  size of pixel in arcsec (0=use FITS WCS info)
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="FLAG_IMAGE" type="FITS">
               <name>flag image</name>
               <description />
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="BACK_SIZE" type="text">
               <name>backgroud mesh size</name>
               <description />
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="IMAGE_BAND" type="text">
               <name>Input image band</name>
               <description>
                  The input image measuerment band. This is used to form
                  the column name in the output VOTable for the measured
                  photometry.
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="BACK_FILTERSIZE"
               type="text">
               <name>background filter size</name>
               <description />
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="PHOT_AUTOPARAMS"
               type="text">
               <name>Photometry params</name>
               <description>
                  MAG_AUTO parameters:
                  &amp;lt;Kron_fact&amp;gt;,&amp;gt;min_radius&amp;gt;
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="DETECT_TYPE" type="text">
               <name>detection type</name>
               <description />
               <ucd />
               <defaultValue>CCD</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="PARAMETERS_NAME"
               type="binary">
               <name>Parameter File</name>
               <description>
                  A File containing the list of catalogue paramters that
                  should be computed
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="config_file" type="binary">
               <name>Configuration File</name>
               <description>
                  File containing the main configuration parameters for
                  SExtractor
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="SEEING_FWHM" type="real">
               <name>Seeing</name>
               <description>stellar FWHM in arcsec</description>
               <ucd />
               <defaultValue>1.2</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="DETECT_THRESH" type="real">
               <name>Detection Threshold</name>
               <description>
                  sigmas or threshold,ZP in mag.arcsec-2
               </description>
               <ucd />
               <defaultValue>1.5</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="DETECT_MINAREA"
               type="integer">
               <name>minimum detection area</name>
               <description>
                  minimum number of pixels above threshold
               </description>
               <ucd />
               <defaultValue>5</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="DEBLEND_NTHRESH "
               type="integer">
               <name>Deblend thresholds</name>
               <description>
                  Number of deblending sub-thresholds
               </description>
               <ucd />
               <defaultValue>32</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="CLEAN_PARAM" type="real">
               <name>Cleaning efficiency</name>
               <description>Cleaning Efficiency</description>
               <ucd />
               <defaultValue>1.0</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="STARNNW_NAME" type="binary">
               <name>neural net file</name>
               <description>
                  Neural-Network_Weight table filename
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="DetectionImage"
               type="binary">
               <name>Detection Image</name>
               <description>
                  The image that is used to detect sources. Basic
                  position, shape and size informtaion is derived from
                  this image
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="DEBLEND_MINCONT"
               type="real">
               <name>de-blend contrast</name>
               <description>
                  Minimum contrast parameter for deblending
               </description>
               <ucd />
               <defaultValue>0.005</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="PhotoImage" type="binary">
               <name>Measurement Image</name>
               <description>
                  The Image that is used to measure photometric
                  parameters
               </description>
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="CHECKIMAGE_TYPE"
               type="text">
               <name>Check image</name>
               <description />
               <ucd />
               <defaultValue />
            </parameterDefinition>
            <parameterDefinition id="ANALYSIS_THRESH"
               type="real">
               <name>Analysis Threshold</name>
               <description>
                  sigmas or threshold,ZP in mag.arcsec-2
               </description>
               <ucd />
               <defaultValue>1.5</defaultValue>
            </parameterDefinition>
            <parameterDefinition id="PHOT_APERTURES"
               type="integer">
               <name>Photometry apertures</name>
               <description>
                  MAG_APER aperture diameter(s) in pixels
               </description>
               <ucd />
               <defaultValue>5</defaultValue>
            </parameterDefinition>
         </parameters>
         <interfaces>
            <interfaceDefinition id="qa">
               <input>
                  <pref maxOccurs="1" minOccurs="1"
                     ref="DetectionImage" />
                  <pref maxOccurs="1" minOccurs="1" ref="PhotoImage" />
                  <pref maxOccurs="1" minOccurs="1" ref="config_file" />
                  <pref maxOccurs="1" minOccurs="1"
                     ref="PARAMETERS_NAME" />
                  <pref maxOccurs="1" minOccurs="0" ref="FILTER_NAME" />
                  <pref maxOccurs="1" minOccurs="0"
                     ref="ANALYSIS_THRESH" />
                  <pref maxOccurs="1" minOccurs="0" ref="MAG_ZEROPOINT" />
                  <pref maxOccurs="1" minOccurs="0" ref="SEEING_FWHM" />
                  <pref maxOccurs="1" minOccurs="1" ref="IMAGE_BAND" />
               </input>
               <output>
                  <pref maxOccurs="1" minOccurs="1" ref="CATALOG_NAME" />
               </output>
            </interfaceDefinition>
            <interfaceDefinition id="simple">
               <input>
                  <pref maxOccurs="1" minOccurs="1"
                     ref="DetectionImage" />
                  <pref maxOccurs="1" minOccurs="1" ref="PhotoImage" />
                  <pref maxOccurs="1" minOccurs="1" ref="config_file" />
                  <pref maxOccurs="1" minOccurs="1"
                     ref="PARAMETERS_NAME" />
                  <pref maxOccurs="1" minOccurs="0" ref="FILTER_NAME" />
                  <pref maxOccurs="1" minOccurs="0"
                     ref="ANALYSIS_THRESH" />
                  <pref maxOccurs="1" minOccurs="1" ref="IMAGE_BAND" />
               </input>
               <output>
                  <pref maxOccurs="1" minOccurs="1" ref="CATALOG_NAME" />
               </output>
            </interfaceDefinition>
         </interfaces>
      </applicationDefinition>
   </ri:Resource>
   <!-- this is a declaration of a fictious application to test out some of the new features to the 1.0 version -->
   <ri:Resource xsi:type="cea:CeaApplication"
      created="2005-09-09T12:28:16" updated="2005-09-09T12:28:16" status="active">
      <title>Fictitious</title>
      <shortName>Fictitious</shortName>
      <identifier>ivo://org.test/fictitious</identifier>
      <curation>
         <publisher>IVOA</publisher>
         <creator>
            <name>IVOA</name>
            <logo>??</logo>
         </creator>
         <date role="representative">2006-09-03</date>
         <version>1.0</version>
         <contact>
            <name>Paul Harrison</name>
            <email>pharriso@eso.org</email>
         </contact>
      </curation>
      <content>
         <subject>???</subject>
         <description>
            This is an example entry to exercise some of the new
            features
         </description>
         <referenceURL>http://test.org/fictitious</referenceURL>
         <type>Other</type>
      </content>
      <applicationDefinition>
         <parameters>
            <parameterDefinition id="targets" type="VOTable">
               <name>Target votable</name>
               <description>
                  The VOTable file containing the target sources
               </description>
            </parameterDefinition>
            <parameterDefinition id="matches" type="VOTable">
               <name>Match VOTable</name>
               <description>
                  The VOTable file containing the sources to match
               </description>
            </parameterDefinition>
            <parameterDefinition id="merged_output"
               type="VOTable">
               <name>Resulting VOTable</name>
               <description>
                  The VOTable file containing result of the match
               </description>
            </parameterDefinition>
            <parameterDefinition id="unmerged_output"
               type="VOTable">
               <name>Resulting VOTable</name>
               <description>
                  The VOTable file containing sources without a match
               </description>
            </parameterDefinition>
            <parameterDefinition id="matchRadius" type="real">
               <name>Match Radius</name>
               <description>??</description>
               <unit>arcsec</unit>
            </parameterDefinition>
            <parameterDefinition id="radMax" type="real">
               <name>Maximum search radius</name>
               <description>??</description>
               <unit>arcsec</unit>
               <defaultValue>20.0</defaultValue>
               <range><max>300.0</max></range>
            </parameterDefinition>
            <parameterDefinition id="output" type="text">
               <name>output type</name>
               <description>
                  This can be one of HTML VOTable of Ascii, with the
                  default being VOTable
               </description>
               <defaultValue>VOTable</defaultValue>
               <optionList>
                  <optionVal>HTML</optionVal>
                  <optionVal>VOTable</optionVal>
                  <optionVal>Ascii</optionVal>
               </optionList>
            </parameterDefinition>
            <parameterDefinition id="maxMatches" type="integer">
               <name>maximum number of matches per target</name>
               <description>
                  maximum number of matches per target
               </description>
            </parameterDefinition>
            <parameterDefinition id="array" type="integer" array="3">
               <name>sample array parameter</name>
               <description>
                  sample array parameter
               </description>
            </parameterDefinition>
            <parameterDefinition id="htmlversion" type="text">
            <name>html version</name>
            <description>The style of html to produce</description>
            <optionList>
            <optionVal>html 4.01</optionVal>
            <optionVal>xhtml 1.0</optionVal>
            </optionList>
            </parameterDefinition>
            <parameterDefinition id="votableserialization" type="text">
                        <name>VOTable serialization</name>
            <description>The style of serialization of the table data to produce</description>
            <optionList>
            <optionVal>TABLEDATA</optionVal>
            <optionVal>FITS</optionVal>
            <optionVal>BINARY</optionVal>
            </optionList>
            </parameterDefinition>
            
         </parameters>
         <interfaces>
            <interfaceDefinition id="simple">
               <input>
                  <pref ref="targets" maxOccurs="1" />
                  <pref ref="matches" maxOccurs="0" />
               </input>
               <output>
                  <pref ref="merged_output" />
               </output>
            </interfaceDefinition>
            <interfaceDefinition id="full">
               <constants>
                  <!-- this is a constant parameter it should not be displayed to the user (or at leaset the user should not be allowed to change it), but should be passed on to the application -->
                  <pval id="output">
                     <value>HTML</value>
                  </pval>
               </constants>
               <input>
                  <pref ref="targets" maxOccurs="1" />
                  <pref ref="matches" maxOccurs="0" />
                  <pref ref="matchRadius" minOccurs="0" />
                  <pref ref="radMax" minOccurs="0" />
               </input>
               <output>
                  <pref ref="merged_output" />
               </output>
            </interfaceDefinition>
            <!-- this is a trial of some of the new features -->
            <interfaceDefinition id="trialnewfeatures">
               <input>
               <!-- render repeating pgroup as table -->
                  <pgroup maxOccurs="6" name="sources">
                     <pref ref="targets" />
                     <pref ref="matches" />
                  </pgroup>
                  <!-- render single pgroup "in a box" with heading -->
                  <pgroup name="search parameters">
                     <pref ref="matchRadius" />
                     <pref ref="radMax" />
                  </pgroup>
                  <!-- this means that the output parameter should be prompted for and then either the htmlversion parameter or the votableserialization parameter dependent on what the user chooses -->
                  <cgroupHead ref="output" >
                     <cgroup name="html options">
                        <value>html</value>
                        <pref ref="htmlversion" />
                     </cgroup>
                     <cgroup name="votable options">
                        <value>VOTABLE</value>
                        <pref ref="votableserialization" />
                     </cgroup>
                  </cgroupHead>
               </input>
               <!-- no output should be legal - though possibly stupid! -->
               <output />
            </interfaceDefinition>
            <interfaceDefinition id="trialnesting">
               <input>
                  <pgroup>
                     <pref ref="matchRadius" />
                     <pref ref="radMax" />
                  </pgroup>
                  <cgroupHead ref="output">
                     <cgroup>
                        <value>html</value>
                        <pref ref="targets" />
                     </cgroup>
                     <cgroup>
                        <value>VOTABLE</value>
                        <pgroup   maxOccurs="2" name="sources">
                           <pref ref="targets" />
                           <pref ref="matches" />
                        </pgroup>
                     </cgroup>
                  </cgroupHead>
               </input>
               <!-- there can be more than one output -->
               <output>
                  <pref ref="merged_output" />
                  <pref ref="unmerged_output" />
               </output>
            </interfaceDefinition>
         </interfaces>
      </applicationDefinition>
   </ri:Resource>
   <ri:Resource xsi:type="cea:CeaApplicationExtension"
      created="2005-09-09T12:28:16" updated="2005-09-09T12:28:16" status="active">
      <title>Fictitious extended</title>
      <shortName>Fictitious ext</shortName>
      <identifier>ivo://org.test/fictitiousExtended</identifier>
      <curation>
         <publisher>IVOA</publisher>
         <creator>
            <name>IVOA</name>
            <logo>??</logo>
         </creator>
         <date role="representative">2006-09-03</date>
         <version>1.0</version>
         <contact>
            <name>Paul Harrison</name>
            <email>pharriso@eso.org</email>
         </contact>
      </curation>
      <content>
         <subject>???</subject>
         <description>
            This is an example entry to exercise some of the new
            features
         </description>
         <referenceURL>http://test.org/fictitious</referenceURL>
         <type>Other</type>
      </content>
      <applicationDefinitionExtension extends="ivo://org.test/fictitious">
         <parameters>
         <!--  this resource entry has the parameter below in addition to the parameters possible for  ivo://org.test/fictitious application-->
                    <parameterDefinition id="newpar" type="text">
               <name>additional mode</name>
               <description>
                  additional parameter for testing
               </description>
            </parameterDefinition>
         
         </parameters>   
         <interfaces>
         <!-- this interface is in addition to those for ivo://org.test/fictitious and is allowed to use the existing parameter definitions as well as the  -->
            <interfaceDefinition id="addional">
               <input>
                  <pref ref="targets" maxOccurs="1" />
                  <pref ref="matches" maxOccurs="0" />
                  <pref ref="newpar" maxOccurs="1" />
               </input>
               <output>
                  <pref ref="merged_output" />
               </output>
            </interfaceDefinition>
          </interfaces>
      </applicationDefinitionExtension>
   </ri:Resource>
</ri:VOResources>

