XML文章内のデータをソート:plexippus xpath - lisp-cookbook-ja/common-lisp GitHub Wiki

抜き出した結果に、sortのkeyにstp:string-value 等を渡したものをかければソートできるでしょう

ライブラリの導入方法

(ql:quickload :xpath)

XML文章構築

(defparameter *doc*
  (cxml:parse
   "
<a xmlns='http://tips.lisp-users.org/common-lisp'>
  <b name='おそ松'>1</b>
  <b name='トド松'>6</b>
  <b name='チョロ松'>3</b>
  <b name='一松'>4</b>
  <b name='カラ松'>2</b>
  <b name='十四松'>5</b>
</a>
"
   (stp:make-builder)))
(xpath:with-namespaces (("x" (stp:namespace-uri (stp:document-element *doc*))))
  (let ((elts (xpath:all-nodes (xpath:evaluate "//x:b" *doc*))))
    (dolist (e (cl:sort elts #'<
                        :key (lambda (x) (parse-integer (stp:string-value x)))))
      (format t
              "~A: ~A~%"
              (stp:string-value e) (stp:attribute-value e "name")))))
;->  1: おそ松
;    2: カラ松
;    3: チョロ松
;    4: 一松
;    5: 十四松
;    6: トド松
;
;=>  NIL