HTML を処理する


Tags: R6RS, HTML, SXML, htmlprag

XML として妥当でない HTML の読み込みや、構文に誤りを含む HTML 文書を Tag:SXML に変換するライブラリとしては HtmlPrag がある。

これを使うと XML としては妥当でない HTML 文書(例えば、 http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-21.html など)を SXML に変換することができる。変換には html->sxml 手続きを使う。

(import (rnrs) (htmlprag))

(call-with-port (open-file-input-port "r6rs-lib-Z-H-21.html"
                                      (file-options)
                                      (buffer-mode block)
                                      (make-transcoder (latin-1-codec)))
  html->sxml)
; => (*TOP*
;      (*DECL*
;        DOCTYPE
;        html
;        PUBLIC
;        "-//W3C//DTD HTML 4.01 Transitional//EN"
;        "http://www.w3.org/TR/html4/loose.dtd")
;      "\n"
;      (html
;        "\n"
;        ...