]> table page multi-column query expression (element xref (map-constructor (let ((x (current-node))) (lambda() (process-xref x))) (element-with-id (attribute-string "REFID")))) (define (process-xref xref-node) (if (match-element? 'chapter (current-node)) (with-mode xref (process-node-list (current-node))) (sosofo-append (literal "Figure " (format-number (element-number) "1")) (general-indirect-sosofo page-ref-if-different (page-number first-area-of-node: (current-node)) (page-number first-area-of-node: xref-node))))) (define (page-ref-if-different figure-page current-page) (if (equal? figure-page current-page) (empty-sosofo) (literal ", page " (format-number figure-page "1"))))