                          :PeriodCycleDurationValue)])])
 
     [:Platforms
-     (for [plat (select c "/Platforms")]
+     (for [plat (:Platforms c)]
        [:Platform
         (elements-from plat
                        :ShortName
                        :LongName
                        :Type)
         [:Characteristics
-         (for [cc (select plat "Characteristics")]
+         (for [cc (:Characteristics plat)]
            (characteristic-mapping cc))]
         [:Instruments
-         (for [inst (select plat "Instruments")]
+         (for [inst (:Instruments plat)]
            [:Instrument
             (elements-from inst
                            :ShortName

(ns cmr.umm-spec.umm-to-xml-mappings.new-echo10
  "Defines mappings from a UMM record into ECHO10 XML"
  (:require [cmr.umm-spec.xml.gen :refer :all]
            [cmr.umm-spec.simple-xpath :refer [select value-at]]))

(defn characteristic-mapping
  [data]

  [c]
  (xml
   [:Collection
    [:ShortName (:EntryId c)]
    [:VersionId (:Version c)]
    [:InsertTime "1999-12-31T19:00:00-05:00"]
    [:LastUpdate "1999-12-31T19:00:00-05:00"]
    [:LongName "dummy-long-name"]
    [:DataSetId (:EntryTitle c)]
    [:Description (:Abstract c)]
    [:CollectionDataType (:CollectionDataType c)]
    [:Orderable "true"]
    [:Visible "true"]
    [:SuggestedUsage (:Purpose c)]
    [:ProcessingLevelId (-> c :ProcessingLevel :Id)]
    [:ProcessingLevelDescription (-> c :ProcessingLevel :ProcessingLevelDescription)]
    [:CollectionState (:CollectionProgress c)]
    [:RestrictionFlag (-> c :AccessConstraints :Value)]
    [:RestrictionComment (-> c :AccessConstraints :Description)]
    [:TemporalKeywords
     (for [kw (:TemporalKeywords c)]
       [:Keyword kw])]
    ;; We're assuming there is only one TemporalExtent for now. Issue CMR-1933 has been opened to
    ;; address questions about temporal mappings.
    (when-let [temporal (first (:TemporalExtents c))]
      [:Temporal
       (elements-from temporal
                      :TemporalRangeType
                      :PrecisionOfSeconds
                      :EndsAtPresentFlag)

       (for [r (:RangeDateTimes temporal)]
         [:RangeDateTime (elements-from r :BeginningDateTime :EndingDateTime)])
       
       (for [date (:SingleDateTimes temporal)]
         [:SingleDateTime (str date)])

       (for [pdt (:PeriodicDateTimes temporal)]
         [:PeriodicDateTime
          (elements-from pdt
                         :Name
