フレーバーに対応してみました☆
フレーバーに対応しなくちゃ RSS も作れない (笑)
- http://jknaoya.s311.xrea.com/bloscheme/bloscheme.cgi/index.rdf
- http://jknaoya.s311.xrea.com/bloscheme/bloscheme.cgi/test02.rdf
Blosxom みたいな処理の仕方だと、個別エントリの RDF も生成してくれるのが好き(=´∇`=)
RDF/XML をどう生成したらいいかわからなかったので、結局 text.html-lite を拡張するようにしてみましたヽ(  ̄д ̄;)ノ ほとんどコピペ (笑)
(select-module text.html-lite) (define-macro (define-elements prefix . elements) (define (make-scheme-name name) (string->symbol (format #f "~a:~a" prefix name))) (let loop ((elements elements) (r '())) (cond ((null? elements) `(begin ,@(reverse r))) ((and (pair? (cdr elements)) (eqv? (cadr elements) :empty)) (loop (cddr elements) (list* `(define ,(make-scheme-name (car elements)) (make-html-element ',(make-scheme-name (car elements)) :empty? #t)) `(export ,(make-scheme-name (car elements))) r))) (else (loop (cdr elements) (list* `(define ,(make-scheme-name (car elements)) (make-html-element ',(make-scheme-name (car elements)))) `(export ,(make-scheme-name (car elements))) r)))) )) (define-elements rdf RDF Seq Alt Bag li) (define-elements rss channel items item title link description) (define-elements content encoded) (define-elements dc creator date title description) (define-elements admin generatorAgent) (select-module user)