Perform the following three XPath queries on the XML Document below:

 //item[1]: Retrieve the first "item" element 
 //price/text(): Perform an action on each "price" element (print it out)
 //name: Get an array of all the "name" elements
XML Document:

<inventory title="OmniCorp Store #45x10^3">
  <section name="health">
    <item upc="123456789" stock="12">
      <name>Invisibility Cream</name>
      <price>14.50</price>
      <description>Makes you invisible</description>
    </item>
    <item upc="445322344" stock="18">
      <name>Levitation Salve</name>
      <price>23.99</price>
      <description>Levitate yourself for up to 3 hours per application</description>
    </item>
  </section>
  <section name="food">
    <item upc="485672034" stock="653">
      <name>Blork and Freen Instameal</name>
      <price>4.95</price>
      <description>A tasty meal in a tablet; just add water</description>
    </item>
    <item upc="132957764" stock="44">
      <name>Grob winglets</name>
      <price>3.56</price>
      <description>Tender winglets of Grob. Just add water</description>
    </item>
  </section>
</inventory>

(dolist (system '(:xpath :cxml-stp :cxml))
  (asdf:oos 'asdf:load-op system))
 
(defparameter *doc* (cxml:parse-file "xml" (stp:make-builder)))
 
(xpath:first-node (xpath:evaluate "/inventory/section[1]/item[1]" *doc*))
 
(xpath:do-node-set (node (xpath:evaluate "/inventory/section/item/price/text()" *doc*))
  (format t "~A~%" (stp:data node)))
 
(defun node-array (node-set)
  (coerce (xpath:all-nodes node-set) 'vector))
 
(node-array
 (xpath:evaluate "/inventory/section/item/name" *doc*))