Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2010-11-22

KMRCLを眺める(228) SGML-HEADER-STREAM

| 22:41 | KMRCLを眺める(228) SGML-HEADER-STREAM - わだばLisperになる を含むブックマーク はてなブックマーク - KMRCLを眺める(228) SGML-HEADER-STREAM - わだばLisperになる

今回はKMRCLのxml-utils.lispから、SGML-HEADER-STREAMです。

名前の通り、SGML系のヘッダを出力するのに使うようです。

定義は、

(defun sgml-header-stream (format stream &key entities (encoding "iso-8859-1") standalone (version "1.0")
                          top-element (availability "PUBLIC") registered organization (type "DTD")
                           label (language "EN") url)
  (when (in format :xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset :xml :docbook)
    (xml-declaration-stream stream :version version :encoding encoding :standalone standalone))
  (unless (eq :xml format)
    (doctype-format stream format :top-element top-element
                    :availability availability :registered registered
                    :organization organization :type type :label label :language language
                    :url url :entities entities))
  stream)

動作は、

(with-output-to-string (out)
  (kl::sgml-header-stream :xhtml10-transitional
                          out))
;=> "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>
;   <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml10/DTD/xhtml10-transitional.dtd\">
;   "

といったところ。

ふと気付いたのですが、どうも、一般的には、http://www.w3.org/TR/xhtml10/DTD/xhtml10-transitional.dtdじゃなくて、 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdのようなんですが、定義が古かったりするんでしょうか。

ゲスト



トラックバック - http://cadr.g.hatena.ne.jp/g000001/20101122