<?xml version="1.0" encoding="UTF-8"?>
<data_collection xmlns="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/Prog_Int/ICES" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/Prog_Int/ICES file:///c:/Anthony/International/Standards/GML/gml3.0/bricks_in_GML_3.xsd">
  <gml:description>A test application to convert XML Keeley Brick definitions to GML.  Note
  that I initially wanted to use the coverage.xsd schema, but had to settle for feature.xsd 
  because of validation problems.  The validators currently available cannot agree on whether 
  or not coverage.xsd is valid.  Given my limited knowledge of the schema specification, and 
  the complexities in the gml set of schemas, I cannot judge the validators for correctness.
  
  
  Anthony W. Isenor    -   February 2004</gml:description>
  <gml:name>Data set</gml:name>
  <gml:boundedBy>
    <gml:Envelope>
      <gml:description>Bounding box for collection.</gml:description>
      <gml:coordinates>45.0,-56.4 46.0,-56.4 46.0,-50.3 45.0,-50.3</gml:coordinates>
    </gml:Envelope>
  </gml:boundedBy>
  <!--  Here the individual metadata items are defined using a namelist at some established centre.
  The gml:name element uses a name from the namelist.  The gml:description element is used
  for the content.  For example, the "Agency" is "BIO".-->
  <gml:featureMembers>
    <additional_metadata>
      <gml:description>BIO</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">Agency</gml:name>
    </additional_metadata>
    <additional_metadata>
      <gml:description>1899</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">Institute Code</gml:name>
    </additional_metadata>
    <additional_metadata>
      <gml:description>2003-02-18Z</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">Date Created</gml:name>
    </additional_metadata>
    <additional_metadata>
      <gml:description>Shark Fishery</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">Project</gml:name>
    </additional_metadata>
    <additional_metadata>
      <gml:description>97025</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">Identifier</gml:name>
    </additional_metadata>
  </gml:featureMembers>
  <!--  Multiple ldates may be use to specify important dates.  Here, the gml:name element is again
  used to indicate a namelist where "Start" would be defined.  The timePosition element would
  contain the date corresponding to the content in the gml:name element.-->
  <ldate>
    <gml:description>Start date of the collection.</gml:description>
    <gml:name codeSpace="www.meds.ca/namelist">Start</gml:name>
    <gml:timePosition>2003-02-18Z</gml:timePosition>
  </ldate>
  <ldate>
    <gml:description>End date of the collection.</gml:description>
    <gml:name codeSpace="www.meds.ca/namelist">End</gml:name>
    <gml:timePosition>2003-03-18Z</gml:timePosition>
  </ldate>
  <!--  Here, dataset is used to describe the top level cruise information.  A bounding box must be defined
  for the cruise, as boundedBy element is mandatory.  boundedBy is the only mandatory element.-->
  <data_set>
    <gml:description>This is the cruise level of the Keeley Brick structure.</gml:description>
    <gml:name codeSpace="www.meds.ca/namelist">cruise</gml:name>
    <gml:boundedBy>
      <gml:Envelope>
        <gml:description>This is a bounding box for the cruise.</gml:description>
        <gml:name>97025</gml:name>
        <gml:coordinates>45.0,-56.4 46.0,-56.4 46.0,-55.3 45.0,-55.3</gml:coordinates>
      </gml:Envelope>
    </gml:boundedBy>
    <data_set>
      <!--The next level describes the station.-->
      <gml:description>This is the station level of the Keeley Brick structure.</gml:description>
      <gml:name codeSpace="www.meds.ca/namelist">station</gml:name>
      <gml:boundedBy>
        <gml:Envelope>
          <gml:description>This is the station position, but described as some general name: 
          e.g. Station Bravo, or Charlie.  In this case, the position could be the agreed
          position of the station.</gml:description>
          <gml:name>Station 35</gml:name>
          <gml:coordinates>42.7,-63.0</gml:coordinates>
        </gml:Envelope>
      </gml:boundedBy>
      <data_set>
        <!--Next, the processing history is included in the gml:description element.-->
        <gml:description>GF3 Name Checking and Code Formatting
          Name check performed
          Edit Cruise: Country_Institute_Code=1899 Organization=Clearwater Foods Cruise_Name=Shark Fishery Cruise_Number=96999
          Edit Instrument: Inst_Type=XBT Description=SOC BT/SV Processor
          Edit Event: Data_Type=XBT Event_Number=99 Initial_Latitude=42.9167 Initial_Longitude=-62.3333 End_Latitude=42.9167 End_Longitude=-62.3333 Start_Date_Time=10-MAR-1996 06:31:00.00 End_Date_Time=10-MAR-1996 06:31:00.00
          The code of Parameter `Sensor Depth below Sea Surface´ will be changed to: `DEPH_01´.
          Add_Parameter: A.Data.DEPH_01 = evalin(
          The code of Parameter `Sea Temperature´ will be changed to: `TEMP_01´.
          Add_Parameter: A.Data.TEMP_01 = evalin(
      
          GF3 Name Checking and Code Formatting
          Name check performed
          Edit Cruise: Country_Institute_Code=1899 Organization=Clearwater Foods Cruise_Name=Shark Fishery Cruise_Number=99999
          Edit Instrument: Inst_Type=XBT Description=SOC BT/SV Processor
          Edit Event: Data_Type=XBT Event_Number=240 Initial_Latitude=42.75 Initial_Longitude=-62.9167 End_Latitude=42.75 End_Longitude=-62.9167 Start_Date_Time=28-FEB-1999 09:02:00.00 End_Date_Time=28-FEB-1999 09:02:00.00

          GF3 Name Checking and Code Formatting
          Name check performed</gml:description>
        <gml:name>profile</gml:name>
        <gml:boundedBy>
          <gml:Envelope>
            <gml:description>This is the station position and the station number for 
                the start of actual data collection.  The position could be the actual 
                position, as opposed to the agreed position of the repeating station.</gml:description>
            <gml:name>240</gml:name>
            <gml:coordinates>42.75000,-62.91670</gml:coordinates>
          </gml:Envelope>
        </gml:boundedBy>
        <gml:featureMember>
          <additional_metadata>
            <gml:boundedBy>
              <gml:Envelope>
                <gml:description>This is the station position and the station number for 
                the END of actual data collection.  The position could be the actual 
                position, as opposed to the agreed position of the repeating station.</gml:description>
                <gml:name>240</gml:name>
                <gml:coordinates>42.75000,-62.91670</gml:coordinates>
              </gml:Envelope>
            </gml:boundedBy>
          </additional_metadata>
        </gml:featureMember>
        <data_point>
          <!--Some points to be made:
        - The timeStamp and resultOf are mandatory inside data_point.
        - The using element defines the independent parameters.  The resultOf then contains
             the independent parameter values.
        - This single using element could be used to define more than one 
             indepenedent parameter (e.g. xlink:title="LATD,LOND").  Then
             the point_value element could be a comma separated list.
             (e.g. <point_value>32.4,-45.6</point_value>)
        -->

          <gml:boundedBy>
            <gml:Envelope>
              <gml:description>min/max depth of profile</gml:description>
              <gml:name codeSpace="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/About_MEDS/standards/">min_depth</gml:name>
              <gml:name codeSpace="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/About_MEDS/standards/">max_depth</gml:name>
              <gml:coordinates>3.2400,589.8800</gml:coordinates>
            </gml:Envelope>
          </gml:boundedBy>

          <gml:timeStamp>
            <gml:TimeInstant>
              <gml:timePosition>1999-02-28T09:02:00</gml:timePosition>
            </gml:TimeInstant>
          </gml:timeStamp>
          <gml:using xlink:href="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/About_MEDS/standards/" xlink:title="DEPH">
            <instrument>
              <gml:description>SOC BT/SV Processor</gml:description>
              <gml:name>XBT</gml:name>
            </instrument>
          </gml:using>
          <gml:resultOf>
            <gml:Array>
              <gml:members>
                <point_value>3.24</point_value>
                <point_value>3.88</point_value>
              </gml:members>
            </gml:Array>
          </gml:resultOf>
          <!--There can be any number of dependent parameters.  Note that the parameter code 
          can be specified from some other source.-->
          <dependent_param xlink:href="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/About_MEDS/standards/" pt_code="TEMP">
            <gml:Array>
              <gml:members>
                <point_value>4.653</point_value>
                <point_value>4.482</point_value>
              </gml:members>
            </gml:Array>
          </dependent_param>
          <dependent_param xlink:href="http://www.meds-sdmm.dfo-mpo.gc.ca/meds/About_MEDS/standards/" pt_code="TEMP">
            <gml:Array>
              <gml:members>
                <point_value>4.653</point_value>
                <point_value>4.482</point_value>
              </gml:members>
            </gml:Array>
          </dependent_param>
        </data_point>
      </data_set>
    </data_set>
  </data_set>
</data_collection>
