Changeset 15354 in project


Ignore:
Timestamp:
08/07/09 14:38:18 (10 years ago)
Author:
sjamaan
Message:

Add convenience procedures for folding many rules into an XML output

Location:
release/4/sxml-fu
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • release/4/sxml-fu/sxml-fu.meta

    r13430 r15354  
    22
    33((egg "sxml-fu.egg")
    4  (files "sxml-fu.setup" "sxml-pagination.scm" "sxml-fu.html")
     4 (files "sxml-fu.setup" "sxml-fu.html" "sxml-fu.scm"
     5        "sxml-pagination.scm" "sxml-shortcuts.scm")
    56 (synopsis "SXML transformations ruleset library")
    67 (needs sxml-transforms uri-common)
  • release/4/sxml-fu/sxml-fu.setup

    r14460 r15354  
     1(compile -s -O2 sxml-fu.scm -j sxml-fu)
     2(compile -s -O2 sxml-fu.import.scm)
     3
    14(compile -s -O2 sxml-pagination.scm -j sxml-pagination)
    25(compile -s -O2 sxml-pagination.import.scm)
     
    710(install-extension
    811  'sxml-fu
    9   '("sxml-pagination.so" "sxml-pagination.import.so"
     12  '("sxml-fu.so" "sxml-fu.import.so"
     13    "sxml-pagination.so" "sxml-pagination.import.so"
    1014    "sxml-shortcuts.so" "sxml-shortcuts.import.so")
    11   `((version 0.1)
     15  `((version 0.2)
    1216    (documentation "sxml-fu.html")))
  • release/4/sxml-fu/sxml-shortcuts.scm

    r12365 r15354  
    3333(import chicken scheme)
    3434
    35 (require-extension srfi-1)
     35(require-extension srfi-1 uri-common)
    3636
    3737(define shortcut-rules
    3838  `((url *macro* . ,(lambda (tag href . contents)
    39                       `(a (@ (href ,href))
    40                           ,@(if (not (null? contents))
    41                                 contents
    42                                 (list href)))))
     39                      (let ((href (if (uri-reference? href)
     40                                      (uri->string href)
     41                                      href)))
     42                       `(a (@ (href ,href))
     43                           ,@(if (not (null? contents))
     44                                 contents
     45                                 (list href))))))
    4346    (pic *macro* . ,(lambda (tag src alt . rest)
    44                       (let-optionals* rest ((title alt) more)
    45                                       `(img (@ ,@(append `((src ,src)
    46                                                            (alt ,alt)
    47                                                            (title ,title)
    48                                                            ,@more)))))))
     47                      (let ((src (if (uri-reference? src)
     48                                     (uri->string src)
     49                                     src)))
     50                        (let-optionals* rest ((title alt) more)
     51                                        `(img (@ ,@(append `((src ,src)
     52                                                             (alt ,alt)
     53                                                             (title ,title)
     54                                                             ,@more))))))))
    4955    (movie *macro* . ,(lambda (tag src title . rest)
    50                         `(object (@ (type "video/quicktime"))
    51                                  (param (@ (name "src") (value ,src)))
    52                                  (param (@ (name "controller") (value "true")))
    53                                  ,@rest
    54                                  ;; Fallback if no viewer
    55                                  (url ,src ,title))))
     56                        (let ((src (if (uri-reference? src)
     57                                      (uri->string src)
     58                                      src)))
     59                         `(object (@ (type "video/quicktime"))
     60                                  (param (@ (name "src") (value ,src)))
     61                                  (param (@ (name "controller") (value "true")))
     62                                  ,@rest
     63                                  ;; Fallback if no viewer
     64                                  (url ,src ,title)))))
    5665    (*text* . ,(lambda (tag str) str))
    5766    (*default* . ,(lambda x x)))))
Note: See TracChangeset for help on using the changeset viewer.